codeceptjs 4.0.0-rc.18 → 4.0.0-rc.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/codecept.js +5 -1
- package/bin/codeceptq.js +49 -0
- package/bin/mcp-server.js +250 -82
- package/docs/advanced.md +201 -0
- package/docs/agents.md +159 -0
- package/docs/ai.md +537 -0
- package/docs/aitrace.md +266 -0
- package/docs/api.md +332 -0
- package/docs/assertions.md +415 -0
- package/docs/auth.md +318 -0
- package/docs/basics.md +424 -0
- package/docs/bdd.md +539 -0
- package/docs/best.md +240 -0
- package/docs/bootstrap.md +132 -0
- package/docs/commands.md +352 -0
- package/docs/community-helpers.md +63 -0
- package/docs/configuration.md +230 -0
- package/docs/continuous-integration.md +497 -0
- package/docs/custom-helpers.md +297 -0
- package/docs/data.md +448 -0
- package/docs/debugging.md +332 -0
- package/docs/detox.md +235 -0
- package/docs/docker.md +136 -0
- package/docs/effects.md +179 -0
- package/docs/element-based-testing.md +295 -0
- package/docs/element-selection.md +125 -0
- package/docs/els.md +328 -0
- package/docs/examples.md +161 -0
- package/docs/heal.md +213 -0
- package/docs/helpers/ApiDataFactory.md +267 -0
- package/docs/helpers/Appium.md +1405 -0
- package/docs/helpers/Detox.md +665 -0
- package/docs/helpers/ExpectHelper.md +275 -0
- package/docs/helpers/FileSystem.md +152 -0
- package/docs/helpers/GraphQL.md +152 -0
- package/docs/helpers/GraphQLDataFactory.md +226 -0
- package/docs/helpers/JSONResponse.md +255 -0
- package/docs/helpers/Mochawesome.md +8 -0
- package/docs/helpers/MockRequest.md +377 -0
- package/docs/helpers/MockServer.md +212 -0
- package/docs/helpers/Playwright.md +2969 -0
- package/docs/helpers/Polly.md +44 -0
- package/docs/helpers/Protractor.md +1769 -0
- package/docs/helpers/Puppeteer-firefox.md +86 -0
- package/docs/helpers/Puppeteer.md +2690 -0
- package/docs/helpers/REST.md +289 -0
- package/docs/helpers/SoftExpectHelper.md +352 -0
- package/docs/helpers/WebDriver.md +2682 -0
- package/docs/hooks.md +339 -0
- package/docs/index.md +111 -0
- package/docs/installation.md +83 -0
- package/docs/internal-api.md +265 -0
- package/docs/internal-test-server.md +89 -0
- package/docs/locators.md +355 -0
- package/docs/mcp.md +485 -0
- package/docs/migration-4.md +556 -0
- package/docs/mobile.md +338 -0
- package/docs/pageobjects.md +399 -0
- package/docs/parallel.md +585 -0
- package/docs/playwright.md +714 -0
- package/docs/plugins.md +866 -0
- package/docs/puppeteer.md +314 -0
- package/docs/quickstart.md +120 -0
- package/docs/react.md +70 -0
- package/docs/reports.md +483 -0
- package/docs/retry.md +274 -0
- package/docs/secrets.md +150 -0
- package/docs/sessions.md +80 -0
- package/docs/shadow.md +68 -0
- package/docs/test-structure.md +275 -0
- package/docs/timeouts.md +183 -0
- package/docs/translation.md +247 -0
- package/docs/tutorial.md +271 -0
- package/docs/typescript.md +374 -0
- package/docs/web-element.md +251 -0
- package/docs/webdriver.md +708 -0
- package/docs/within.md +55 -0
- package/lib/command/dryRun.js +9 -3
- package/lib/command/init.js +247 -266
- package/lib/command/query.js +218 -0
- package/lib/config.js +9 -0
- package/lib/element/WebElement.js +37 -0
- package/lib/globals.js +11 -10
- package/lib/helper/Playwright.js +4 -1
- package/lib/html.js +3 -0
- package/lib/index.js +9 -1
- package/lib/locator.js +2 -2
- package/lib/mocha/factory.js +5 -1
- package/lib/mocha/inject.js +1 -1
- package/lib/parser.js +2 -2
- package/lib/plugin/browser.js +2 -1
- package/lib/plugin/expose.js +159 -0
- package/lib/workers.js +1 -15
- package/package.json +7 -5
- package/docs/webapi/amOnPage.mustache +0 -11
- package/docs/webapi/appendField.mustache +0 -16
- package/docs/webapi/attachFile.mustache +0 -24
- package/docs/webapi/blur.mustache +0 -18
- package/docs/webapi/checkOption.mustache +0 -13
- package/docs/webapi/clearCookie.mustache +0 -9
- package/docs/webapi/clearField.mustache +0 -14
- package/docs/webapi/click.mustache +0 -29
- package/docs/webapi/clickLink.mustache +0 -8
- package/docs/webapi/closeCurrentTab.mustache +0 -7
- package/docs/webapi/closeOtherTabs.mustache +0 -8
- package/docs/webapi/dontSee.mustache +0 -11
- package/docs/webapi/dontSeeCheckboxIsChecked.mustache +0 -10
- package/docs/webapi/dontSeeCookie.mustache +0 -8
- package/docs/webapi/dontSeeCurrentPathEquals.mustache +0 -10
- package/docs/webapi/dontSeeCurrentUrlEquals.mustache +0 -10
- package/docs/webapi/dontSeeElement.mustache +0 -12
- package/docs/webapi/dontSeeElementInDOM.mustache +0 -8
- package/docs/webapi/dontSeeInCurrentUrl.mustache +0 -4
- package/docs/webapi/dontSeeInField.mustache +0 -16
- package/docs/webapi/dontSeeInSource.mustache +0 -8
- package/docs/webapi/dontSeeInTitle.mustache +0 -8
- package/docs/webapi/dontSeeTraffic.mustache +0 -13
- package/docs/webapi/doubleClick.mustache +0 -13
- package/docs/webapi/downloadFile.mustache +0 -12
- package/docs/webapi/dragAndDrop.mustache +0 -9
- package/docs/webapi/dragSlider.mustache +0 -11
- package/docs/webapi/executeAsyncScript.mustache +0 -24
- package/docs/webapi/executeScript.mustache +0 -26
- package/docs/webapi/fillField.mustache +0 -21
- package/docs/webapi/flushNetworkTraffics.mustache +0 -5
- package/docs/webapi/focus.mustache +0 -13
- package/docs/webapi/forceClick.mustache +0 -28
- package/docs/webapi/forceRightClick.mustache +0 -18
- package/docs/webapi/grabAllWindowHandles.mustache +0 -7
- package/docs/webapi/grabAttributeFrom.mustache +0 -10
- package/docs/webapi/grabAttributeFromAll.mustache +0 -9
- package/docs/webapi/grabBrowserLogs.mustache +0 -9
- package/docs/webapi/grabCookie.mustache +0 -11
- package/docs/webapi/grabCssPropertyFrom.mustache +0 -11
- package/docs/webapi/grabCssPropertyFromAll.mustache +0 -10
- package/docs/webapi/grabCurrentUrl.mustache +0 -9
- package/docs/webapi/grabCurrentWindowHandle.mustache +0 -6
- package/docs/webapi/grabDataFromPerformanceTiming.mustache +0 -20
- package/docs/webapi/grabElementBoundingRect.mustache +0 -20
- package/docs/webapi/grabGeoLocation.mustache +0 -8
- package/docs/webapi/grabHTMLFrom.mustache +0 -10
- package/docs/webapi/grabHTMLFromAll.mustache +0 -9
- package/docs/webapi/grabNumberOfOpenTabs.mustache +0 -8
- package/docs/webapi/grabNumberOfVisibleElements.mustache +0 -9
- package/docs/webapi/grabPageScrollPosition.mustache +0 -8
- package/docs/webapi/grabPopupText.mustache +0 -5
- package/docs/webapi/grabRecordedNetworkTraffics.mustache +0 -10
- package/docs/webapi/grabSource.mustache +0 -8
- package/docs/webapi/grabTextFrom.mustache +0 -10
- package/docs/webapi/grabTextFromAll.mustache +0 -9
- package/docs/webapi/grabTitle.mustache +0 -8
- package/docs/webapi/grabValueFrom.mustache +0 -9
- package/docs/webapi/grabValueFromAll.mustache +0 -8
- package/docs/webapi/grabWebElement.mustache +0 -9
- package/docs/webapi/grabWebElements.mustache +0 -9
- package/docs/webapi/moveCursorTo.mustache +0 -16
- package/docs/webapi/openNewTab.mustache +0 -7
- package/docs/webapi/pressKey.mustache +0 -12
- package/docs/webapi/pressKeyDown.mustache +0 -12
- package/docs/webapi/pressKeyUp.mustache +0 -12
- package/docs/webapi/pressKeyWithKeyNormalization.mustache +0 -60
- package/docs/webapi/refreshPage.mustache +0 -6
- package/docs/webapi/resizeWindow.mustache +0 -6
- package/docs/webapi/rightClick.mustache +0 -14
- package/docs/webapi/saveElementScreenshot.mustache +0 -10
- package/docs/webapi/saveScreenshot.mustache +0 -12
- package/docs/webapi/say.mustache +0 -10
- package/docs/webapi/scrollIntoView.mustache +0 -11
- package/docs/webapi/scrollPageToBottom.mustache +0 -6
- package/docs/webapi/scrollPageToTop.mustache +0 -6
- package/docs/webapi/scrollTo.mustache +0 -12
- package/docs/webapi/see.mustache +0 -11
- package/docs/webapi/seeAttributesOnElements.mustache +0 -9
- package/docs/webapi/seeCheckboxIsChecked.mustache +0 -10
- package/docs/webapi/seeCookie.mustache +0 -8
- package/docs/webapi/seeCssPropertiesOnElements.mustache +0 -9
- package/docs/webapi/seeCurrentPathEquals.mustache +0 -10
- package/docs/webapi/seeCurrentUrlEquals.mustache +0 -11
- package/docs/webapi/seeElement.mustache +0 -12
- package/docs/webapi/seeElementInDOM.mustache +0 -8
- package/docs/webapi/seeFileDownloaded.mustache +0 -23
- package/docs/webapi/seeInCurrentUrl.mustache +0 -8
- package/docs/webapi/seeInField.mustache +0 -17
- package/docs/webapi/seeInPopup.mustache +0 -8
- package/docs/webapi/seeInSource.mustache +0 -7
- package/docs/webapi/seeInTitle.mustache +0 -8
- package/docs/webapi/seeNumberOfElements.mustache +0 -11
- package/docs/webapi/seeNumberOfVisibleElements.mustache +0 -10
- package/docs/webapi/seeTextEquals.mustache +0 -9
- package/docs/webapi/seeTitleEquals.mustache +0 -8
- package/docs/webapi/seeTraffic.mustache +0 -36
- package/docs/webapi/selectOption.mustache +0 -26
- package/docs/webapi/setCookie.mustache +0 -16
- package/docs/webapi/setGeoLocation.mustache +0 -12
- package/docs/webapi/startRecordingTraffic.mustache +0 -8
- package/docs/webapi/startRecordingWebSocketMessages.mustache +0 -8
- package/docs/webapi/stopRecordingTraffic.mustache +0 -5
- package/docs/webapi/stopRecordingWebSocketMessages.mustache +0 -7
- package/docs/webapi/switchTo.mustache +0 -9
- package/docs/webapi/switchToNextTab.mustache +0 -10
- package/docs/webapi/switchToPreviousTab.mustache +0 -10
- package/docs/webapi/type.mustache +0 -21
- package/docs/webapi/uncheckOption.mustache +0 -13
- package/docs/webapi/wait.mustache +0 -8
- package/docs/webapi/waitForClickable.mustache +0 -11
- package/docs/webapi/waitForCookie.mustache +0 -9
- package/docs/webapi/waitForDetached.mustache +0 -10
- package/docs/webapi/waitForDisabled.mustache +0 -6
- package/docs/webapi/waitForElement.mustache +0 -11
- package/docs/webapi/waitForEnabled.mustache +0 -6
- package/docs/webapi/waitForFunction.mustache +0 -17
- package/docs/webapi/waitForInvisible.mustache +0 -10
- package/docs/webapi/waitForNumberOfTabs.mustache +0 -9
- package/docs/webapi/waitForText.mustache +0 -13
- package/docs/webapi/waitForValue.mustache +0 -10
- package/docs/webapi/waitForVisible.mustache +0 -10
- package/docs/webapi/waitInUrl.mustache +0 -9
- package/docs/webapi/waitNumberOfVisibleElements.mustache +0 -10
- package/docs/webapi/waitToHide.mustache +0 -10
- package/docs/webapi/waitUrlEquals.mustache +0 -10
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
---
|
|
2
|
+
permalink: /helpers/ExpectHelper
|
|
3
|
+
editLink: false
|
|
4
|
+
sidebar: auto
|
|
5
|
+
title: ExpectHelper
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
<!-- Generated by documentation.js. Update this documentation by updating the source code. -->
|
|
9
|
+
|
|
10
|
+
## ExpectHelper
|
|
11
|
+
|
|
12
|
+
This helper allows performing assertions based on Chai.
|
|
13
|
+
|
|
14
|
+
### Examples
|
|
15
|
+
|
|
16
|
+
Zero-configuration when paired with other helpers like REST, Playwright:
|
|
17
|
+
|
|
18
|
+
```js
|
|
19
|
+
// inside codecept.conf.js
|
|
20
|
+
{
|
|
21
|
+
helpers: {
|
|
22
|
+
Playwright: {...},
|
|
23
|
+
ExpectHelper: {},
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Methods
|
|
29
|
+
|
|
30
|
+
### expectAbove
|
|
31
|
+
|
|
32
|
+
#### Parameters
|
|
33
|
+
|
|
34
|
+
- `targetData` **any** 
|
|
35
|
+
- `aboveThan` **any** 
|
|
36
|
+
- `customErrorMsg` **any?**
|
|
37
|
+
|
|
38
|
+
### expectBelow
|
|
39
|
+
|
|
40
|
+
#### Parameters
|
|
41
|
+
|
|
42
|
+
- `targetData` **any** 
|
|
43
|
+
- `belowThan` **any** 
|
|
44
|
+
- `customErrorMsg` **any?**
|
|
45
|
+
|
|
46
|
+
### expectContain
|
|
47
|
+
|
|
48
|
+
#### Parameters
|
|
49
|
+
|
|
50
|
+
- `actualValue` **any** 
|
|
51
|
+
- `expectedValueToContain` **any** 
|
|
52
|
+
- `customErrorMsg` **any?**
|
|
53
|
+
|
|
54
|
+
### expectDeepEqual
|
|
55
|
+
|
|
56
|
+
#### Parameters
|
|
57
|
+
|
|
58
|
+
- `actualValue` **any** 
|
|
59
|
+
- `expectedValue` **any** 
|
|
60
|
+
- `customErrorMsg` **any?**
|
|
61
|
+
|
|
62
|
+
### expectDeepEqualExcluding
|
|
63
|
+
|
|
64
|
+
expects members of two JSON objects are deeply equal excluding some properties
|
|
65
|
+
|
|
66
|
+
#### Parameters
|
|
67
|
+
|
|
68
|
+
- `actualValue` **any** 
|
|
69
|
+
- `expectedValue` **any** 
|
|
70
|
+
- `fieldsToExclude` **any** 
|
|
71
|
+
- `customErrorMsg` **any?**
|
|
72
|
+
|
|
73
|
+
### expectDeepIncludeMembers
|
|
74
|
+
|
|
75
|
+
expects an array to be a superset of another array
|
|
76
|
+
|
|
77
|
+
#### Parameters
|
|
78
|
+
|
|
79
|
+
- `superset` **any** 
|
|
80
|
+
- `set` **any** 
|
|
81
|
+
- `customErrorMsg` **any?**
|
|
82
|
+
|
|
83
|
+
### expectDeepMembers
|
|
84
|
+
|
|
85
|
+
expects members of two arrays are deeply equal
|
|
86
|
+
|
|
87
|
+
#### Parameters
|
|
88
|
+
|
|
89
|
+
- `actualValue` **any** 
|
|
90
|
+
- `expectedValue` **any** 
|
|
91
|
+
- `customErrorMsg` **any?**
|
|
92
|
+
|
|
93
|
+
### expectEmpty
|
|
94
|
+
|
|
95
|
+
#### Parameters
|
|
96
|
+
|
|
97
|
+
- `targetData` **any** 
|
|
98
|
+
- `customErrorMsg` **any?**
|
|
99
|
+
|
|
100
|
+
### expectEndsWith
|
|
101
|
+
|
|
102
|
+
#### Parameters
|
|
103
|
+
|
|
104
|
+
- `actualValue` **any** 
|
|
105
|
+
- `expectedValueToEndWith` **any** 
|
|
106
|
+
- `customErrorMsg` **any?**
|
|
107
|
+
|
|
108
|
+
### expectEqual
|
|
109
|
+
|
|
110
|
+
#### Parameters
|
|
111
|
+
|
|
112
|
+
- `actualValue` **any** 
|
|
113
|
+
- `expectedValue` **any** 
|
|
114
|
+
- `customErrorMsg` **any?**
|
|
115
|
+
|
|
116
|
+
### expectEqualIgnoreCase
|
|
117
|
+
|
|
118
|
+
#### Parameters
|
|
119
|
+
|
|
120
|
+
- `actualValue` **any** 
|
|
121
|
+
- `expectedValue` **any** 
|
|
122
|
+
- `customErrorMsg` **any?**
|
|
123
|
+
|
|
124
|
+
### expectFalse
|
|
125
|
+
|
|
126
|
+
#### Parameters
|
|
127
|
+
|
|
128
|
+
- `targetData` **any** 
|
|
129
|
+
- `customErrorMsg` **any?**
|
|
130
|
+
|
|
131
|
+
### expectHasAProperty
|
|
132
|
+
|
|
133
|
+
#### Parameters
|
|
134
|
+
|
|
135
|
+
- `targetData` **any** 
|
|
136
|
+
- `propertyName` **any** 
|
|
137
|
+
- `customErrorMsg` **any?**
|
|
138
|
+
|
|
139
|
+
### expectHasProperty
|
|
140
|
+
|
|
141
|
+
#### Parameters
|
|
142
|
+
|
|
143
|
+
- `targetData` **any** 
|
|
144
|
+
- `propertyName` **any** 
|
|
145
|
+
- `customErrorMsg` **any?**
|
|
146
|
+
|
|
147
|
+
### expectJsonSchema
|
|
148
|
+
|
|
149
|
+
#### Parameters
|
|
150
|
+
|
|
151
|
+
- `targetData` **any** 
|
|
152
|
+
- `jsonSchema` **any** 
|
|
153
|
+
- `customErrorMsg` **any?**
|
|
154
|
+
|
|
155
|
+
### expectJsonSchemaUsingAJV
|
|
156
|
+
|
|
157
|
+
#### Parameters
|
|
158
|
+
|
|
159
|
+
- `targetData` **any** 
|
|
160
|
+
- `jsonSchema` **any** 
|
|
161
|
+
- `customErrorMsg` **any?**
|
|
162
|
+
- `ajvOptions` **any?** Pass AJV options
|
|
163
|
+
|
|
164
|
+
### expectLengthAboveThan
|
|
165
|
+
|
|
166
|
+
#### Parameters
|
|
167
|
+
|
|
168
|
+
- `targetData` **any** 
|
|
169
|
+
- `lengthAboveThan` **any** 
|
|
170
|
+
- `customErrorMsg` **any?**
|
|
171
|
+
|
|
172
|
+
### expectLengthBelowThan
|
|
173
|
+
|
|
174
|
+
#### Parameters
|
|
175
|
+
|
|
176
|
+
- `targetData` **any** 
|
|
177
|
+
- `lengthBelowThan` **any** 
|
|
178
|
+
- `customErrorMsg` **any?**
|
|
179
|
+
|
|
180
|
+
### expectLengthOf
|
|
181
|
+
|
|
182
|
+
#### Parameters
|
|
183
|
+
|
|
184
|
+
- `targetData` **any** 
|
|
185
|
+
- `length` **any** 
|
|
186
|
+
- `customErrorMsg` **any?**
|
|
187
|
+
|
|
188
|
+
### expectMatchesPattern
|
|
189
|
+
|
|
190
|
+
expects a JSON object matches a provided pattern
|
|
191
|
+
|
|
192
|
+
#### Parameters
|
|
193
|
+
|
|
194
|
+
- `actualValue` **any** 
|
|
195
|
+
- `expectedPattern` **any** 
|
|
196
|
+
- `customErrorMsg` **any?**
|
|
197
|
+
|
|
198
|
+
### expectMatchRegex
|
|
199
|
+
|
|
200
|
+
#### Parameters
|
|
201
|
+
|
|
202
|
+
- `targetData` **any** 
|
|
203
|
+
- `regex` **any** 
|
|
204
|
+
- `customErrorMsg` **any?**
|
|
205
|
+
|
|
206
|
+
### expectNotContain
|
|
207
|
+
|
|
208
|
+
#### Parameters
|
|
209
|
+
|
|
210
|
+
- `actualValue` **any** 
|
|
211
|
+
- `expectedValueToNotContain` **any** 
|
|
212
|
+
- `customErrorMsg` **any?**
|
|
213
|
+
|
|
214
|
+
### expectNotDeepEqual
|
|
215
|
+
|
|
216
|
+
#### Parameters
|
|
217
|
+
|
|
218
|
+
- `actualValue` **any** 
|
|
219
|
+
- `expectedValue` **any** 
|
|
220
|
+
- `customErrorMsg` **any?**
|
|
221
|
+
|
|
222
|
+
### expectNotEndsWith
|
|
223
|
+
|
|
224
|
+
#### Parameters
|
|
225
|
+
|
|
226
|
+
- `actualValue` **any** 
|
|
227
|
+
- `expectedValueToNotEndWith` **any** 
|
|
228
|
+
- `customErrorMsg` **any?**
|
|
229
|
+
|
|
230
|
+
### expectNotEqual
|
|
231
|
+
|
|
232
|
+
#### Parameters
|
|
233
|
+
|
|
234
|
+
- `actualValue` **any** 
|
|
235
|
+
- `expectedValue` **any** 
|
|
236
|
+
- `customErrorMsg` **any?**
|
|
237
|
+
|
|
238
|
+
### expectNotStartsWith
|
|
239
|
+
|
|
240
|
+
#### Parameters
|
|
241
|
+
|
|
242
|
+
- `actualValue` **any** 
|
|
243
|
+
- `expectedValueToNotStartWith` **any** 
|
|
244
|
+
- `customErrorMsg` **any?**
|
|
245
|
+
|
|
246
|
+
### expectStartsWith
|
|
247
|
+
|
|
248
|
+
#### Parameters
|
|
249
|
+
|
|
250
|
+
- `actualValue` **any** 
|
|
251
|
+
- `expectedValueToStartWith` **any** 
|
|
252
|
+
- `customErrorMsg` **any?**
|
|
253
|
+
|
|
254
|
+
### expectToBeA
|
|
255
|
+
|
|
256
|
+
#### Parameters
|
|
257
|
+
|
|
258
|
+
- `targetData` **any** 
|
|
259
|
+
- `type` **any** 
|
|
260
|
+
- `customErrorMsg` **any?**
|
|
261
|
+
|
|
262
|
+
### expectToBeAn
|
|
263
|
+
|
|
264
|
+
#### Parameters
|
|
265
|
+
|
|
266
|
+
- `targetData` **any** 
|
|
267
|
+
- `type` **any** 
|
|
268
|
+
- `customErrorMsg` **any?**
|
|
269
|
+
|
|
270
|
+
### expectTrue
|
|
271
|
+
|
|
272
|
+
#### Parameters
|
|
273
|
+
|
|
274
|
+
- `targetData` **any** 
|
|
275
|
+
- `customErrorMsg` **any?**
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
---
|
|
2
|
+
permalink: /helpers/FileSystem
|
|
3
|
+
editLink: false
|
|
4
|
+
sidebar: auto
|
|
5
|
+
title: FileSystem
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
<!-- Generated by documentation.js. Update this documentation by updating the source code. -->
|
|
9
|
+
|
|
10
|
+
## FileSystem
|
|
11
|
+
|
|
12
|
+
**Extends Helper**
|
|
13
|
+
|
|
14
|
+
Helper for testing filesystem.
|
|
15
|
+
Can be easily used to check file structures:
|
|
16
|
+
|
|
17
|
+
```js
|
|
18
|
+
I.amInPath('test');
|
|
19
|
+
I.seeFile('codecept.js');
|
|
20
|
+
I.seeInThisFile('FileSystem');
|
|
21
|
+
I.dontSeeInThisFile("WebDriver");
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Configuration
|
|
25
|
+
|
|
26
|
+
Enable helper in config file:
|
|
27
|
+
|
|
28
|
+
```js
|
|
29
|
+
helpers: {
|
|
30
|
+
FileSystem: {},
|
|
31
|
+
}
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Methods
|
|
35
|
+
|
|
36
|
+
### amInPath
|
|
37
|
+
|
|
38
|
+
Enters a directory In local filesystem.
|
|
39
|
+
Starts from a current directory
|
|
40
|
+
|
|
41
|
+
#### Parameters
|
|
42
|
+
|
|
43
|
+
* `openPath` **[string][1]** 
|
|
44
|
+
|
|
45
|
+
### dontSeeFileContentsEqual
|
|
46
|
+
|
|
47
|
+
Checks that contents of file found by `seeFile` doesn't equal to text.
|
|
48
|
+
|
|
49
|
+
#### Parameters
|
|
50
|
+
|
|
51
|
+
* `text` **[string][1]** 
|
|
52
|
+
* `encoding` **[string][1]**
|
|
53
|
+
|
|
54
|
+
### dontSeeInThisFile
|
|
55
|
+
|
|
56
|
+
Checks that file found by `seeFile` doesn't include text.
|
|
57
|
+
|
|
58
|
+
#### Parameters
|
|
59
|
+
|
|
60
|
+
* `text` **[string][1]** 
|
|
61
|
+
* `encoding` **[string][1]**
|
|
62
|
+
|
|
63
|
+
### grabFileNames
|
|
64
|
+
|
|
65
|
+
Returns file names in current directory.
|
|
66
|
+
|
|
67
|
+
```js
|
|
68
|
+
I.handleDownloads();
|
|
69
|
+
I.click('Download Files');
|
|
70
|
+
I.amInPath('output/downloads');
|
|
71
|
+
const downloadedFileNames = I.grabFileNames();
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### seeFile
|
|
75
|
+
|
|
76
|
+
Checks that file exists
|
|
77
|
+
|
|
78
|
+
#### Parameters
|
|
79
|
+
|
|
80
|
+
* `name` **[string][1]** 
|
|
81
|
+
|
|
82
|
+
### seeFileContentsEqual
|
|
83
|
+
|
|
84
|
+
Checks that contents of file found by `seeFile` equal to text.
|
|
85
|
+
|
|
86
|
+
#### Parameters
|
|
87
|
+
|
|
88
|
+
* `text` **[string][1]** 
|
|
89
|
+
* `encoding` **[string][1]**
|
|
90
|
+
|
|
91
|
+
### seeFileContentsEqualReferenceFile
|
|
92
|
+
|
|
93
|
+
Checks that contents of the file found by `seeFile` equal to contents of the file at `pathToReferenceFile`.
|
|
94
|
+
|
|
95
|
+
#### Parameters
|
|
96
|
+
|
|
97
|
+
* `pathToReferenceFile` **[string][1]** 
|
|
98
|
+
* `encoding` **[string][1]**
|
|
99
|
+
* `encodingReference` **[string][1]**
|
|
100
|
+
|
|
101
|
+
### seeFileNameMatching
|
|
102
|
+
|
|
103
|
+
Checks that file with a name including given text exists in the current directory.
|
|
104
|
+
|
|
105
|
+
```js
|
|
106
|
+
I.handleDownloads();
|
|
107
|
+
I.click('Download as PDF');
|
|
108
|
+
I.amInPath('output/downloads');
|
|
109
|
+
I.seeFileNameMatching('.pdf');
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
#### Parameters
|
|
113
|
+
|
|
114
|
+
* `text` **[string][1]** 
|
|
115
|
+
|
|
116
|
+
### seeInThisFile
|
|
117
|
+
|
|
118
|
+
Checks that file found by `seeFile` includes a text.
|
|
119
|
+
|
|
120
|
+
#### Parameters
|
|
121
|
+
|
|
122
|
+
* `text` **[string][1]** 
|
|
123
|
+
* `encoding` **[string][1]**
|
|
124
|
+
|
|
125
|
+
### waitForFile
|
|
126
|
+
|
|
127
|
+
Waits for the file to be present in the current directory.
|
|
128
|
+
|
|
129
|
+
```js
|
|
130
|
+
I.handleDownloads('downloads/largeFilesName.txt');
|
|
131
|
+
I.click('Download large File');
|
|
132
|
+
I.amInPath('output/downloads');
|
|
133
|
+
I.waitForFile('largeFilesName.txt', 10); // wait 10 seconds for file
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
#### Parameters
|
|
137
|
+
|
|
138
|
+
* `name` **[string][1]** 
|
|
139
|
+
* `sec` **[number][2]** seconds to wait
|
|
140
|
+
|
|
141
|
+
### writeToFile
|
|
142
|
+
|
|
143
|
+
Writes text to file
|
|
144
|
+
|
|
145
|
+
#### Parameters
|
|
146
|
+
|
|
147
|
+
* `name` **[string][1]** 
|
|
148
|
+
* `text` **[string][1]** 
|
|
149
|
+
|
|
150
|
+
[1]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String
|
|
151
|
+
|
|
152
|
+
[2]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
---
|
|
2
|
+
permalink: /helpers/GraphQL
|
|
3
|
+
editLink: false
|
|
4
|
+
sidebar: auto
|
|
5
|
+
title: GraphQL
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
<!-- Generated by documentation.js. Update this documentation by updating the source code. -->
|
|
9
|
+
|
|
10
|
+
## GraphQL
|
|
11
|
+
|
|
12
|
+
**Extends Helper**
|
|
13
|
+
|
|
14
|
+
GraphQL helper allows to send additional requests to a GraphQl endpoint during acceptance tests.
|
|
15
|
+
[Axios][1] library is used to perform requests.
|
|
16
|
+
|
|
17
|
+
## Configuration
|
|
18
|
+
|
|
19
|
+
* endpoint: GraphQL base URL
|
|
20
|
+
* timeout: timeout for requests in milliseconds. 10000ms by default
|
|
21
|
+
* defaultHeaders: a list of default headers
|
|
22
|
+
* onRequest: a async function which can update request object.
|
|
23
|
+
|
|
24
|
+
## Example
|
|
25
|
+
|
|
26
|
+
```js
|
|
27
|
+
GraphQL: {
|
|
28
|
+
endpoint: 'http://site.com/graphql/',
|
|
29
|
+
onRequest: (request) => {
|
|
30
|
+
request.headers.auth = '123';
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Access From Helpers
|
|
36
|
+
|
|
37
|
+
Send GraphQL requests by accessing `_executeQuery` method:
|
|
38
|
+
|
|
39
|
+
```js
|
|
40
|
+
this.helpers['GraphQL']._executeQuery({
|
|
41
|
+
url,
|
|
42
|
+
data,
|
|
43
|
+
});
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Methods
|
|
47
|
+
|
|
48
|
+
### Parameters
|
|
49
|
+
|
|
50
|
+
* `config`  
|
|
51
|
+
|
|
52
|
+
### _executeQuery
|
|
53
|
+
|
|
54
|
+
Executes query via axios call
|
|
55
|
+
|
|
56
|
+
#### Parameters
|
|
57
|
+
|
|
58
|
+
* `request` **[object][2]** 
|
|
59
|
+
|
|
60
|
+
### _prepareGraphQLRequest
|
|
61
|
+
|
|
62
|
+
Prepares request for axios call
|
|
63
|
+
|
|
64
|
+
#### Parameters
|
|
65
|
+
|
|
66
|
+
* `operation` **[object][2]** 
|
|
67
|
+
* `headers` **[object][2]** 
|
|
68
|
+
|
|
69
|
+
Returns **[object][2]** graphQLRequest
|
|
70
|
+
|
|
71
|
+
### amBearerAuthenticated
|
|
72
|
+
|
|
73
|
+
Adds a header for Bearer authentication
|
|
74
|
+
|
|
75
|
+
```js
|
|
76
|
+
// we use secret function to hide token from logs
|
|
77
|
+
I.amBearerAuthenticated(secret('heregoestoken'))
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
#### Parameters
|
|
81
|
+
|
|
82
|
+
* `accessToken` **([string][3] | CodeceptJS.Secret)** Bearer access token
|
|
83
|
+
|
|
84
|
+
### haveRequestHeaders
|
|
85
|
+
|
|
86
|
+
Sets request headers for all requests of this test
|
|
87
|
+
|
|
88
|
+
#### Parameters
|
|
89
|
+
|
|
90
|
+
* `headers` **[object][2]** headers list
|
|
91
|
+
|
|
92
|
+
### sendMutation
|
|
93
|
+
|
|
94
|
+
Send query to GraphQL endpoint over http
|
|
95
|
+
|
|
96
|
+
```js
|
|
97
|
+
I.sendMutation(`
|
|
98
|
+
mutation createUser($user: UserInput!) {
|
|
99
|
+
createUser(user: $user) {
|
|
100
|
+
id
|
|
101
|
+
name
|
|
102
|
+
email
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
`,
|
|
106
|
+
{ user: {
|
|
107
|
+
name: 'John Doe',
|
|
108
|
+
email: 'john@xmail.com'
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
});
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
#### Parameters
|
|
115
|
+
|
|
116
|
+
* `mutation` **[String][3]** 
|
|
117
|
+
* `variables` **[object][2]?** that may go along with the mutation
|
|
118
|
+
* `options` **[object][2]?** are additional query options
|
|
119
|
+
* `headers` **[object][2]?**
|
|
120
|
+
|
|
121
|
+
Returns **any** Promise<any>
|
|
122
|
+
|
|
123
|
+
### sendQuery
|
|
124
|
+
|
|
125
|
+
Send query to GraphQL endpoint over http.
|
|
126
|
+
Returns a response as a promise.
|
|
127
|
+
|
|
128
|
+
```js
|
|
129
|
+
|
|
130
|
+
const response = await I.sendQuery('{ users { name email }}');
|
|
131
|
+
// with variables
|
|
132
|
+
const response = await I.sendQuery(
|
|
133
|
+
'query getUser($id: ID) { user(id: $id) { name email }}',
|
|
134
|
+
{ id: 1 },
|
|
135
|
+
)
|
|
136
|
+
const user = response.data.data;
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
#### Parameters
|
|
140
|
+
|
|
141
|
+
* `query` **[String][3]** 
|
|
142
|
+
* `variables` **[object][2]?** that may go along with the query
|
|
143
|
+
* `options` **[object][2]?** are additional query options
|
|
144
|
+
* `headers` **[object][2]?**
|
|
145
|
+
|
|
146
|
+
Returns **any** Promise<any>
|
|
147
|
+
|
|
148
|
+
[1]: https://github.com/axios/axios
|
|
149
|
+
|
|
150
|
+
[2]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object
|
|
151
|
+
|
|
152
|
+
[3]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String
|