@uuv/runner-commons 1.10.6 → 1.12.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 (30) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/dist/assets/i18n/web/en/en-enriched-wordings.json +39 -0
  3. package/dist/assets/i18n/web/en/en-roles.d.ts +2 -0
  4. package/dist/assets/i18n/web/en/en-roles.js +130 -0
  5. package/dist/assets/i18n/web/en/en.json +222 -0
  6. package/dist/assets/i18n/web/en/index.d.ts +3 -0
  7. package/dist/assets/i18n/web/en/index.js +12 -0
  8. package/dist/assets/i18n/web/fr/fr-roles.d.ts +2 -0
  9. package/dist/assets/i18n/web/fr/fr-roles.js +560 -0
  10. package/dist/assets/i18n/web/index.d.ts +2 -0
  11. package/dist/assets/i18n/web/index.js +8 -0
  12. package/dist/index.d.ts +3 -1
  13. package/dist/index.js +5 -2
  14. package/dist/step-definition-generator/accessible-role.d.ts +8 -0
  15. package/dist/step-definition-generator/accessible-role.js +8 -0
  16. package/dist/step-definition-generator/common.d.ts +8 -5
  17. package/dist/step-definition-generator/common.js +44 -4
  18. package/dist/step-definition-generator/generate-base-step-definitions.d.ts +2 -3
  19. package/dist/step-definition-generator/generate-base-step-definitions.js +33 -15
  20. package/dist/step-definition-generator/generate-based-role-step-definitions.d.ts +3 -4
  21. package/dist/step-definition-generator/generate-based-role-step-definitions.js +41 -18
  22. package/dist/step-definition-generator/generate-step-definitions-documentation.js +4 -4
  23. package/dist/step-definition-generator/generate-step-definitions.d.ts +2 -1
  24. package/dist/step-definition-generator/generate-step-definitions.js +13 -6
  25. package/package.json +13 -2
  26. package/src/assets/i18n/web/en/en-enriched-wordings.json +40 -0
  27. package/src/assets/i18n/web/en/en.json +222 -0
  28. package/src/assets/i18n/web/fr/fr-enriched-wordings.json +39 -0
  29. package/src/assets/i18n/web/fr/fr.json +222 -0
  30. /package/dist/assets/i18n/{template.json → web/template.json} +0 -0
