codeceptjs 4.0.2-beta.8 → 4.0.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.
Files changed (326) hide show
  1. package/README.md +39 -28
  2. package/bin/codecept.js +15 -2
  3. package/bin/codeceptq.js +49 -0
  4. package/bin/mcp-server.js +1189 -0
  5. package/docs/advanced.md +201 -0
  6. package/docs/agents.md +181 -0
  7. package/docs/ai.md +489 -0
  8. package/docs/aitrace.md +266 -0
  9. package/docs/api.md +332 -0
  10. package/docs/architecture.md +235 -0
  11. package/docs/assertions.md +415 -0
  12. package/docs/auth.md +318 -0
  13. package/docs/basics.md +424 -0
  14. package/docs/bdd.md +539 -0
  15. package/docs/best.md +240 -0
  16. package/docs/bootstrap.md +132 -0
  17. package/docs/commands.md +352 -0
  18. package/docs/community-helpers.md +63 -0
  19. package/docs/configuration.md +185 -0
  20. package/docs/continuous-integration.md +431 -0
  21. package/docs/custom-helpers.md +297 -0
  22. package/docs/data.md +448 -0
  23. package/docs/debugging.md +332 -0
  24. package/docs/detox.md +235 -0
  25. package/docs/docker.md +107 -0
  26. package/docs/effects.md +179 -0
  27. package/docs/element-based-testing.md +295 -0
  28. package/docs/element-selection.md +125 -0
  29. package/docs/els.md +328 -0
  30. package/docs/environment-variables.md +131 -0
  31. package/docs/examples.md +160 -0
  32. package/docs/heal.md +213 -0
  33. package/docs/helpers/ApiDataFactory.md +267 -0
  34. package/docs/helpers/Appium.md +1419 -0
  35. package/docs/helpers/Detox.md +665 -0
  36. package/docs/helpers/ExpectHelper.md +275 -0
  37. package/docs/helpers/FileSystem.md +152 -0
  38. package/docs/helpers/GraphQL.md +152 -0
  39. package/docs/helpers/GraphQLDataFactory.md +226 -0
  40. package/docs/helpers/JSONResponse.md +255 -0
  41. package/docs/helpers/MockRequest.md +377 -0
  42. package/docs/helpers/Playwright.md +2970 -0
  43. package/docs/helpers/Puppeteer-firefox.md +86 -0
  44. package/docs/helpers/Puppeteer.md +2583 -0
  45. package/docs/helpers/REST.md +289 -0
  46. package/docs/helpers/WebDriver.md +2639 -0
  47. package/docs/hooks.md +148 -0
  48. package/docs/index.md +111 -0
  49. package/docs/installation.md +121 -0
  50. package/docs/internal-test-server.md +89 -0
  51. package/docs/locators.md +355 -0
  52. package/docs/mcp.md +485 -0
  53. package/docs/migrate-from-cypress.md +98 -0
  54. package/docs/migrate-from-java.md +108 -0
  55. package/docs/migrate-from-protractor.md +101 -0
  56. package/docs/migrate-from-testcafe.md +99 -0
  57. package/docs/migration-4.md +745 -0
  58. package/docs/mobile.md +338 -0
  59. package/docs/pageobjects.md +399 -0
  60. package/docs/parallel.md +187 -0
  61. package/docs/playwright.md +714 -0
  62. package/docs/plugins/aiTrace.md +49 -0
  63. package/docs/plugins/analyze.md +66 -0
  64. package/docs/plugins/auth.md +241 -0
  65. package/docs/plugins/autoDelay.md +48 -0
  66. package/docs/plugins/browser.md +41 -0
  67. package/docs/plugins/coverage.md +39 -0
  68. package/docs/plugins/customLocator.md +119 -0
  69. package/docs/plugins/customReporter.md +16 -0
  70. package/docs/plugins/expose.md +75 -0
  71. package/docs/plugins/heal.md +44 -0
  72. package/docs/plugins/junitReporter.md +51 -0
  73. package/docs/plugins/pageInfo.md +34 -0
  74. package/docs/plugins/pause.md +43 -0
  75. package/docs/plugins/pauseOnFail.md +18 -0
  76. package/docs/plugins/retryFailedStep.md +75 -0
  77. package/docs/plugins/screencast.md +55 -0
  78. package/docs/plugins/screenshot.md +58 -0
  79. package/docs/plugins/screenshotOnFail.md +18 -0
  80. package/docs/plugins/stepTimeout.md +65 -0
  81. package/docs/plugins.md +87 -0
  82. package/docs/puppeteer.md +314 -0
  83. package/docs/quickstart.md +120 -0
  84. package/docs/reports.md +195 -0
  85. package/docs/retry.md +311 -0
  86. package/docs/secrets.md +150 -0
  87. package/docs/sessions.md +80 -0
  88. package/docs/shadow.md +68 -0
  89. package/docs/store.md +94 -0
  90. package/docs/test-structure.md +275 -0
  91. package/docs/timeouts.md +183 -0
  92. package/docs/translation.md +247 -0
  93. package/docs/tutorial.md +323 -0
  94. package/docs/typescript.md +159 -0
  95. package/docs/web-element.md +251 -0
  96. package/docs/webdriver.md +641 -0
  97. package/docs/within.md +55 -0
  98. package/lib/actor.js +1 -36
  99. package/lib/ai.js +3 -2
  100. package/lib/aria.js +260 -0
  101. package/lib/assertions.js +18 -0
  102. package/lib/codecept.js +34 -25
  103. package/lib/command/check.js +2 -1
  104. package/lib/command/definitions.js +6 -7
  105. package/lib/command/dryRun.js +24 -5
  106. package/lib/command/generate.js +3 -1
  107. package/lib/command/gherkin/snippets.js +5 -4
  108. package/lib/command/init.js +249 -270
  109. package/lib/command/list.js +150 -10
  110. package/lib/command/query.js +218 -0
  111. package/lib/command/run-multiple.js +3 -1
  112. package/lib/command/run-workers.js +2 -14
  113. package/lib/command/run.js +3 -17
  114. package/lib/command/utils.js +14 -0
  115. package/lib/command/workers/runTests.js +91 -37
  116. package/lib/config.js +96 -18
  117. package/lib/container.js +115 -17
  118. package/lib/effects.js +17 -0
  119. package/lib/element/WebElement.js +246 -2
  120. package/lib/els.js +12 -6
  121. package/lib/globals.js +32 -19
  122. package/lib/heal.js +7 -4
  123. package/lib/helper/ApiDataFactory.js +2 -1
  124. package/lib/helper/Appium.js +8 -8
  125. package/lib/helper/FileSystem.js +3 -2
  126. package/lib/helper/GraphQLDataFactory.js +2 -1
  127. package/lib/helper/Playwright.js +358 -467
  128. package/lib/helper/Puppeteer.js +335 -192
  129. package/lib/helper/WebDriver.js +324 -111
  130. package/lib/helper/errors/ElementNotFound.js +5 -2
  131. package/lib/helper/errors/MultipleElementsFound.js +52 -0
  132. package/lib/helper/errors/NonFocusedType.js +8 -0
  133. package/lib/helper/extras/Download.js +45 -0
  134. package/lib/helper/extras/PlaywrightLocator.js +7 -107
  135. package/lib/helper/extras/elementSelection.js +58 -0
  136. package/lib/helper/extras/focusCheck.js +43 -0
  137. package/lib/helper/extras/richTextEditor.js +178 -0
  138. package/lib/helper/scripts/dropFile.js +11 -0
  139. package/lib/history.js +3 -2
  140. package/lib/html.js +103 -16
  141. package/lib/index.js +9 -1
  142. package/lib/listener/config.js +6 -4
  143. package/lib/listener/emptyRun.js +2 -1
  144. package/lib/listener/globalRetry.js +32 -6
  145. package/lib/listener/helpers.js +4 -1
  146. package/lib/listener/mocha.js +2 -1
  147. package/lib/listener/pageobjects.js +43 -0
  148. package/lib/listener/result.js +3 -2
  149. package/lib/locator.js +158 -16
  150. package/lib/mocha/cli.js +19 -1
  151. package/lib/mocha/factory.js +11 -1
  152. package/lib/mocha/inject.js +1 -1
  153. package/lib/mocha/scenarioConfig.js +2 -1
  154. package/lib/mocha/ui.js +5 -6
  155. package/lib/parser.js +2 -2
  156. package/lib/pause.js +38 -4
  157. package/lib/plugin/aiTrace.js +457 -0
  158. package/lib/plugin/analyze.js +9 -9
  159. package/lib/plugin/auth.js +5 -4
  160. package/lib/plugin/browser.js +77 -0
  161. package/lib/plugin/expose.js +159 -0
  162. package/lib/plugin/heal.js +47 -3
  163. package/lib/plugin/junitReporter.js +303 -0
  164. package/lib/plugin/pageInfo.js +54 -52
  165. package/lib/plugin/pause.js +131 -0
  166. package/lib/plugin/pauseOnFail.js +11 -33
  167. package/lib/plugin/retryFailedStep.js +43 -32
  168. package/lib/plugin/screencast.js +289 -0
  169. package/lib/plugin/screenshot.js +558 -0
  170. package/lib/plugin/screenshotOnFail.js +9 -170
  171. package/lib/plugin/stepTimeout.js +3 -2
  172. package/lib/recorder.js +1 -1
  173. package/lib/rerun.js +2 -1
  174. package/lib/result.js +2 -1
  175. package/lib/step/base.js +10 -9
  176. package/lib/step/comment.js +2 -2
  177. package/lib/step/config.js +15 -2
  178. package/lib/step/helper.js +4 -4
  179. package/lib/step/meta.js +3 -3
  180. package/lib/step/record.js +5 -5
  181. package/lib/store.js +72 -3
  182. package/lib/translation.js +2 -1
  183. package/lib/utils/loaderCheck.js +28 -0
  184. package/lib/utils/mask_data.js +2 -1
  185. package/lib/utils/pluginParser.js +151 -0
  186. package/lib/utils/trace.js +297 -0
  187. package/lib/utils/typescript.js +188 -23
  188. package/lib/utils.js +77 -3
  189. package/lib/workers.js +65 -40
  190. package/package.json +35 -30
  191. package/typings/index.d.ts +119 -8
  192. package/typings/promiseBasedTypes.d.ts +3158 -6065
  193. package/typings/types.d.ts +3453 -6494
  194. package/docs/webapi/amOnPage.mustache +0 -11
  195. package/docs/webapi/appendField.mustache +0 -11
  196. package/docs/webapi/attachFile.mustache +0 -12
  197. package/docs/webapi/blur.mustache +0 -18
  198. package/docs/webapi/checkOption.mustache +0 -13
  199. package/docs/webapi/clearCookie.mustache +0 -9
  200. package/docs/webapi/clearField.mustache +0 -9
  201. package/docs/webapi/click.mustache +0 -29
  202. package/docs/webapi/clickLink.mustache +0 -8
  203. package/docs/webapi/closeCurrentTab.mustache +0 -7
  204. package/docs/webapi/closeOtherTabs.mustache +0 -8
  205. package/docs/webapi/dontSee.mustache +0 -11
  206. package/docs/webapi/dontSeeCheckboxIsChecked.mustache +0 -10
  207. package/docs/webapi/dontSeeCookie.mustache +0 -8
  208. package/docs/webapi/dontSeeCurrentUrlEquals.mustache +0 -10
  209. package/docs/webapi/dontSeeElement.mustache +0 -8
  210. package/docs/webapi/dontSeeElementInDOM.mustache +0 -8
  211. package/docs/webapi/dontSeeInCurrentUrl.mustache +0 -4
  212. package/docs/webapi/dontSeeInField.mustache +0 -11
  213. package/docs/webapi/dontSeeInSource.mustache +0 -8
  214. package/docs/webapi/dontSeeInTitle.mustache +0 -8
  215. package/docs/webapi/dontSeeTraffic.mustache +0 -13
  216. package/docs/webapi/doubleClick.mustache +0 -13
  217. package/docs/webapi/downloadFile.mustache +0 -12
  218. package/docs/webapi/dragAndDrop.mustache +0 -9
  219. package/docs/webapi/dragSlider.mustache +0 -11
  220. package/docs/webapi/executeAsyncScript.mustache +0 -24
  221. package/docs/webapi/executeScript.mustache +0 -26
  222. package/docs/webapi/fillField.mustache +0 -16
  223. package/docs/webapi/flushNetworkTraffics.mustache +0 -5
  224. package/docs/webapi/focus.mustache +0 -13
  225. package/docs/webapi/forceClick.mustache +0 -28
  226. package/docs/webapi/forceRightClick.mustache +0 -18
  227. package/docs/webapi/grabAllWindowHandles.mustache +0 -7
  228. package/docs/webapi/grabAttributeFrom.mustache +0 -10
  229. package/docs/webapi/grabAttributeFromAll.mustache +0 -9
  230. package/docs/webapi/grabBrowserLogs.mustache +0 -9
  231. package/docs/webapi/grabCookie.mustache +0 -11
  232. package/docs/webapi/grabCssPropertyFrom.mustache +0 -11
  233. package/docs/webapi/grabCssPropertyFromAll.mustache +0 -10
  234. package/docs/webapi/grabCurrentUrl.mustache +0 -9
  235. package/docs/webapi/grabCurrentWindowHandle.mustache +0 -6
  236. package/docs/webapi/grabDataFromPerformanceTiming.mustache +0 -20
  237. package/docs/webapi/grabElementBoundingRect.mustache +0 -20
  238. package/docs/webapi/grabGeoLocation.mustache +0 -8
  239. package/docs/webapi/grabHTMLFrom.mustache +0 -10
  240. package/docs/webapi/grabHTMLFromAll.mustache +0 -9
  241. package/docs/webapi/grabNumberOfOpenTabs.mustache +0 -8
  242. package/docs/webapi/grabNumberOfVisibleElements.mustache +0 -9
  243. package/docs/webapi/grabPageScrollPosition.mustache +0 -8
  244. package/docs/webapi/grabPopupText.mustache +0 -5
  245. package/docs/webapi/grabRecordedNetworkTraffics.mustache +0 -10
  246. package/docs/webapi/grabSource.mustache +0 -8
  247. package/docs/webapi/grabTextFrom.mustache +0 -10
  248. package/docs/webapi/grabTextFromAll.mustache +0 -9
  249. package/docs/webapi/grabTitle.mustache +0 -8
  250. package/docs/webapi/grabValueFrom.mustache +0 -9
  251. package/docs/webapi/grabValueFromAll.mustache +0 -8
  252. package/docs/webapi/grabWebElement.mustache +0 -9
  253. package/docs/webapi/grabWebElements.mustache +0 -9
  254. package/docs/webapi/moveCursorTo.mustache +0 -12
  255. package/docs/webapi/openNewTab.mustache +0 -7
  256. package/docs/webapi/pressKey.mustache +0 -12
  257. package/docs/webapi/pressKeyDown.mustache +0 -12
  258. package/docs/webapi/pressKeyUp.mustache +0 -12
  259. package/docs/webapi/pressKeyWithKeyNormalization.mustache +0 -60
  260. package/docs/webapi/refreshPage.mustache +0 -6
  261. package/docs/webapi/resizeWindow.mustache +0 -6
  262. package/docs/webapi/rightClick.mustache +0 -14
  263. package/docs/webapi/saveElementScreenshot.mustache +0 -10
  264. package/docs/webapi/saveScreenshot.mustache +0 -12
  265. package/docs/webapi/say.mustache +0 -10
  266. package/docs/webapi/scrollIntoView.mustache +0 -11
  267. package/docs/webapi/scrollPageToBottom.mustache +0 -6
  268. package/docs/webapi/scrollPageToTop.mustache +0 -6
  269. package/docs/webapi/scrollTo.mustache +0 -12
  270. package/docs/webapi/see.mustache +0 -11
  271. package/docs/webapi/seeAttributesOnElements.mustache +0 -9
  272. package/docs/webapi/seeCheckboxIsChecked.mustache +0 -10
  273. package/docs/webapi/seeCookie.mustache +0 -8
  274. package/docs/webapi/seeCssPropertiesOnElements.mustache +0 -9
  275. package/docs/webapi/seeCurrentUrlEquals.mustache +0 -11
  276. package/docs/webapi/seeElement.mustache +0 -8
  277. package/docs/webapi/seeElementInDOM.mustache +0 -8
  278. package/docs/webapi/seeInCurrentUrl.mustache +0 -8
  279. package/docs/webapi/seeInField.mustache +0 -12
  280. package/docs/webapi/seeInPopup.mustache +0 -8
  281. package/docs/webapi/seeInSource.mustache +0 -7
  282. package/docs/webapi/seeInTitle.mustache +0 -8
  283. package/docs/webapi/seeNumberOfElements.mustache +0 -11
  284. package/docs/webapi/seeNumberOfVisibleElements.mustache +0 -10
  285. package/docs/webapi/seeTextEquals.mustache +0 -9
  286. package/docs/webapi/seeTitleEquals.mustache +0 -8
  287. package/docs/webapi/seeTraffic.mustache +0 -36
  288. package/docs/webapi/selectOption.mustache +0 -21
  289. package/docs/webapi/setCookie.mustache +0 -16
  290. package/docs/webapi/setGeoLocation.mustache +0 -12
  291. package/docs/webapi/startRecordingTraffic.mustache +0 -8
  292. package/docs/webapi/startRecordingWebSocketMessages.mustache +0 -8
  293. package/docs/webapi/stopRecordingTraffic.mustache +0 -5
  294. package/docs/webapi/stopRecordingWebSocketMessages.mustache +0 -7
  295. package/docs/webapi/switchTo.mustache +0 -9
  296. package/docs/webapi/switchToNextTab.mustache +0 -10
  297. package/docs/webapi/switchToPreviousTab.mustache +0 -10
  298. package/docs/webapi/type.mustache +0 -21
  299. package/docs/webapi/uncheckOption.mustache +0 -13
  300. package/docs/webapi/wait.mustache +0 -8
  301. package/docs/webapi/waitForClickable.mustache +0 -11
  302. package/docs/webapi/waitForCookie.mustache +0 -9
  303. package/docs/webapi/waitForDetached.mustache +0 -10
  304. package/docs/webapi/waitForDisabled.mustache +0 -6
  305. package/docs/webapi/waitForElement.mustache +0 -11
  306. package/docs/webapi/waitForEnabled.mustache +0 -6
  307. package/docs/webapi/waitForFunction.mustache +0 -17
  308. package/docs/webapi/waitForInvisible.mustache +0 -10
  309. package/docs/webapi/waitForNumberOfTabs.mustache +0 -9
  310. package/docs/webapi/waitForText.mustache +0 -13
  311. package/docs/webapi/waitForValue.mustache +0 -10
  312. package/docs/webapi/waitForVisible.mustache +0 -10
  313. package/docs/webapi/waitInUrl.mustache +0 -9
  314. package/docs/webapi/waitNumberOfVisibleElements.mustache +0 -10
  315. package/docs/webapi/waitToHide.mustache +0 -10
  316. package/docs/webapi/waitUrlEquals.mustache +0 -10
  317. package/lib/helper/AI.js +0 -214
  318. package/lib/helper/Mochawesome.js +0 -96
  319. package/lib/helper/extras/PlaywrightReactVueLocator.js +0 -52
  320. package/lib/helper/extras/React.js +0 -65
  321. package/lib/listener/enhancedGlobalRetry.js +0 -110
  322. package/lib/plugin/enhancedRetryFailedStep.js +0 -99
  323. package/lib/plugin/htmlReporter.js +0 -3648
  324. package/lib/plugin/stepByStepReport.js +0 -427
  325. package/lib/plugin/subtitles.js +0 -89
  326. package/lib/retryCoordinator.js +0 -207
