codeceptjs 3.6.0-beta.1.ai-healers → 3.6.1
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/README.md +2 -2
- package/bin/codecept.js +2 -1
- package/docs/webapi/dontSeeTraffic.mustache +13 -0
- package/docs/webapi/flushNetworkTraffics.mustache +5 -0
- package/docs/webapi/grabRecordedNetworkTraffics.mustache +10 -0
- package/docs/webapi/seeTraffic.mustache +36 -0
- package/docs/webapi/startRecordingTraffic.mustache +8 -0
- package/docs/webapi/startRecordingWebSocketMessages.mustache +8 -0
- package/docs/webapi/stopRecordingTraffic.mustache +5 -0
- package/docs/webapi/stopRecordingWebSocketMessages.mustache +7 -0
- package/docs/webapi/waitForCookie.mustache +9 -0
- package/lib/actor.js +6 -3
- package/lib/command/dryRun.js +44 -13
- package/lib/helper/Appium.js +36 -12
- package/lib/helper/Expect.js +11 -8
- package/lib/helper/JSONResponse.js +8 -8
- package/lib/helper/MockServer.js +221 -0
- package/lib/helper/Playwright.js +107 -371
- package/lib/helper/Puppeteer.js +404 -71
- package/lib/helper/REST.js +4 -1
- package/lib/helper/WebDriver.js +189 -13
- package/lib/helper/errors/ElementAssertion.js +38 -0
- package/lib/helper/extras/PlaywrightReactVueLocator.js +6 -1
- package/lib/helper/network/actions.js +123 -0
- package/lib/helper/network/utils.js +187 -0
- package/lib/locator.js +36 -5
- package/lib/pause.js +4 -9
- package/lib/plugin/coverage.js +112 -99
- package/lib/step.js +3 -1
- package/package.json +49 -38
- package/typings/index.d.ts +19 -2
- package/typings/promiseBasedTypes.d.ts +505 -41
- package/typings/types.d.ts +531 -43
- package/docs/advanced.md +0 -351
- package/docs/ai.md +0 -365
- package/docs/api.md +0 -323
- package/docs/basics.md +0 -979
- package/docs/bdd.md +0 -539
- package/docs/best.md +0 -237
- package/docs/books.md +0 -37
- package/docs/bootstrap.md +0 -135
- package/docs/build/AI.js +0 -124
- package/docs/build/ApiDataFactory.js +0 -410
- package/docs/build/Appium.js +0 -2027
- package/docs/build/Expect.js +0 -422
- package/docs/build/FileSystem.js +0 -228
- package/docs/build/GraphQL.js +0 -229
- package/docs/build/GraphQLDataFactory.js +0 -309
- package/docs/build/JSONResponse.js +0 -338
- package/docs/build/Mochawesome.js +0 -71
- package/docs/build/Nightmare.js +0 -2152
- package/docs/build/OpenAI.js +0 -126
- package/docs/build/Playwright.js +0 -5110
- package/docs/build/Protractor.js +0 -2706
- package/docs/build/Puppeteer.js +0 -3905
- package/docs/build/REST.js +0 -344
- package/docs/build/TestCafe.js +0 -2125
- package/docs/build/WebDriver.js +0 -4240
- package/docs/changelog.md +0 -2572
- package/docs/commands.md +0 -266
- package/docs/community-helpers.md +0 -58
- package/docs/configuration.md +0 -157
- package/docs/continuous-integration.md +0 -22
- package/docs/custom-helpers.md +0 -306
- package/docs/data.md +0 -379
- package/docs/detox.md +0 -235
- package/docs/docker.md +0 -136
- package/docs/email.md +0 -183
- package/docs/examples.md +0 -149
- package/docs/heal.md +0 -186
- package/docs/helpers/ApiDataFactory.md +0 -266
- package/docs/helpers/Appium.md +0 -1374
- package/docs/helpers/Detox.md +0 -586
- package/docs/helpers/Expect.md +0 -275
- package/docs/helpers/FileSystem.md +0 -152
- package/docs/helpers/GraphQL.md +0 -151
- package/docs/helpers/GraphQLDataFactory.md +0 -226
- package/docs/helpers/JSONResponse.md +0 -254
- package/docs/helpers/Mochawesome.md +0 -8
- package/docs/helpers/MockRequest.md +0 -377
- package/docs/helpers/Nightmare.md +0 -1305
- package/docs/helpers/OpenAI.md +0 -70
- package/docs/helpers/Playwright.md +0 -2759
- package/docs/helpers/Polly.md +0 -44
- package/docs/helpers/Protractor.md +0 -1769
- package/docs/helpers/Puppeteer-firefox.md +0 -86
- package/docs/helpers/Puppeteer.md +0 -2317
- package/docs/helpers/REST.md +0 -218
- package/docs/helpers/TestCafe.md +0 -1321
- package/docs/helpers/WebDriver.md +0 -2547
- package/docs/hooks.md +0 -340
- package/docs/index.md +0 -111
- package/docs/installation.md +0 -75
- package/docs/internal-api.md +0 -266
- package/docs/locators.md +0 -339
- package/docs/mobile-react-native-locators.md +0 -67
- package/docs/mobile.md +0 -338
- package/docs/pageobjects.md +0 -291
- package/docs/parallel.md +0 -400
- package/docs/playwright.md +0 -632
- package/docs/plugins.md +0 -1247
- package/docs/puppeteer.md +0 -316
- package/docs/quickstart.md +0 -162
- package/docs/react.md +0 -70
- package/docs/reports.md +0 -392
- package/docs/secrets.md +0 -36
- package/docs/shadow.md +0 -68
- package/docs/shared/keys.mustache +0 -31
- package/docs/shared/react.mustache +0 -1
- package/docs/testcafe.md +0 -174
- package/docs/translation.md +0 -247
- package/docs/tutorial.md +0 -271
- package/docs/typescript.md +0 -180
- package/docs/ui.md +0 -59
- package/docs/videos.md +0 -28
- package/docs/visual.md +0 -202
- package/docs/vue.md +0 -143
- package/docs/webdriver.md +0 -701
- package/docs/wiki/Books-&-Posts.md +0 -27
- package/docs/wiki/Community-Helpers-&-Plugins.md +0 -53
- package/docs/wiki/Converting-Playwright-to-Istanbul-Coverage.md +0 -61
- package/docs/wiki/Examples.md +0 -145
- package/docs/wiki/Google-Summer-of-Code-(GSoC)-2020.md +0 -68
- package/docs/wiki/Home.md +0 -16
- package/docs/wiki/Migration-to-Appium-v2---CodeceptJS.md +0 -83
- package/docs/wiki/Release-Process.md +0 -24
- package/docs/wiki/Roadmap.md +0 -23
- package/docs/wiki/Tests.md +0 -1393
- package/docs/wiki/Upgrading-to-CodeceptJS-3.md +0 -153
- package/docs/wiki/Videos.md +0 -19
package/docs/helpers/Expect.md
DELETED
|
@@ -1,275 +0,0 @@
|
|
|
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?**
|
|
@@ -1,152 +0,0 @@
|
|
|
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
|
package/docs/helpers/GraphQL.md
DELETED
|
@@ -1,151 +0,0 @@
|
|
|
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
|