@@ -0,0 +1,222 @@
1
+ [
2
+ {
3
+ "key": "key.when.click.withContext",
4
+ "description": "Triggers a click on the selected element.<br/>Make sure you've selected an element beforehand with the <strong>within...</strong> phrases.",
5
+ "wording": "I click"
6
+ },
7
+ {
8
+ "key": "key.when.click.button",
9
+ "description": "Triggers a click on the given button with specific name",
10
+ "wording": "I click on button named {string}"
11
+ },
12
+ {
13
+ "key": "key.when.click.link",
14
+ "description": "Triggers a click on the given link with specific name",
15
+ "wording": "I click on link named {string}"
16
+ },
17
+ {
18
+ "key": "key.when.click.withRole",
19
+ "description": "Triggers a click on the element with given role and specific name",
20
+ "wording": "I click on element with role {string} and name {string}"
21
+ },
22
+ {
23
+ "key": "key.when.headers.forUriAndMethod",
24
+ "description": "Sets one or more headers to the indicated http request and only for the Http method (GET / POST / etc...) passed as a argument.<i> If you use Playwright as execution engine, <b>method</b> isn't used.</i>",
25
+ "wording": "I set header(s) for uri {string} and method {string}"
26
+ },
27
+ {
28
+ "key": "key.when.headers.forUri",
29
+ "description": "Sets one or more headers to the indicated http request",
30
+ "wording": "I set header(s) for uri {string}"
31
+ },
32
+ {
33
+ "key": "key.when.resetContext",
34
+ "description": "Deletes selected element and timeout",
35
+ "wording": "I reset context"
36
+ },
37
+ {
38
+ "key": "key.when.timeout",
39
+ "description": "Sets the timeout value (in millisecond) for finding element in the DOM <br />⚠ remember to deselect the element with <b>[I reset context](#i-reset-context)</b> if you're no longer acting on it",
40
+ "wording": "I set timeout with value {int}"
41
+ },
42
+ {
43
+ "key": "key.when.type",
44
+ "description": "Writes the sentence passed as a parameter (useful for example to fill in a form field).<br/>Make sure you've selected an element beforehand with the <strong>within...</strong> phrases.",
45
+ "wording": "I type the sentence {string}"
46
+ },
47
+ {
48
+ "key": "key.when.keyboard.press",
49
+ "description": "Press specified key: <table><thead><tr><th>Key</th><th>Description</th></tr></thead><tbody><tr><td>{tab}</td><td>Tabulation</td></tr><tr><td>{reverseTab}</td><td>Reverse tabulation</td></tr><tr><td>{down}</td><td>Arrow Down</td></tr><tr><td>{right}</td><td>Arrow Right</td></tr><tr><td>{left}</td><td>Arrow Left</td></tr><tr><td>{up}</td><td>Arrow Up</td></tr></tbody></table><br/>Make sure you've selected an element beforehand with the <strong>within...</strong> phrases.",
50
+ "wording": "I press {string}"
51
+ },
52
+ {
53
+ "key": "key.when.keyboard.multiplePress",
54
+ "description": "Press specified key multiple times using | as: num|{key}",
55
+ "wording": "I press {int} times on {string}"
56
+ },
57
+ {
58
+ "key": "key.when.visit",
59
+ "description": "Navigate to the Uri passed as a argument (full url consisting of the BASE_URL + Uri) or navigate to Url if begin with http:// or https://",
60
+ "wording": "I visit path {string}"
61
+ },
62
+ {
63
+ "key": "key.when.withinElement.ariaLabel",
64
+ "description": "Selects the element whose aria-label is specified <br />⚠ remember to deselect the element with <b>[I reset context](#i-reset-context)</b> if you're no longer acting on it",
65
+ "wording": "within the element with aria-label {string}"
66
+ },
67
+ {
68
+ "key": "key.when.withinElement.selector",
69
+ "description": "Selects the element whose selector is specified <br />⚠ remember to deselect the element with <b>[I reset context](#i-reset-context)</b> if you're no longer acting on it",
70
+ "wording": "within the element with selector {string}"
71
+ },
72
+ {
73
+ "key": "key.when.withinElement.roleAndName",
74
+ "description": "Selects the element whose [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types and accessible [name](https://russmaxdesign.github.io/html-elements-names/) are specified <br />⚠ remember to deselect the element with <b>[I reset context](#i-reset-context)</b> if you're no longer acting on it",
75
+ "wording": "within the element with role {string} and name {string}"
76
+ },
77
+ {
78
+ "key": "key.when.withinElement.testId",
79
+ "description": "Selects the element whose data-testId attribute is specified <br />⚠ remember to deselect the element with <b>[I reset context](#i-reset-context)</b> if you're no longer acting on it",
80
+ "wording": "within the element with testId {string}"
81
+ },
82
+ {
83
+ "key": "key.when.mock.withBody",
84
+ "description": "Mock a named API response with body. <i>If you use Playwright as runtime engine, <b>request</b> and <b>named</b> are unused.</i>",
85
+ "wording": "I mock a request {} on url {string} named {string} with content {}"
86
+ },
87
+ {
88
+ "key": "key.when.mock.withFixture",
89
+ "description": "Mock a named API response with file's extension .json, .js, .coffee, .html, .txt, .csv, .png, .jpg, .jpeg, .gif, .tif, .tiff, .zip",
90
+ "wording": "I mock a request {} on url {string} named {string} with fixture {}"
91
+ },
92
+ {
93
+ "key": "key.when.mock.withStatusCode",
94
+ "description": "Mock a named API response with status code",
95
+ "wording": "I mock a request {} on url {string} named {string} with status code {int}"
96
+ },
97
+ {
98
+ "key": "key.given.viewport.preset",
99
+ "description": "Sets the viewport dimensions with one of the presets defined by your runtime engine as Cypress: [Link](https://docs.cypress.io/api/commands/viewport#Arguments) or Playwright: [Link](https://github.com/microsoft/playwright/blob/main/packages/playwright-core/src/server/deviceDescriptorsSource.json)",
100
+ "wording": "I set viewport to preset {string}"
101
+ },
102
+ {
103
+ "key": "key.given.viewport.withWidthAndHeight",
104
+ "description": "Sets the viewport dimensions to the specified width and length",
105
+ "wording": "I set viewport with width {int} and height {int}"
106
+ },
107
+ {
108
+ "key": "key.then.attributes.withValues",
109
+ "description": "Checks Html attributes of the selected element",
110
+ "wording": "I should see these attributes with values"
111
+ },
112
+ {
113
+ "key": "key.then.element.withAriaLabelAndContent",
114
+ "description": "Checks that an Html element exists with the specified aria-label attribute and content",
115
+ "wording": "I should see an element with aria-label {string} and content {string}"
116
+ },
117
+ {
118
+ "key": "key.then.element.withAriaLabel",
119
+ "description": "Checks that an Html element exists with the specified aria-label attribute",
120
+ "wording": "I should see an element with aria-label {string}"
121
+ },
122
+ {
123
+ "key": "key.then.element.withContent",
124
+ "description": "Checks that an Html element exists with the specified content",
125
+ "wording": "I should see an element with content {string}"
126
+ },
127
+ {
128
+ "key": "key.then.element.withSelector",
129
+ "description": "Checks that an Html element exists with the specified selector",
130
+ "wording": "I should see an element with selector {string}"
131
+ },
132
+ {
133
+ "key": "key.then.element.withRoleAndNameAndContentDisabled",
134
+ "description": "Checks that an Html element exists with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types), [name](https://russmaxdesign.github.io/html-elements-names/) and content, and with the disabled attribute set to true",
135
+ "wording": "I should see an element with role {string} and name {string} and content {string} disabled"
136
+ },
137
+ {
138
+ "key": "key.then.element.withRoleAndNameAndContentEnabled",
139
+ "description": "Checks that an Html element exists with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types), [name](https://russmaxdesign.github.io/html-elements-names/) and content, and with the disabled attribute set to false",
140
+ "wording": "I should see an element with role {string} and name {string} and content {string} not disabled"
141
+ },
142
+ {
143
+ "key": "key.then.element.withRoleAndNameAndContent",
144
+ "description": "Checks that an Html element exists with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types), [name](https://russmaxdesign.github.io/html-elements-names/) and content",
145
+ "wording": "I should see an element with role {string} and name {string} and content {string}"
146
+ },
147
+ {
148
+ "key": "key.then.element.withRoleAndName",
149
+ "description": "Checks that an Html element exists with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/)",
150
+ "wording": "I should see an element with role {string} and name {string}"
151
+ },
152
+ {
153
+ "key": "key.then.element.withTestId",
154
+ "description": "Checks that an Html element exists with the specified data-testid attribute",
155
+ "wording": "I should see an element with testId {string}"
156
+ },
157
+ {
158
+ "key": "key.then.list.withNameAndContent",
159
+ "description": "Checks that there is a list with the specified [name](https://russmaxdesign.github.io/html-elements-names/) and content.<br/> See this <a href='https://github.com/Orange-OpenSource/uuv/blob/9e3c9914420c6d527f7ad8b0017a0f8e26250f86/example/weather-app.feature#L17'>example</a>",
160
+ "wording": "I should see elements of the list with name {string}"
161
+ },
162
+ {
163
+ "key": "key.then.element.not.withContent",
164
+ "description": "Checks that an Html element does not exists with the specified content",
165
+ "wording": "I should not see an element with content {string}"
166
+ },
167
+ {
168
+ "key": "key.then.element.not.withTestId",
169
+ "description": "Checks that an Html element does not exists with the specified data-testid attribute",
170
+ "wording": "I should not see an element with testId {string}"
171
+ },
172
+ {
173
+ "key": "key.then.element.not.withRoleAndName",
174
+ "description": "Checks that an Html element does not exists with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/)",
175
+ "wording": "I should not see an element with role {string} and name {string}"
176
+ },
177
+ {
178
+ "key": "key.then.element.not.withAriaLabel",
179
+ "description": "Checks that an Html element does not exists with the specified aria-label attribute",
180
+ "wording": "I should not see an element with aria-label {string}"
181
+ },
182
+ {
183
+ "key": "key.then.wait.mock",
184
+ "description": "Wait that a named mock has been consumed until timeout",
185
+ "wording": "I should consume a mock named {string}"
186
+ },
187
+ {
188
+ "key": "key.then.wait.milliSeconds",
189
+ "description": "Wait milliseconds. <b>Warning:</b> use this sentence <b>in production</b> can make your <b>test flaky</b>.",
190
+ "wording": "I wait {int} ms"
191
+ },
192
+ {
193
+ "key": "key.then.a11y.check.default",
194
+ "description": "Check that the current page have no [accessibility issue](https://github.com/dequelabs/axe-core/blob/develop/doc/rule-descriptions.md)",
195
+ "wording": "I should not have any accessibility issue"
196
+ },
197
+ {
198
+ "key": "key.then.a11y.check.withFixtureContextAndFixtureOption",
199
+ "description": "Check that the current page have no accessibility issue [with an option](https://github.com/dequelabs/axe-core/blob/HEAD/doc/API.md#options-parameter) on the specific [context](https://github.com/dequelabs/axe-core/blob/HEAD/doc/API.md#context-parameter)",
200
+ "wording": "I should not have any accessibility issue with context json fixture {} and option json fixture {}"
201
+ },
202
+ {
203
+ "key": "key.then.a11y.check.withFixtureOption",
204
+ "description": "Check that the current page have no accessibility issue [with an option](https://github.com/dequelabs/axe-core/blob/HEAD/doc/API.md#options-parameter)",
205
+ "wording": "I should not have any accessibility issue with option json fixture {}"
206
+ },
207
+ {
208
+ "key": "key.then.a11y.check.onlyCritical",
209
+ "description": "Check that the current page have not critical accessibility issue",
210
+ "wording": "I should not have any critical accessibility issue"
211
+ },
212
+ {
213
+ "key": "key.then.a11y.check.withImpacts",
214
+ "description": "Check that the current page have not accessibility issue with one or more impacts in: 'minor','moderate','serious','critical'",
215
+ "wording": "I should not have any accessibility issue with {} impact(s)"
216
+ },
217
+ {
218
+ "key": "key.then.a11y.check.withTags",
219
+ "description": "Check that the current page have not accessibility issue [with one or more Accessibility Standards](https://github.com/dequelabs/axe-core/blob/HEAD/doc/API.md#axe-core-tags)",
220
+ "wording": "I should not have any accessibility issue with accessibility standard(s) {}"
221
+ }
222
+ ]
@@ -0,0 +1,39 @@
1
+ {
2
+ "enriched": [
3
+ {
4
+ "key": "key.when.withinElement.roleAndName",
5
+ "description": "Sélectionne l'élément ayant le rôle $roleId et le [nom accessible](https://russmaxdesign.github.io/html-elements-names/) sont spécifiés <br />⚠ pensez à déselectionner l'élement avec <b>[je reinitialise le contexte](#je-reinitialise-le-contexte)</b> si vous n'agissez plus dessus",
6
+ "wording": "je vais à l'intérieur $ofDefiniteArticle$roleName $namedAdjective {string}"
7
+ },
8
+ {
9
+ "key": "key.then.element.withRoleAndName",
10
+ "description": "Vérifie l'existence d'un élément Html ayant le rôle $roleId et le [nom accessible](https://russmaxdesign.github.io/html-elements-names/) spécifiés",
11
+ "wording": "je dois voir $indefiniteArticle $roleName $namedAdjective {string}"
12
+ },
13
+ {
14
+ "key": "key.then.element.not.withRoleAndName",
15
+ "description": "Vérifie l'inexistence d'un élément Html ayant le rôle $roleId et le [nom accessible](https://russmaxdesign.github.io/html-elements-names/) spécifiés",
16
+ "wording": "je ne dois pas voir $indefiniteArticle $roleName $namedAdjective {string}"
17
+ },
18
+ {
19
+ "key": "key.then.element.withRoleAndNameAndContent",
20
+ "description": "Vérifie l'existence d'un élément Html ayant le rôle $roleId, le [nom accessible](https://russmaxdesign.github.io/html-elements-names/) et le contenu spécifiés",
21
+ "wording": "je dois voir $indefiniteArticle $roleName $namedAdjective {string} et contenant {string}"
22
+ },
23
+ {
24
+ "key": "key.then.element.withRoleAndNameAndContentDisabled",
25
+ "description": "Vérifie l'existence d'un élément Html ayant le rôle $roleId, le [nom accessible](https://russmaxdesign.github.io/html-elements-names/), le contenu spécifiés et avec l'attribut disabled à false",
26
+ "wording": "je dois voir $indefiniteArticle $roleName $namedAdjective {string} et contenant {string} inactif"
27
+ },
28
+ {
29
+ "key": "key.then.element.withRoleAndNameAndContentEnabled",
30
+ "description": "Vérifie l'existence d'un élément Html ayant le rôle $roleId, le [nom accessible](https://russmaxdesign.github.io/html-elements-names/), le contenu spécifiés et avec l'attribut disabled à true",
31
+ "wording": "je dois voir $indefiniteArticle $roleName $namedAdjective {string} et contenant {string} actif"
32
+ },
33
+ {
34
+ "key": "key.when.type",
35
+ "description": "Saisie de la phrase passée en paramètre dans le champ spécifié(utile par exemple pour remplir un champ de formulaire).",
36
+ "wording": "je saisie le(s) mot(s) {string} dans $definiteArticle$roleName $namedAdjective {string}"
37
+ }
38
+ ]
39
+ }
@@ -0,0 +1,222 @@
1
+ [
2
+ {
3
+ "key": "key.when.click.withContext",
4
+ "description": "Déclenche un click sur l'élément sélectionné.<br/>Assurez vous d'avoir effectué une sélection d'élément avant avec les phrases <strong>Je vais à l'intérieur...</strong>.",
5
+ "wording": "je clique"
6
+ },
7
+ {
8
+ "key": "key.when.click.button",
9
+ "description": "Déclenche un click sur le bouton avec le nom donné",
10
+ "wording": "je clique sur le bouton nommé {string}"
11
+ },
12
+ {
13
+ "key": "key.when.click.link",
14
+ "description": "Déclenche un click sur le lien avec le nom donné",
15
+ "wording": "je clique sur le lien nommé {string}"
16
+ },
17
+ {
18
+ "key": "key.when.click.withRole",
19
+ "description": "Déclenche un click sur un élément avec le rôle et le nom donnés",
20
+ "wording": "je clique sur l'élément avec le rôle {string} et le nom {string}"
21
+ },
22
+ {
23
+ "key": "key.when.headers.forUriAndMethod",
24
+ "description": "Positionne un ou plusieurs headers à la requête http indiquée et uniquement pour la méthode Http (GET / POST / etc...) passée en paramètre. <i>Si le moteur d'exécution est playwright, la <b>méthode</b> n'est pas gérée.</i>",
25
+ "wording": "je saisie le(s) header(s) pour l'Uri {string} et la methode {string}"
26
+ },
27
+ {
28
+ "key": "key.when.headers.forUri",
29
+ "description": "Positionne un ou plusieurs headers à la requête http indiquée",
30
+ "wording": "je saisie le(s) header(s) pour l'Uri {string}"
31
+ },
32
+ {
33
+ "key": "key.when.resetContext",
34
+ "description": "Supprime l'élément sélectionné et le timeout du contexte",
35
+ "wording": "je reinitialise le contexte"
36
+ },
37
+ {
38
+ "key": "key.when.timeout",
39
+ "description": "Positionne le timeout (en milliseconde) pour la recherche des éléments dans le dom <br />⚠ pensez à déselectionner l'élement avec <b>[je reinitialise le contexte](#je-reinitialise-le-contexte)</b> si vous n'agissez plus dessus",
40
+ "wording": "je positionne le timeout à {int} secondes"
41
+ },
42
+ {
43
+ "key": "key.when.type",
44
+ "description": "Saisit de la phrase passée en paramètre (utile par exemple pour remplir un champ de formulaire).<br/>Assurez vous d'avoir effectué une sélection d'élément avant avec les phrases <strong>Je vais à l'intérieur...</strong>.",
45
+ "wording": "je saisie le(s) mot(s) {string}"
46
+ },
47
+ {
48
+ "key": "key.when.keyboard.press",
49
+ "description": "Simule un appui sur la touche spécifiée : <table><thead><tr><th>Touche</th><th>Description</th></tr></thead><tbody><tr><td>{tab}</td><td>Tabulation</td></tr><tr><td>{reverseTab}</td><td>Tabulation arrière</td></tr><tr><td>{down}</td><td>Flèche du bas</td></tr><tr><td>{right}</td><td>Flèche de droite</td></tr><tr><td>{left}</td><td>Flèche de gauche</td></tr><tr><td>{up}</td><td>Flèche du haut</td></tr></tbody></table>.<br/>Assurez vous d'avoir effectué une sélection d'élément avant avec les phrases <strong>Je vais à l'intérieur...</strong>.",
50
+ "wording": "j'appuie sur {string}"
51
+ },
52
+ {
53
+ "key": "key.when.keyboard.multiplePress",
54
+ "description": "Répète la touche le nombre de fois spécifié en utilisant | comme ceci : num|{key}",
55
+ "wording": "j'appuie {int} fois sur {string}"
56
+ },
57
+ {
58
+ "key": "key.when.visit",
59
+ "description": "Navigue vers l'Uri passé en paramètre (url complète étant constituée de la BASE_URL + Uri) ou navigue vers l'Url si ça commence par http:// ou https://",
60
+ "wording": "je visite l'Url {string}"
61
+ },
62
+ {
63
+ "key": "key.when.withinElement.ariaLabel",
64
+ "description": "Sélectionne l'élément dont l'aria-label est spécifié <br />⚠ pensez à déselectionner l'élement avec <b>[je reinitialise le contexte](#je-reinitialise-le-contexte)</b> si vous n'agissez plus dessus",
65
+ "wording": "je vais à l'intérieur de l'élément ayant pour aria-label {string}"
66
+ },
67
+ {
68
+ "key": "key.when.withinElement.selector",
69
+ "description": "Sélectionne l'élément dont le sélecteur est spécifié <br />⚠ pensez à déselectionner l'élement avec <b>[je reinitialise le contexte](#je-reinitialise-le-contexte)</b> si vous n'agissez plus dessus",
70
+ "wording": "je vais à l'intérieur de l'élément ayant pour sélecteur {string}"
71
+ },
72
+ {
73
+ "key": "key.when.withinElement.roleAndName",
74
+ "description": "Sélectionne l'élément dont le [rôle accessible](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) et le [nom accessible](https://russmaxdesign.github.io/html-elements-names/) sont spécifiés <br />⚠ pensez à déselectionner l'élement avec <b>[je reinitialise le contexte](#je-reinitialise-le-contexte)</b> si vous n'agissez plus dessus",
75
+ "wording": "je vais à l'intérieur de l'élément ayant pour rôle {string} et pour nom {string}"
76
+ },
77
+ {
78
+ "key": "key.when.withinElement.testId",
79
+ "description": "Sélectionne l'élément dont l'attribut data-testId est spécifié <br />⚠ pensez à déselectionner l'élement avec <b>[je reinitialise le contexte](#je-reinitialise-le-contexte)</b> si vous n'agissez plus dessus",
80
+ "wording": "je vais à l'intérieur de l'élément ayant pour testId {string}"
81
+ },
82
+ {
83
+ "key": "key.when.mock.withBody",
84
+ "description": "Simule une réponse d'API avec un contenu spécifique. <i>Si vous utilisez Playwright comme moteur d'exécution, les attributs <b>méthode de requête</b> et <b>nom</b> ne sont pas utilisés.</i>",
85
+ "wording": "je simule une requête {} sur l'url {string} nommée {string} avec le contenu suivant {}"
86
+ },
87
+ {
88
+ "key": "key.when.mock.withFixture",
89
+ "description": "Simule une réponse d'API avec un fichier spécifique ayant pour extension .json, .js, .coffee, .html, .txt, .csv, .png, .jpg, .jpeg, .gif, .tif, .tiff, .zip",
90
+ "wording": "je simule une requête {} sur l'url {string} nommée {string} avec le fichier suivant {}"
91
+ },
92
+ {
93
+ "key": "key.when.mock.withStatusCode",
94
+ "description": "Simule une réponse d'API avec un code http spécifique",
95
+ "wording": "je simule une requête {} sur l'url {string} nommée {string} avec le code http {int}"
96
+ },
97
+ {
98
+ "key": "key.given.viewport.preset",
99
+ "description": "Configure les dimensions de la fenêtre avec à un des préréglages définit par le moteur d'exécution à savoir pour Cypress: [lien](https://docs.cypress.io/api/commands/viewport#Preset) et pour Playwright: [lien](https://github.com/microsoft/playwright/blob/main/packages/playwright-core/src/server/deviceDescriptorsSource.json)",
100
+ "wording": "je redimensionne la fenêtre à la vue {string}"
101
+ },
102
+ {
103
+ "key": "key.given.viewport.withWidthAndHeight",
104
+ "description": "Configure les dimensions de la fenêtre à la largeur et la longueur spécifiées",
105
+ "wording": "je redimensionne la fenêtre avec une largeur de {int} px et une longueur de {int} px"
106
+ },
107
+ {
108
+ "key": "key.then.attributes.withValues",
109
+ "description": "Vérifie des attributs Html de l'élément sélectionné",
110
+ "wording": "je dois voir les attributs avec valeurs suivantes"
111
+ },
112
+ {
113
+ "key": "key.then.element.withAriaLabelAndContent",
114
+ "description": "Vérifie qu'un élément Html existe avec l'attribut aria-label et le contenu spécifiés",
115
+ "wording": "je dois voir un élément ayant pour aria-label {string} et pour contenu {string}"
116
+ },
117
+ {
118
+ "key": "key.then.element.withAriaLabel",
119
+ "description": "Vérifie qu'un élément Html existe avec l'attribut aria-label spécifié",
120
+ "wording": "je dois voir un élément ayant pour aria-label {string}"
121
+ },
122
+ {
123
+ "key": "key.then.element.withContent",
124
+ "description": "Vérifie qu'un élément Html existe avec le contenu spécifié",
125
+ "wording": "je dois voir un élément qui contient {string}"
126
+ },
127
+ {
128
+ "key": "key.then.element.withSelector",
129
+ "description": "Vérifie qu'un élément Html existe avec le sélecteur spécifié",
130
+ "wording": "je dois voir un élément ayant pour sélecteur {string}"
131
+ },
132
+ {
133
+ "key": "key.then.element.withRoleAndNameAndContentDisabled",
134
+ "description": "Vérifie qu'un élément Html existe avec le [rôle accessible](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types), le [nom accessible](https://russmaxdesign.github.io/html-elements-names/) et le contenu spécifiés, et avec l'attribut disabled à true",
135
+ "wording": "je dois voir un élément avec le rôle {string} et le nom {string} et pour contenu {string} inactif"
136
+ },
137
+ {
138
+ "key": "key.then.element.withRoleAndNameAndContentEnabled",
139
+ "description": "Vérifie qu'un élément Html existe avec le [rôle accessible](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types), le [nom accessible](https://russmaxdesign.github.io/html-elements-names/) et le contenu spécifiés et avec l'attribut disabled à false",
140
+ "wording": "je dois voir un élément avec le rôle {string} et le nom {string} et pour contenu {string} actif"
141
+ },
142
+ {
143
+ "key": "key.then.element.withRoleAndNameAndContent",
144
+ "description": "Vérifie qu'un élément Html existe avec le [rôle accessible](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types), le [nom accessible](https://russmaxdesign.github.io/html-elements-names/) et le contenu spécifiés",
145
+ "wording": "je dois voir un élément avec le rôle {string} et le nom {string} et pour contenu {string}"
146
+ },
147
+ {
148
+ "key": "key.then.element.withRoleAndName",
149
+ "description": "Vérifie qu'un élément Html existe avec le [rôle accessible](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) et le [nom accessible](https://russmaxdesign.github.io/html-elements-names/) spécifiés",
150
+ "wording": "je dois voir un élément avec le rôle {string} et le nom {string}"
151
+ },
152
+ {
153
+ "key": "key.then.element.withTestId",
154
+ "description": "Vérifie qu'un élément Html existe avec l'attribut data-testid spécifié",
155
+ "wording": "je dois voir un élément ayant pour testId {string}"
156
+ },
157
+ {
158
+ "key": "key.then.list.withNameAndContent",
159
+ "description": "Vérifie qu'il existe une liste avec le nom et le contenu spécifiés.<br/>Voici un <a href='https://github.com/Orange-OpenSource/uuv/blob/9e3c9914420c6d527f7ad8b0017a0f8e26250f86/example/weather-app.feature#L17'>exemple</a>",
160
+ "wording": "je dois voir des elements de la liste ayant pour nom {string}"
161
+ },
162
+ {
163
+ "key": "key.then.element.not.withContent",
164
+ "description": "Vérifie qu'un élément Html n'existe pas avec le contenu spécifié",
165
+ "wording": "je ne dois pas voir un élément qui contient {string}"
166
+ },
167
+ {
168
+ "key": "key.then.element.not.withTestId",
169
+ "description": "Vérifie qu'un élément Html n'existe pas avec l'attribut data-testid spécifié",
170
+ "wording": "je ne dois pas voir un élément ayant pour testId {string}"
171
+ },
172
+ {
173
+ "key": "key.then.element.not.withRoleAndName",
174
+ "description": "Vérifie qu'un élément Html n'existe pas avec le [rôle accessible](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) et le [nom accessible](https://russmaxdesign.github.io/html-elements-names/) spécifiés",
175
+ "wording": "je ne dois pas voir un élément avec le rôle {string} et le nom {string}"
176
+ },
177
+ {
178
+ "key": "key.then.element.not.withAriaLabel",
179
+ "description": "Vérifie qu'un élément Html n'existe pas avec l'attribut aria-label spécifié",
180
+ "wording": "je ne dois pas voir un élément ayant pour aria-label {string}"
181
+ },
182
+ {
183
+ "key": "key.then.wait.mock",
184
+ "description": "Vérifie qu'un bouchon nommé ait bien été consommé",
185
+ "wording": "je dois consommer le bouchon nommé {string}"
186
+ },
187
+ {
188
+ "key": "key.then.wait.milliSeconds",
189
+ "description": "Attends un nombre de millisecondes. <b>Attention:</b> Utiliser cette phrase <b>en production</b> peut rendre votre <b>test <i>flaky</i></b>.",
190
+ "wording": "j'attends {int} ms"
191
+ },
192
+ {
193
+ "key": "key.then.a11y.check.default",
194
+ "description": "Vérifie sur la page courante qu'il n'y a aucune [erreur d'accessibilité](https://github.com/dequelabs/axe-core/blob/develop/doc/rule-descriptions.md)",
195
+ "wording": "je ne dois pas avoir de problèmes d'accessibilité"
196
+ },
197
+ {
198
+ "key": "key.then.a11y.check.withFixtureOption",
199
+ "description": "Vérifie sur la page courante qu'il n'y a aucune erreur d'accessibilité [avec l'option](https://github.com/dequelabs/axe-core/blob/HEAD/doc/API.md#options-parameter)",
200
+ "wording": "je ne dois pas avoir de problèmes d'accessibilité avec le fichier json suivant d'option {}"
201
+ },
202
+ {
203
+ "key": "key.then.a11y.check.withFixtureContextAndFixtureOption",
204
+ "description": "Vérifie sur la page courante qu'il n'y a aucune erreur d'accessibilité [avec l'option](https://github.com/dequelabs/axe-core/blob/HEAD/doc/API.md#options-parameter) sur le [contexte donné](https://github.com/dequelabs/axe-core/blob/HEAD/doc/API.md#context-parameter)",
205
+ "wording": "je ne dois pas avoir de problèmes d'accessibilité sur le fichier json suivant de contexte {} et avec le fichier json suivant d'option {}"
206
+ },
207
+ {
208
+ "key": "key.then.a11y.check.onlyCritical",
209
+ "description": "Vérifie sur la page courante qu'il n'y a aucune erreur d'accessibilité de niveau critique",
210
+ "wording": "je ne dois pas avoir de problèmes d'accessibilité de niveau critique"
211
+ },
212
+ {
213
+ "key": "key.then.a11y.check.withImpacts",
214
+ "description": "Vérifie sur la page courante qu'il n'y a aucune erreur d'accessibilité avec un ou plusieurs impacts parmi : 'minor','moderate','serious','critical'",
215
+ "wording": "je ne dois pas avoir de problèmes d'accessibilité avec l(es) impact(s) {}"
216
+ },
217
+ {
218
+ "key": "key.then.a11y.check.withTags",
219
+ "description": "Vérifie sur la page courante qu'il n'y a aucune erreur d'accessibilité [avec le ou les standards d'accessibilité](https://github.com/dequelabs/axe-core/blob/HEAD/doc/API.md#axe-core-tags)",
220
+ "wording": "je ne dois pas avoir de problèmes d'accessibilité avec le(s) standard(s) {}"
221
+ }
222
+ ]