@@ -0,0 +1,289 @@
1
+ ---
2
+ permalink: /helpers/REST
3
+ editLink: false
4
+ sidebar: auto
5
+ title: REST
6
+ ---
7
+
8
+ <!-- Generated by documentation.js. Update this documentation by updating the source code. -->
9
+
10
+ ## REST
11
+
12
+ **Extends Helper**
13
+
14
+ REST helper allows to send additional requests to the REST API during acceptance tests.
15
+ [Axios][1] library is used to perform requests.
16
+
17
+
18
+
19
+ ## Configuration
20
+
21
+ Type: [object][4]
22
+
23
+ ### Properties
24
+
25
+ * `endpoint` **[string][3]?** API base URL
26
+ * `prettyPrintJson` **[boolean][6]?** pretty print json for response/request on console logs.
27
+ * `printCurl` **[boolean][6]?** print cURL request on console logs. False by default.
28
+ * `timeout` **[number][5]?** timeout for requests in milliseconds. 10000ms by default.
29
+ * `defaultHeaders` **[object][4]?** a list of default headers.
30
+ * `httpAgent` **[object][4]?** create an agent with SSL certificate
31
+ * `onRequest` **[function][7]?** an async function which can update request object.
32
+ * `onResponse` **[function][7]?** an async function which can update response object.
33
+ * `maxUploadFileSize` **[number][5]?** set the max content file size in MB when performing api calls.
34
+
35
+
36
+
37
+ ## Example
38
+
39
+ ```js
40
+ {
41
+ helpers: {
42
+ REST: {
43
+ endpoint: 'http://site.com/api',
44
+ prettyPrintJson: true,
45
+ onRequest: (request) => {
46
+ request.headers.auth = '123';
47
+ }
48
+ }
49
+ }
50
+ }
51
+ ```
52
+
53
+ With httpAgent
54
+
55
+ ```js
56
+ {
57
+ helpers: {
58
+ REST: {
59
+ endpoint: 'http://site.com/api',
60
+ prettyPrintJson: true,
61
+ httpAgent: {
62
+ key: fs.readFileSync(__dirname + '/path/to/keyfile.key'),
63
+ cert: fs.readFileSync(__dirname + '/path/to/certfile.cert'),
64
+ rejectUnauthorized: false,
65
+ keepAlive: true
66
+ }
67
+ }
68
+ }
69
+ }
70
+ ```
71
+
72
+ ```js
73
+ {
74
+ helpers: {
75
+ REST: {
76
+ endpoint: 'http://site.com/api',
77
+ prettyPrintJson: true,
78
+ httpAgent: {
79
+ ca: fs.readFileSync(__dirname + '/path/to/ca.pem'),
80
+ rejectUnauthorized: false,
81
+ keepAlive: true
82
+ }
83
+ }
84
+ }
85
+ }
86
+ ```
87
+
88
+ ## Access From Helpers
89
+
90
+ Send REST requests by accessing `_executeRequest` method:
91
+
92
+ ```js
93
+ this.helpers['REST']._executeRequest({
94
+ url,
95
+ data,
96
+ });
97
+ ```
98
+
99
+ ## Methods
100
+
101
+ ### Parameters
102
+
103
+ * `config` &#x20;
104
+
105
+ ### _executeRequest
106
+
107
+ Executes axios request
108
+
109
+ #### Parameters
110
+
111
+ * `request` **any**&#x20;
112
+
113
+ Returns **[Promise][2]<any>** response
114
+
115
+ ### _url
116
+
117
+ Generates url based on format sent (takes endpoint + url if latter lacks 'http')
118
+
119
+ #### Parameters
120
+
121
+ * `url` **any**&#x20;
122
+
123
+ ### amBearerAuthenticated
124
+
125
+ Adds a header for Bearer authentication
126
+
127
+ ```js
128
+ // we use secret function to hide token from logs
129
+ I.amBearerAuthenticated(secret('heregoestoken'))
130
+ ```
131
+
132
+ #### Parameters
133
+
134
+ * `accessToken` **([string][3] | CodeceptJS.Secret)** Bearer access token
135
+
136
+ ### haveRequestHeaders
137
+
138
+ Sets request headers for all requests of this test
139
+
140
+ #### Parameters
141
+
142
+ * `headers` **[object][4]** headers list
143
+
144
+ ### sendDeleteRequest
145
+
146
+ Sends DELETE request to API.
147
+
148
+ ```js
149
+ I.sendDeleteRequest('/api/users/1');
150
+ ```
151
+
152
+ #### Parameters
153
+
154
+ * `url` **any**&#x20;
155
+ * `headers` **[object][4]** the headers object to be sent. By default, it is sent as an empty object
156
+
157
+ Returns **[Promise][2]<any>** response
158
+
159
+ ### sendDeleteRequestWithPayload
160
+
161
+ Sends DELETE request to API with payload.
162
+
163
+ ```js
164
+ I.sendDeleteRequestWithPayload('/api/users/1', { author: 'john' });
165
+ ```
166
+
167
+ #### Parameters
168
+
169
+ * `url` **any**&#x20;
170
+ * `payload` **any** the payload to be sent. By default it is sent as an empty object
171
+ * `headers` **[object][4]** the headers object to be sent. By default, it is sent as an empty object
172
+
173
+ Returns **[Promise][2]<any>** response
174
+
175
+ ### sendGetRequest
176
+
177
+ Send GET request to REST API
178
+
179
+ ```js
180
+ I.sendGetRequest('/api/users.json');
181
+ ```
182
+
183
+ #### Parameters
184
+
185
+ * `url` **any**&#x20;
186
+ * `headers` **[object][4]** the headers object to be sent. By default, it is sent as an empty object
187
+
188
+ Returns **[Promise][2]<any>** response
189
+
190
+ ### sendHeadRequest
191
+
192
+ Send HEAD request to REST API
193
+
194
+ ```js
195
+ I.sendHeadRequest('/api/users.json');
196
+ ```
197
+
198
+ #### Parameters
199
+
200
+ * `url` **any**&#x20;
201
+ * `headers` **[object][4]** the headers object to be sent. By default, it is sent as an empty object
202
+
203
+ Returns **[Promise][2]<any>** response
204
+
205
+ ### sendPatchRequest
206
+
207
+ Sends PATCH request to API.
208
+
209
+ ```js
210
+ I.sendPatchRequest('/api/users.json', { "email": "user@user.com" });
211
+
212
+ // To mask the payload in logs
213
+ I.sendPatchRequest('/api/users.json', secret({ "email": "user@user.com" }));
214
+
215
+ ```
216
+
217
+ #### Parameters
218
+
219
+ * `url` **[string][3]**&#x20;
220
+ * `payload` **any** the payload to be sent. By default it is sent as an empty object
221
+ * `headers` **[object][4]** the headers object to be sent. By default it is sent as an empty object
222
+
223
+ Returns **[Promise][2]<any>** response
224
+
225
+ ### sendPostRequest
226
+
227
+ Sends POST request to API.
228
+
229
+ ```js
230
+ I.sendPostRequest('/api/users.json', { "email": "user@user.com" });
231
+
232
+ // To mask the payload in logs
233
+ I.sendPostRequest('/api/users.json', secret({ "email": "user@user.com" }));
234
+
235
+ ```
236
+
237
+ #### Parameters
238
+
239
+ * `url` **any**&#x20;
240
+ * `payload` **any** the payload to be sent. By default, it is sent as an empty object
241
+ * `headers` **[object][4]** the headers object to be sent. By default, it is sent as an empty object
242
+
243
+ Returns **[Promise][2]<any>** response
244
+
245
+ ### sendPutRequest
246
+
247
+ Sends PUT request to API.
248
+
249
+ ```js
250
+ I.sendPutRequest('/api/users.json', { "email": "user@user.com" });
251
+
252
+ // To mask the payload in logs
253
+ I.sendPutRequest('/api/users.json', secret({ "email": "user@user.com" }));
254
+
255
+ ```
256
+
257
+ #### Parameters
258
+
259
+ * `url` **[string][3]**&#x20;
260
+ * `payload` **any** the payload to be sent. By default it is sent as an empty object
261
+ * `headers` **[object][4]** the headers object to be sent. By default it is sent as an empty object
262
+
263
+ Returns **[Promise][2]<any>** response
264
+
265
+ ### setRequestTimeout
266
+
267
+ Set timeout for the request
268
+
269
+ ```js
270
+ I.setRequestTimeout(10000); // In milliseconds
271
+ ```
272
+
273
+ #### Parameters
274
+
275
+ * `newTimeout` **[number][5]** timeout in milliseconds
276
+
277
+ [1]: https://github.com/axios/axios
278
+
279
+ [2]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise
280
+
281
+ [3]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String
282
+
283
+ [4]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object
284
+
285
+ [5]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number
286
+
287
+ [6]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean
288
+
289
+ [7]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function