artes 1.0.0

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 (32) hide show
  1. package/README.md +330 -0
  2. package/cucumber.config.js +98 -0
  3. package/executer.js +45 -0
  4. package/functionDefinitions.md +2065 -0
  5. package/index.js +33 -0
  6. package/package.json +35 -0
  7. package/src/helper/contextManager/browserManager.js +44 -0
  8. package/src/helper/contextManager/requestManager.js +10 -0
  9. package/src/helper/executers/cleaner.js +27 -0
  10. package/src/helper/executers/helper.js +32 -0
  11. package/src/helper/executers/projectCreator.js +152 -0
  12. package/src/helper/executers/reportGenerator.js +36 -0
  13. package/src/helper/executers/testRunner.js +35 -0
  14. package/src/helper/executers/versionChecker.js +13 -0
  15. package/src/helper/imports/commons.js +36 -0
  16. package/src/helper/pomController/elementController.js +24 -0
  17. package/src/helper/pomController/pomCollector.js +18 -0
  18. package/src/helper/stepFunctions/actionCommons.js +15 -0
  19. package/src/helper/stepFunctions/assertions.js +421 -0
  20. package/src/helper/stepFunctions/elementInteractions.js +38 -0
  21. package/src/helper/stepFunctions/frameActions.js +50 -0
  22. package/src/helper/stepFunctions/keyboardActions.js +29 -0
  23. package/src/helper/stepFunctions/mouseActions.js +97 -0
  24. package/src/helper/stepFunctions/pageActions.js +14 -0
  25. package/src/hooks/context.js +12 -0
  26. package/src/hooks/hooks.js +53 -0
  27. package/src/tests/stepDefinitions/assertions.steps.js +769 -0
  28. package/src/tests/stepDefinitions/frameActions.steps.js +76 -0
  29. package/src/tests/stepDefinitions/keyboardActions.steps.js +72 -0
  30. package/src/tests/stepDefinitions/mouseActions.steps.js +224 -0
  31. package/src/tests/stepDefinitions/page.steps.js +30 -0
  32. package/stepDefinitions.md +267 -0
