codeceptjs 3.5.12-beta.1 → 3.5.12-beta.2
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/docs/advanced.md +351 -0
- package/docs/ai.md +248 -0
- package/docs/api.md +323 -0
- package/docs/basics.md +979 -0
- package/docs/bdd.md +539 -0
- package/docs/best.md +237 -0
- package/docs/books.md +37 -0
- package/docs/bootstrap.md +135 -0
- package/docs/build/ApiDataFactory.js +410 -0
- package/docs/build/Appium.js +2027 -0
- package/docs/build/Expect.js +422 -0
- package/docs/build/FileSystem.js +228 -0
- package/docs/build/GraphQL.js +229 -0
- package/docs/build/GraphQLDataFactory.js +309 -0
- package/docs/build/JSONResponse.js +338 -0
- package/docs/build/Mochawesome.js +71 -0
- package/docs/build/Nightmare.js +2152 -0
- package/docs/build/OpenAI.js +126 -0
- package/docs/build/Playwright.js +5110 -0
- package/docs/build/Protractor.js +2706 -0
- package/docs/build/Puppeteer.js +3905 -0
- package/docs/build/REST.js +344 -0
- package/docs/build/TestCafe.js +2125 -0
- package/docs/build/WebDriver.js +4240 -0
- package/docs/changelog.md +2572 -0
- package/docs/commands.md +266 -0
- package/docs/community-helpers.md +58 -0
- package/docs/configuration.md +157 -0
- package/docs/continuous-integration.md +22 -0
- package/docs/custom-helpers.md +306 -0
- package/docs/data.md +379 -0
- package/docs/detox.md +235 -0
- package/docs/docker.md +136 -0
- package/docs/email.md +183 -0
- package/docs/examples.md +149 -0
- package/docs/helpers/ApiDataFactory.md +266 -0
- package/docs/helpers/Appium.md +1374 -0
- package/docs/helpers/Detox.md +586 -0
- package/docs/helpers/Expect.md +275 -0
- package/docs/helpers/FileSystem.md +152 -0
- package/docs/helpers/GraphQL.md +151 -0
- package/docs/helpers/GraphQLDataFactory.md +226 -0
- package/docs/helpers/JSONResponse.md +254 -0
- package/docs/helpers/Mochawesome.md +8 -0
- package/docs/helpers/MockRequest.md +377 -0
- package/docs/helpers/Nightmare.md +1305 -0
- package/docs/helpers/OpenAI.md +70 -0
- package/docs/helpers/Playwright.md +2759 -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 +2317 -0
- package/docs/helpers/REST.md +218 -0
- package/docs/helpers/TestCafe.md +1321 -0
- package/docs/helpers/WebDriver.md +2547 -0
- package/docs/hooks.md +340 -0
- package/docs/index.md +111 -0
- package/docs/installation.md +75 -0
- package/docs/internal-api.md +266 -0
- package/docs/locators.md +339 -0
- package/docs/mobile-react-native-locators.md +67 -0
- package/docs/mobile.md +338 -0
- package/docs/pageobjects.md +291 -0
- package/docs/parallel.md +400 -0
- package/docs/playwright.md +632 -0
- package/docs/plugins.md +1259 -0
- package/docs/puppeteer.md +316 -0
- package/docs/quickstart.md +162 -0
- package/docs/react.md +70 -0
- package/docs/reports.md +392 -0
- package/docs/secrets.md +36 -0
- package/docs/shadow.md +68 -0
- package/docs/shared/keys.mustache +31 -0
- package/docs/shared/react.mustache +1 -0
- package/docs/testcafe.md +174 -0
- package/docs/translation.md +247 -0
- package/docs/tutorial.md +271 -0
- package/docs/typescript.md +180 -0
- package/docs/ui.md +59 -0
- package/docs/videos.md +28 -0
- package/docs/visual.md +202 -0
- package/docs/vue.md +143 -0
- package/docs/webapi/amOnPage.mustache +11 -0
- package/docs/webapi/appendField.mustache +11 -0
- package/docs/webapi/attachFile.mustache +12 -0
- package/docs/webapi/blur.mustache +18 -0
- package/docs/webapi/checkOption.mustache +13 -0
- package/docs/webapi/clearCookie.mustache +9 -0
- package/docs/webapi/clearField.mustache +9 -0
- package/docs/webapi/click.mustache +25 -0
- package/docs/webapi/clickLink.mustache +8 -0
- package/docs/webapi/closeCurrentTab.mustache +7 -0
- package/docs/webapi/closeOtherTabs.mustache +8 -0
- package/docs/webapi/dontSee.mustache +11 -0
- package/docs/webapi/dontSeeCheckboxIsChecked.mustache +10 -0
- package/docs/webapi/dontSeeCookie.mustache +8 -0
- package/docs/webapi/dontSeeCurrentUrlEquals.mustache +10 -0
- package/docs/webapi/dontSeeElement.mustache +8 -0
- package/docs/webapi/dontSeeElementInDOM.mustache +8 -0
- package/docs/webapi/dontSeeInCurrentUrl.mustache +4 -0
- package/docs/webapi/dontSeeInField.mustache +11 -0
- package/docs/webapi/dontSeeInSource.mustache +8 -0
- package/docs/webapi/dontSeeInTitle.mustache +8 -0
- package/docs/webapi/doubleClick.mustache +13 -0
- package/docs/webapi/downloadFile.mustache +12 -0
- package/docs/webapi/dragAndDrop.mustache +9 -0
- package/docs/webapi/dragSlider.mustache +11 -0
- package/docs/webapi/executeAsyncScript.mustache +24 -0
- package/docs/webapi/executeScript.mustache +26 -0
- package/docs/webapi/fillField.mustache +16 -0
- package/docs/webapi/focus.mustache +13 -0
- package/docs/webapi/forceClick.mustache +28 -0
- package/docs/webapi/forceRightClick.mustache +18 -0
- package/docs/webapi/grabAllWindowHandles.mustache +7 -0
- package/docs/webapi/grabAttributeFrom.mustache +10 -0
- package/docs/webapi/grabAttributeFromAll.mustache +9 -0
- package/docs/webapi/grabBrowserLogs.mustache +9 -0
- package/docs/webapi/grabCookie.mustache +11 -0
- package/docs/webapi/grabCssPropertyFrom.mustache +11 -0
- package/docs/webapi/grabCssPropertyFromAll.mustache +10 -0
- package/docs/webapi/grabCurrentUrl.mustache +9 -0
- package/docs/webapi/grabCurrentWindowHandle.mustache +6 -0
- package/docs/webapi/grabDataFromPerformanceTiming.mustache +20 -0
- package/docs/webapi/grabElementBoundingRect.mustache +20 -0
- package/docs/webapi/grabGeoLocation.mustache +8 -0
- package/docs/webapi/grabHTMLFrom.mustache +10 -0
- package/docs/webapi/grabHTMLFromAll.mustache +9 -0
- package/docs/webapi/grabNumberOfOpenTabs.mustache +8 -0
- package/docs/webapi/grabNumberOfVisibleElements.mustache +9 -0
- package/docs/webapi/grabPageScrollPosition.mustache +8 -0
- package/docs/webapi/grabPopupText.mustache +5 -0
- package/docs/webapi/grabSource.mustache +8 -0
- package/docs/webapi/grabTextFrom.mustache +10 -0
- package/docs/webapi/grabTextFromAll.mustache +9 -0
- package/docs/webapi/grabTitle.mustache +8 -0
- package/docs/webapi/grabValueFrom.mustache +9 -0
- package/docs/webapi/grabValueFromAll.mustache +8 -0
- package/docs/webapi/grabWebElement.mustache +9 -0
- package/docs/webapi/grabWebElements.mustache +9 -0
- package/docs/webapi/moveCursorTo.mustache +12 -0
- package/docs/webapi/openNewTab.mustache +7 -0
- package/docs/webapi/pressKey.mustache +12 -0
- package/docs/webapi/pressKeyDown.mustache +12 -0
- package/docs/webapi/pressKeyUp.mustache +12 -0
- package/docs/webapi/pressKeyWithKeyNormalization.mustache +60 -0
- package/docs/webapi/refreshPage.mustache +6 -0
- package/docs/webapi/resizeWindow.mustache +6 -0
- package/docs/webapi/rightClick.mustache +14 -0
- package/docs/webapi/saveElementScreenshot.mustache +10 -0
- package/docs/webapi/saveScreenshot.mustache +12 -0
- package/docs/webapi/say.mustache +10 -0
- package/docs/webapi/scrollIntoView.mustache +11 -0
- package/docs/webapi/scrollPageToBottom.mustache +6 -0
- package/docs/webapi/scrollPageToTop.mustache +6 -0
- package/docs/webapi/scrollTo.mustache +12 -0
- package/docs/webapi/see.mustache +11 -0
- package/docs/webapi/seeAttributesOnElements.mustache +9 -0
- package/docs/webapi/seeCheckboxIsChecked.mustache +10 -0
- package/docs/webapi/seeCookie.mustache +8 -0
- package/docs/webapi/seeCssPropertiesOnElements.mustache +9 -0
- package/docs/webapi/seeCurrentUrlEquals.mustache +11 -0
- package/docs/webapi/seeElement.mustache +8 -0
- package/docs/webapi/seeElementInDOM.mustache +8 -0
- package/docs/webapi/seeInCurrentUrl.mustache +8 -0
- package/docs/webapi/seeInField.mustache +12 -0
- package/docs/webapi/seeInPopup.mustache +8 -0
- package/docs/webapi/seeInSource.mustache +7 -0
- package/docs/webapi/seeInTitle.mustache +8 -0
- package/docs/webapi/seeNumberOfElements.mustache +11 -0
- package/docs/webapi/seeNumberOfVisibleElements.mustache +10 -0
- package/docs/webapi/seeTextEquals.mustache +9 -0
- package/docs/webapi/seeTitleEquals.mustache +8 -0
- package/docs/webapi/selectOption.mustache +21 -0
- package/docs/webapi/setCookie.mustache +16 -0
- package/docs/webapi/setGeoLocation.mustache +12 -0
- package/docs/webapi/switchTo.mustache +9 -0
- package/docs/webapi/switchToNextTab.mustache +10 -0
- package/docs/webapi/switchToPreviousTab.mustache +10 -0
- package/docs/webapi/type.mustache +21 -0
- package/docs/webapi/uncheckOption.mustache +13 -0
- package/docs/webapi/wait.mustache +8 -0
- package/docs/webapi/waitForClickable.mustache +11 -0
- package/docs/webapi/waitForDetached.mustache +10 -0
- package/docs/webapi/waitForElement.mustache +11 -0
- package/docs/webapi/waitForEnabled.mustache +6 -0
- package/docs/webapi/waitForFunction.mustache +17 -0
- package/docs/webapi/waitForInvisible.mustache +10 -0
- package/docs/webapi/waitForNumberOfTabs.mustache +9 -0
- package/docs/webapi/waitForText.mustache +13 -0
- package/docs/webapi/waitForValue.mustache +10 -0
- package/docs/webapi/waitForVisible.mustache +10 -0
- package/docs/webapi/waitInUrl.mustache +9 -0
- package/docs/webapi/waitNumberOfVisibleElements.mustache +10 -0
- package/docs/webapi/waitToHide.mustache +10 -0
- package/docs/webapi/waitUrlEquals.mustache +10 -0
- package/docs/webdriver.md +701 -0
- package/docs/wiki/Books-&-Posts.md +27 -0
- package/docs/wiki/Community-Helpers-&-Plugins.md +53 -0
- package/docs/wiki/Converting-Playwright-to-Istanbul-Coverage.md +61 -0
- package/docs/wiki/Examples.md +145 -0
- package/docs/wiki/Google-Summer-of-Code-(GSoC)-2020.md +68 -0
- package/docs/wiki/Home.md +16 -0
- package/docs/wiki/Migration-to-Appium-v2---CodeceptJS.md +83 -0
- package/docs/wiki/Release-Process.md +24 -0
- package/docs/wiki/Roadmap.md +23 -0
- package/docs/wiki/Tests.md +1393 -0
- package/docs/wiki/Upgrading-to-CodeceptJS-3.md +153 -0
- package/docs/wiki/Videos.md +19 -0
- package/lib/css2xpath/js/css_to_xpath.js +20 -0
- package/lib/css2xpath/js/expression.js +23 -0
- package/lib/css2xpath/js/renderer.js +239 -0
- package/lib/locator.js +15 -1
- package/package.json +12 -9
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
---
|
|
2
|
+
permalink: /helpers/Expect
|
|
3
|
+
editLink: false
|
|
4
|
+
sidebar: auto
|
|
5
|
+
title: Expect
|
|
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
|
+
Expect: {},
|
|
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,151 @@
|
|
|
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
|
+
const response = await I.sendQuery('{ users { name email }}');
|
|
130
|
+
// with variables
|
|
131
|
+
const response = await I.sendQuery(
|
|
132
|
+
'query getUser($id: ID) { user(id: $id) { name email }}',
|
|
133
|
+
{ id: 1 },
|
|
134
|
+
)
|
|
135
|
+
const user = response.data.data;
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
#### Parameters
|
|
139
|
+
|
|
140
|
+
- `query` **[String][3]**
|
|
141
|
+
- `variables` **[object][2]?** that may go along with the query
|
|
142
|
+
- `options` **[object][2]?** are additional query options
|
|
143
|
+
- `headers` **[object][2]?**
|
|
144
|
+
|
|
145
|
+
Returns **any** Promise<any>
|
|
146
|
+
|
|
147
|
+
[1]: https://github.com/axios/axios
|
|
148
|
+
|
|
149
|
+
[2]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object
|
|
150
|
+
|
|
151
|
+
[3]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String
|