@@ -0,0 +1,76 @@
1
+ const { When } = require("../../helper/imports/commons");
2
+ const { frame } = require("../../helper/stepFunctions/actionCommons");
3
+
4
+ // User takes a screenshot of a specific selector
5
+ When("User takes a screenshot of {string}", async function (selector) {
6
+ await frame.screenshot(selector);
7
+ });
8
+
9
+ // User gets the content frame of a specific selector
10
+ When("User gets the content frame of {string}", async function (selector) {
11
+ await frame.contentFrame(selector);
12
+ });
13
+
14
+ // User gets the frame locator of a specific selector
15
+ When("User gets the frame locator of {string}", async function (selector) {
16
+ await frame.frameLocator(selector);
17
+ });
18
+
19
+ // User gets the nth element of a specific selector
20
+ When(
21
+ "User gets the {int}th element of {string}",
22
+ async function (index, selector) {
23
+ await frame.nth(selector, index);
24
+ },
25
+ );
26
+
27
+ // User gets the first element of a specific selector
28
+ When("User gets the first element of {string}", async function (selector) {
29
+ await frame.first(selector);
30
+ });
31
+
32
+ // User gets the last element of a specific selector
33
+ When("User gets the last element of {string}", async function (selector) {
34
+ await frame.last(selector);
35
+ });
36
+
37
+ // User filters elements of a specific selector
38
+ When(
39
+ "User filters elements of {string} with filter {string}",
40
+ async function (selector, filter) {
41
+ await frame.filter(selector, filter);
42
+ },
43
+ );
44
+
45
+ // User counts the number of elements of a specific selector
46
+ When("User counts the elements of {string}", async function (selector) {
47
+ await frame.count(selector);
48
+ });
49
+
50
+ // User gets an element by its alt text
51
+ When("User gets the element with alt text {string}", async function (text) {
52
+ await frame.getByAltText(text);
53
+ });
54
+
55
+ // User gets an element by its label
56
+ When("User gets the element with label {string}", async function (label) {
57
+ await frame.getByLabel(label);
58
+ });
59
+
60
+ // User gets an element by its placeholder
61
+ When(
62
+ "User gets the element with placeholder {string}",
63
+ async function (placeholder) {
64
+ await frame.getByPlaceholder(placeholder);
65
+ },
66
+ );
67
+
68
+ // User gets an element by its role
69
+ When("User gets the element with role {string}", async function (role) {
70
+ await frame.getByRole(role);
71
+ });
72
+
73
+ // User gets an element by its testId
74
+ When("User gets the element with testId {string}", async function (testId) {
75
+ await frame.getByTestId(testId);
76
+ });
@@ -0,0 +1,72 @@
1
+ const { When } = require("../../helper/imports/commons");
2
+ const { keyboard } = require("../../helper/stepFunctions/actionCommons");
3
+
4
+ // User presses a key on a specific selector
5
+ When("User presses {string} on {string}", async function (key, selector) {
6
+ await keyboard.press(selector, key);
7
+ });
8
+
9
+ // User presses keys sequentially on a specific selector
10
+ When(
11
+ "User presses keys {string} sequentially on {string}",
12
+ async function (keys, selector) {
13
+ await keyboard.pressSequentially(selector, keys);
14
+ },
15
+ );
16
+
17
+ // User presses keys sequentially with a delay on a specific selector
18
+ When(
19
+ "User presses keys {string} sequentially with delay {int} on {string}",
20
+ async function (keys, delay, selector) {
21
+ await keyboard.pressSequentiallyDelay(selector, keys, delay);
22
+ },
23
+ );
24
+
25
+ // User fills a value into a specific selector
26
+ When("User types {string} in {string}", async function (value, selector) {
27
+ await keyboard.fill(selector, value);
28
+ });
29
+
30
+ // User clears the input of a specific selector
31
+ When("User clears {string}", async function (selector) {
32
+ await keyboard.clear(selector);
33
+ });
34
+
35
+ // User selects text in a specific selector
36
+ When("User selects text in {string}", async function (selector) {
37
+ await keyboard.selectText(selector);
38
+ });
39
+
40
+ // User sets input files for a specific selector
41
+ When(
42
+ "User sets input files {string} for {string}",
43
+ async function (files, selector) {
44
+ const fileArray = files.split(","); // Assuming files are comma-separated
45
+ await keyboard.setInputFiles(selector, fileArray);
46
+ },
47
+ );
48
+
49
+ // User presses a key down
50
+ When("User holds down {string}", async function (key) {
51
+ await keyboard.keyDown(key);
52
+ });
53
+
54
+ // User releases a key
55
+ When("User releases {string}", async function (key) {
56
+ await keyboard.keyUp(key);
57
+ });
58
+
59
+ // User inserts text
60
+ When("User inserts text {string}", async function (text) {
61
+ await keyboard.insertText(text);
62
+ });
63
+
64
+ // User presses a key
65
+ When("User presses {string}", async function (key) {
66
+ await keyboard.keyboardPress(key);
67
+ });
68
+
69
+ // User types a key with a delay
70
+ When("User types {string} with delay {int}", async function (key, delay) {
71
+ await keyboard.keyboardType(key, delay);
72
+ });
@@ -0,0 +1,224 @@
1
+ const { When } = require("../../helper/imports/commons");
2
+ const { mouse } = require("../../helper/stepFunctions/actionCommons");
3
+
4
+ // User clicks on a selector
5
+ When("User clicks {string}", async function (selector) {
6
+ await mouse.click(selector);
7
+ });
8
+
9
+ // User clicks on a selector with force
10
+ When("User clicks {string} with force", async function (selector) {
11
+ await mouse.click(selector, true);
12
+ });
13
+
14
+ // User clicks on a selector at a specific position
15
+ When(
16
+ "User clicks {string} at {int}, {int} position",
17
+ async function (selector, x, y) {
18
+ await mouse.clickPosition(selector, x, y);
19
+ },
20
+ );
21
+
22
+ // User clicks on a selector at a specific position with force
23
+ When(
24
+ "User clicks {string} at {int}, {int} position with force",
25
+ async function (selector, x, y) {
26
+ await mouse.clickPosition(selector, x, y, true);
27
+ },
28
+ );
29
+
30
+ // User clicks at specific coordinates
31
+ When("User clicks at {int}, {int} coordinates", async function (x, y) {
32
+ await mouse.mouseClickPosition(x, y);
33
+ });
34
+
35
+ // User clicks at specific coordinates with click count and delay
36
+ When(
37
+ "User clicks at {int}, {int} coordinates with click count {int} and delay {int}",
38
+ async function (x, y, clickCount, delay) {
39
+ await mouse.mouseClickPosition(x, y, clickCount, delay);
40
+ },
41
+ );
42
+
43
+ // User clicks at specific coordinates with force
44
+ When(
45
+ "User clicks at {int}, {int} coordinates with force",
46
+ async function (x, y) {
47
+ await mouse.mouseClickPosition(x, y, 1, 0, true); // Defaulting clickCount and delay
48
+ },
49
+ );
50
+
51
+ // User clicks on a selector with a specific mouse button
52
+ When(
53
+ "User clicks {string} with button {string}",
54
+ async function (selector, button) {
55
+ await mouse.clickByBtn(selector, button);
56
+ },
57
+ );
58
+
59
+ // User clicks on a selector with a specific mouse button and force
60
+ When(
61
+ "User clicks {string} with button {string} and force",
62
+ async function (selector, button) {
63
+ await mouse.clickByBtn(selector, button, true);
64
+ },
65
+ );
66
+
67
+ // User double clicks on a selector
68
+ When("User double clicks {string}", async function (selector) {
69
+ await mouse.doubleClick(selector);
70
+ });
71
+
72
+ // User double clicks on a selector with force
73
+ When("User double clicks {string} with force", async function (selector) {
74
+ await mouse.doubleClick(selector, true);
75
+ });
76
+
77
+ // User double clicks on a selector at a specific position
78
+ When(
79
+ "User double clicks {string} at {int}, {int} position",
80
+ async function (selector, x, y) {
81
+ await mouse.doubleClickPosition(selector, x, y);
82
+ },
83
+ );
84
+
85
+ // User double clicks on a selector at a specific position with force
86
+ When(
87
+ "User double clicks {string} at {int}, {int} position with force",
88
+ async function (selector, x, y) {
89
+ await mouse.doubleClickPosition(selector, x, y, true);
90
+ },
91
+ );
92
+
93
+ // User double clicks at specific coordinates
94
+ When("User double clicks at {int}, {int} coordinates", async function (x, y) {
95
+ await mouse.mouseDoubleClickPosition(x, y);
96
+ });
97
+
98
+ // User double clicks at specific coordinates with click count and delay
99
+ When(
100
+ "User double clicks at {int}, {int} coordinates with click count {int} and delay {int}",
101
+ async function (x, y, clickCount, delay) {
102
+ await mouse.mouseDoubleClickPosition(x, y, clickCount, delay);
103
+ },
104
+ );
105
+
106
+ // User double clicks at specific coordinates with force
107
+ When(
108
+ "User double clicks at {int}, {int} coordinates with force",
109
+ async function (x, y) {
110
+ await mouse.mouseDoubleClickPosition(x, y, 1, 0, true); // Defaulting clickCount and delay
111
+ },
112
+ );
113
+
114
+ // User moves the mouse to specific coordinates
115
+ When("User moves to {int}, {int} coordinates", async function (x, y) {
116
+ await mouse.move(x, y);
117
+ });
118
+
119
+ // User scrolls the mouse wheel at specific coordinates
120
+ When(
121
+ "User scrolls the mouse wheel at {int}, {int} coordinates",
122
+ async function (x, y) {
123
+ await mouse.wheel(x, y);
124
+ },
125
+ );
126
+
127
+ // User hovers over a selector
128
+ When("User hovers over {string}", async function (selector) {
129
+ await mouse.hover(selector);
130
+ });
131
+
132
+ // User hovers over a selector with force
133
+ When("User hovers over {string} with force", async function (selector) {
134
+ await mouse.hover(selector, true);
135
+ });
136
+
137
+ // User hovers over a selector at a specific position
138
+ When(
139
+ "User hovers over {string} at {int}, {int} position",
140
+ async function (selector, x, y) {
141
+ await mouse.hoverPosition(selector, x, y);
142
+ },
143
+ );
144
+
145
+ // User hovers over a selector at a specific position with force
146
+ When(
147
+ "User hovers over {string} at {int}, {int} position with force",
148
+ async function (selector, x, y) {
149
+ await mouse.hoverPosition(selector, x, y, true);
150
+ },
151
+ );
152
+
153
+ // User focuses on a selector
154
+ When("User focuses on {string}", async function (selector) {
155
+ await mouse.focus(selector);
156
+ });
157
+
158
+ // User focuses on a selector with force
159
+ When("User focuses on {string} with force", async function (selector) {
160
+ await mouse.focus(selector, true);
161
+ });
162
+
163
+ // User focuses on a selector at a specific position
164
+ When(
165
+ "User focuses on {string} at {int}, {int} position",
166
+ async function (selector, x, y) {
167
+ await mouse.focusPosition(selector, x, y);
168
+ },
169
+ );
170
+
171
+ // User focuses on a selector at a specific position with force
172
+ When(
173
+ "User focuses on {string} at {int}, {int} position with force",
174
+ async function (selector, x, y) {
175
+ await mouse.focusPosition(selector, x, y, true);
176
+ },
177
+ );
178
+
179
+ // User drags an element from one selector to another
180
+ When(
181
+ "User drags {string} to {string}",
182
+ async function (sourceSelector, targetSelector) {
183
+ await mouse.dragAndDrop(sourceSelector, targetSelector);
184
+ },
185
+ );
186
+
187
+ // User drags an element to a specific position
188
+ When(
189
+ "User drags {string} to {int}, {int} position",
190
+ async function (sourceSelector, x, y) {
191
+ await mouse.dragAndDropPosition(sourceSelector, x, y);
192
+ },
193
+ );
194
+
195
+ // User selects options by value
196
+ When(
197
+ "User selects by value {string} from {string}",
198
+ async function (value, selector) {
199
+ await mouse.selectByValue(selector, value);
200
+ },
201
+ );
202
+
203
+ // User selects an option by text
204
+ When(
205
+ "User selects by text {string} from {string}",
206
+ async function (text, selector) {
207
+ await mouse.selectByText(selector, text);
208
+ },
209
+ );
210
+
211
+ // User checks a checkbox or radio button
212
+ When("User checks {string}", async function (selector) {
213
+ await mouse.check(selector);
214
+ });
215
+
216
+ // User unchecks a checkbox or radio button
217
+ When("User unchecks {string}", async function (selector) {
218
+ await mouse.uncheck(selector);
219
+ });
220
+
221
+ // User scrolls into view if needed for a selector
222
+ When("User scrolls {string} into view", async function (selector) {
223
+ await mouse.scrollIntoViewIfNeeded(selector);
224
+ });
@@ -0,0 +1,30 @@
1
+ const { When, context } = require("../../helper/imports/commons");
2
+ const { page } = require("../../helper/stepFunctions/actionCommons");
3
+
4
+ When("User navigates to {string} page", async function (url) {
5
+ await page.navigateTo(url);
6
+ });
7
+
8
+ // When("User is on {string} page", async function (url) {
9
+ // await page.navigateTo(url);
10
+ // });
11
+
12
+ When("User gets URL of page", async function () {
13
+ await page.getURL();
14
+ });
15
+
16
+ When("User gets URL of page", async function () {
17
+ await page.getURL();
18
+ });
19
+
20
+ When(`User waits {int} seconds`, async (sec) => {
21
+ await context.page.waitForTimeout(sec * 1000);
22
+ });
23
+
24
+ When(`User waits {int} milliseconds`, async (sec) => {
25
+ await context.page.waitForTimeout(sec);
26
+ });
27
+
28
+ When(`User waits {int} minutes`, async (sec) => {
29
+ await context.page.waitForTimeout(sec * 1000 * 60);
30
+ });
@@ -0,0 +1,267 @@
1
+ # Step Definitions
2
+
3
+ ## Table of Contents
4
+
5
+ - [Mouse Actions](#mouse-actions)
6
+ - [Keyboard Actions](#keyboard-actions)
7
+ - [Page Actions](#page-actions)
8
+ - [Frame Actions](#frame-actions)
9
+ - [Assertions](#assertions)
10
+
11
+ ---
12
+
13
+ ## Mouse Actions
14
+
15
+ ### Click Actions
16
+
17
+ - User clicks `{string}`
18
+ - User clicks `{string}` with force
19
+ - User clicks `{string}` at `{int}, {int}` position
20
+ - User clicks `{string}` at `{int}, {int}` position with force
21
+ - User clicks at `{int}, {int}` coordinates
22
+ - User clicks at `{int}, {int}` coordinates with click count `{int}` and delay `{int}`
23
+ - User clicks at `{int}, {int}` coordinates with force
24
+ - User clicks `{string}` with button `{string}`
25
+ - User clicks `{string}` with button `{string}` and force
26
+
27
+ ### Double Click Actions
28
+
29
+ - User double clicks `{string}`
30
+ - User double clicks `{string}` with force
31
+ - User double clicks `{string}` at `{int}, {int}` position
32
+ - User double clicks `{string}` at `{int}, {int}` position with force
33
+ - User double clicks at `{int}, {int}` coordinates
34
+ - User double clicks at `{int}, {int}` coordinates with click count `{int}` and delay `{int}`
35
+ - User double clicks at `{int}, {int}` coordinates with force
36
+
37
+ ### Mouse Movement Actions
38
+
39
+ - User moves to `{int}, {int}` coordinates
40
+ - User scrolls the mouse wheel at `{int}, {int}` coordinates
41
+
42
+ ### Hover Actions
43
+
44
+ - User hovers over `{string}`
45
+ - User hovers over `{string}` with force
46
+ - User hovers over `{string}` at `{int}, {int}` position
47
+ - User hovers over `{string}` at `{int}, {int}` position with force
48
+
49
+ ### Focus Actions
50
+
51
+ - User focuses on `{string}`
52
+ - User focuses on `{string}` with force
53
+ - User focuses on `{string}` at `{int}, {int}` position
54
+ - User focuses on `{string}` at `{int}, {int}` position with force
55
+
56
+ ### Drag Actions
57
+
58
+ - User drags `{string}` to `{string}`
59
+ - User drags `{string}` to `{int}, {int}` position
60
+
61
+ ### Selection Actions
62
+
63
+ - User selects by value `{string}` from `{string}`
64
+ - User selects by text `{string}` from `{string}`
65
+
66
+ ### Checkbox Actions
67
+
68
+ - User checks `{string}`
69
+ - User unchecks `{string}`
70
+
71
+ ### Scroll Actions
72
+
73
+ - User scrolls into view for `{string}`
74
+
75
+ ---
76
+
77
+ ## Keyboard Actions
78
+
79
+ ### Press Actions
80
+
81
+ - User presses `{string} on {string}`
82
+ - User presses keys `{string}` sequentially on `{string}`
83
+ - User presses keys `{string}` sequentially with delay `{int} on {string}`
84
+
85
+ ### Input Actions
86
+
87
+ - User types `{string}` in `{string}`
88
+ - User types `{string}` with delay `{int}`
89
+ - User inserts text `{string}`
90
+ - User clears `{string}`
91
+
92
+ ### Selection Actions
93
+
94
+ - User selects text in `{string}`
95
+
96
+ ### File Input Actions
97
+
98
+ - User sets input files `{string}` for `{string}`
99
+
100
+ ### Key State Actions
101
+
102
+ - User holds down `{string}`
103
+ - User releases `{string}`
104
+ - User presses `{string}`
105
+
106
+ ---
107
+
108
+ ## Page Actions
109
+
110
+ ### Navigation Actions
111
+
112
+ - User navigates to `{string}` page
113
+
114
+ ### URL Actions
115
+
116
+ - User gets URL of page
117
+
118
+ ### Wait Actions
119
+
120
+ - User waits `{int}` seconds
121
+ - User waits `{int}` milliseconds
122
+ - User waits `{int}` minutes
123
+
124
+ ---
125
+
126
+ ## Frame Actions
127
+
128
+ ### Screenshot Actions
129
+
130
+ - User takes a screenshot of `{string}`
131
+
132
+ ### Content and Locator Actions
133
+
134
+ - User gets the content frame of `{string}`
135
+ - User gets the frame locator of `{string}`
136
+
137
+ ### Element Retrieval Actions
138
+
139
+ - User gets the `{int}th` element of `{string}`
140
+ - User gets the first element of `{string}`
141
+ - User gets the last element of `{string}`
142
+ - User filters elements of `{string}` with filter `{string}`
143
+
144
+ ### Counting Actions
145
+
146
+ - User counts the elements of `{string}`
147
+
148
+ ### Accessibility-Based Retrieval Actions
149
+
150
+ - User gets the element with alt text `{string}`
151
+ - User gets the element with label `{string}`
152
+ - User gets the element with placeholder `{string}`
153
+ - User gets the element with role `{string}`
154
+ - User gets the element with testI `{string}`
155
+ - User gets the element with testII `{string}`
156
+
157
+ ## Assertions
158
+
159
+ - User expects `{string}` should be attached
160
+ - User expects `{string}` should be checked
161
+ - User expects `{string}` should be disabled
162
+ - User expects `{string}` should be editable
163
+ - User expects `{string}` should be empty
164
+ - User expects `{string}` should be enabled
165
+ - User expects `{string}` should be focused
166
+ - User expects `{string}` should be hidden
167
+ - User expects `{string}` should be on the screen
168
+ - User expects `{string}` should be visible
169
+ - User expects `{string}` should have `{string}` text
170
+ - User expects `{string}` should have `{string}` description
171
+ - User expects `{string}` should have `{string}` name
172
+ - User expects `{string}` should have `{string}` attribute with `{string}` value
173
+ - User expects `{string}` should have `{string}` class
174
+ - User expects `{string}` should have `{int}` count
175
+ - User expects `{string}` should have `{string}` CSS property with `{string}` value
176
+ - User expects `{string}` should have `{string}` id
177
+ - User expects `{string}` should have `{string}` JavaScript property with `{string}` value
178
+ - User expects `{string}` should have `{string}` role
179
+ - User expects `{string}` should have a screenshot
180
+ - User expects `{string}` should match `{string}` text
181
+ - User expects `{string}` should have `{string}` value
182
+ - User expects `{string}` should have `{string}` values
183
+ - User expects `{string}` should not be attached
184
+ - User expects `{string}` should not be checked
185
+ - User expects `{string}` should not be disabled
186
+ - User expects `{string}` should not be editable
187
+ - User expects `{string}` should not be empty
188
+ - User expects `{string}` should not be enabled
189
+ - User expects `{string}` should not be focused
190
+ - User expects `{string}` should not be hidden
191
+ - User expects `{string}` should not be on screen
192
+ - User expects `{string}` should not be visible
193
+ - User expects `{string}` should not have `{string}` text
194
+ - User expects `{string}` should not have `{string}` description
195
+ - User expects `{string}` should not have `{string}` name
196
+ - User expects `{string}` should not have `{string}` attribute with `{string}` value
197
+ - User expects `{string}` should not have `{string}` class
198
+ - User expects count of `{string}` should not be `{int}`
199
+ - User expects `{string}` should not have `{string}` CSS property with `{string}` value
200
+ - User expects `{string}` should not have `{string}` id
201
+ - User expects `{string}` should not have `{string}` JavaScript property with `{string}` value
202
+ - User expects `{string}` should not have `{string}` role
203
+ - User expects `{string}` should not match `{string}` text
204
+ - User expects `{string}` should not have `{string}` value
205
+ - User expects `{string}` should not have `{string}` values
206
+ - User expects the page should not have a screenshot
207
+ - User expects the page should not have `{string}` title
208
+ - User expects the page url should not be `{string}`
209
+ - User is not on `{string}` page
210
+ - The response should not be OK
211
+ - User expects `{string}` should be `{string}` text
212
+ - User expects `{string}` should be close to `{float}` with precision `{int}`
213
+ - User expects `{string}` should be defined
214
+ - User expects `{string}` should be falsy
215
+ - User expects `{string}` should be greater than `{float}`
216
+ - User expects `{string}` should be greater than or equal to `{float}`
217
+ - User expects `{string}` should be an instance of `{string}`
218
+ - User expects `{string}` should be less than `{float}`
219
+ - User expects `{string}` should be less than or equal to `{float}`
220
+ - User expects `{string}` should be NaN
221
+ - User expects `{string}` should be null
222
+ - User expects `{string}` should be truthy
223
+ - User expects `{string}` should be undefined
224
+ - User expects `{string}` should have `{string}` substring
225
+ - User expects `{string}` should contain equal `{string}`
226
+ - User expects `{string}` should equal `{int}`
227
+ - User expects length of `{string}` should be `{int}`
228
+ - User expects `{string}` should have `{string}` property
229
+ - User expects `{string}` should match `{string}` regex
230
+ - User expects `{string}` should match `{string}` object
231
+ - User expects `{string}` should strictly equal `{string}`
232
+ - The function should throw
233
+ - User expects `{string}` should be any instance of `{string}`
234
+ - User expects `{string}` may be anything
235
+ - User expects `{string}` should contain `{string}` array elements
236
+ - User expects `{string}` should be close to `{float}` with precision `{int}`
237
+ - User expects `{string}` should contain `{string}` object properties
238
+ - User expects `{string}` should have `{string}` substring
239
+ - User expects `{string}` should match `{string}` regex
240
+ - User expects `{string}` should not have `{string}` text
241
+ - User expects `{string}` should not be close to `{float}` with precision `{int}`
242
+ - User expects `{string}` should not be defined
243
+ - User expects `{string}` should not be falsy
244
+ - User expects `{string}` should not be greater than `{float}`
245
+ - User expects `{string}` should not be greater than or equal to `{float}`
246
+ - User expects `{string}` should not be instance of `{string}`
247
+ - User expects `{string}` should not be less than `{float}`
248
+ - User expects `{string}` should not be less than or equal to `{float}`
249
+ - User expects `{string}` should not be NaN
250
+ - User expects `{string}` should not be null
251
+ - User expects `{string}` should not be truthy
252
+ - User expects `{string}` should not be undefined
253
+ - User expects `{string}` should not have `{string}` substring
254
+ - User expects `{string}` should not contain equal `{string}`
255
+ - User expects `{string}` should not equal `{string}`
256
+ - User expects length of `{string}` should not be `{int}`
257
+ - User expects `{string}` should not have `{string}` property
258
+ - User expects `{string}` should not match `{string}` regex
259
+ - User expects `{string}` should not match `{string}` object
260
+ - The function should not throw
261
+ - User expects `{string}` should not be any instance of `{string}`
262
+ - User expects `{string}` may not be anything
263
+ - User expects `{string}` should not contain `{string}` array elements
264
+ - User expects `{string}` should not be close to `{float}` with precision `{int}`
265
+ - User expects `{string}` should not contain `{string}` object properties
266
+ - User expects `{string}` should not contain `{string}` substring
267
+ - User expects `{string}` should not match `{string}` regex