wcs-core 7.2.2 → 7.4.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 (302) hide show
  1. package/README.md +11 -9
  2. package/design-tokens/dist/sncf-groupe-root-scoped.css +227 -227
  3. package/design-tokens/dist/sncf-groupe.css +227 -227
  4. package/design-tokens/dist/sncf-holding-root-scoped.css +227 -227
  5. package/design-tokens/dist/sncf-holding.css +227 -227
  6. package/design-tokens/dist/sncf-reseau-root-scoped.css +227 -227
  7. package/design-tokens/dist/sncf-reseau.css +227 -227
  8. package/design-tokens/dist/sncf-voyageurs-root-scoped.css +242 -242
  9. package/design-tokens/dist/sncf-voyageurs.css +242 -242
  10. package/dist/cjs/accessibility-5f681a74.js.map +1 -1
  11. package/dist/cjs/loader.cjs.js +1 -1
  12. package/dist/cjs/{popper-8d6e7fca.js → popper-1b61df21.js} +10 -17
  13. package/dist/cjs/popper-1b61df21.js.map +1 -0
  14. package/dist/cjs/wcs-accordion-panel.cjs.entry.js +1 -1
  15. package/dist/cjs/wcs-accordion-panel.cjs.entry.js.map +1 -1
  16. package/dist/cjs/wcs-accordion.cjs.entry.js +2 -1
  17. package/dist/cjs/wcs-accordion.cjs.entry.js.map +1 -1
  18. package/dist/cjs/wcs-breadcrumb.cjs.entry.js +1 -1
  19. package/dist/cjs/wcs-breadcrumb.cjs.entry.js.map +1 -1
  20. package/dist/cjs/wcs-checkbox.cjs.entry.js +3 -2
  21. package/dist/cjs/wcs-checkbox.cjs.entry.js.map +1 -1
  22. package/dist/cjs/wcs-chip.cjs.entry.js +102 -0
  23. package/dist/cjs/wcs-chip.cjs.entry.js.map +1 -0
  24. package/dist/cjs/wcs-com-nav-item.cjs.entry.js +1 -1
  25. package/dist/cjs/wcs-com-nav-item.cjs.entry.js.map +1 -1
  26. package/dist/cjs/wcs-com-nav.cjs.entry.js +3 -3
  27. package/dist/cjs/wcs-com-nav.cjs.entry.js.map +1 -1
  28. package/dist/cjs/wcs-dropdown.cjs.entry.js +1 -1
  29. package/dist/cjs/wcs-error_3.cjs.entry.js +1 -1
  30. package/dist/cjs/wcs-error_3.cjs.entry.js.map +1 -1
  31. package/dist/cjs/wcs-galactic-menu.cjs.entry.js +1 -1
  32. package/dist/cjs/wcs-grid.cjs.entry.js +5 -4
  33. package/dist/cjs/wcs-grid.cjs.entry.js.map +1 -1
  34. package/dist/cjs/wcs-horizontal-stepper.cjs.entry.js +3 -2
  35. package/dist/cjs/wcs-horizontal-stepper.cjs.entry.js.map +1 -1
  36. package/dist/cjs/wcs-modal.cjs.entry.js +2 -2
  37. package/dist/cjs/wcs-modal.cjs.entry.js.map +1 -1
  38. package/dist/cjs/wcs-select_2.cjs.entry.js +59 -24
  39. package/dist/cjs/wcs-select_2.cjs.entry.js.map +1 -1
  40. package/dist/cjs/wcs-tabs.cjs.entry.js +1 -1
  41. package/dist/cjs/wcs-tooltip.cjs.entry.js +1 -1
  42. package/dist/cjs/wcs.cjs.js +1 -1
  43. package/dist/collection/collection-manifest.json +1 -0
  44. package/dist/collection/components/accordion/accordion.e2e.playwright.js +183 -0
  45. package/dist/collection/components/accordion/accordion.e2e.playwright.js.map +1 -0
  46. package/dist/collection/components/accordion/accordion.js +2 -1
  47. package/dist/collection/components/accordion/accordion.js.map +1 -1
  48. package/dist/collection/components/accordion-panel/accordion-panel.js +3 -3
  49. package/dist/collection/components/accordion-panel/accordion-panel.js.map +1 -1
  50. package/dist/collection/components/alert/alert.e2e.playwright.js +125 -0
  51. package/dist/collection/components/alert/alert.e2e.playwright.js.map +1 -0
  52. package/dist/collection/components/alert-drawer/alert-drawer.e2e.playwright.js +107 -0
  53. package/dist/collection/components/alert-drawer/alert-drawer.e2e.playwright.js.map +1 -0
  54. package/dist/collection/components/breadcrumb/breadcrumb.e2e.playwright.js +188 -0
  55. package/dist/collection/components/breadcrumb/breadcrumb.e2e.playwright.js.map +1 -0
  56. package/dist/collection/components/breadcrumb/breadcrumb.js +2 -2
  57. package/dist/collection/components/breadcrumb/breadcrumb.js.map +1 -1
  58. package/dist/collection/components/button/button.e2e.playwright.js +26 -0
  59. package/dist/collection/components/button/button.e2e.playwright.js.map +1 -0
  60. package/dist/collection/components/button/button.js +1 -1
  61. package/dist/collection/components/checkbox/checkbox.css +3 -0
  62. package/dist/collection/components/checkbox/checkbox.e2e.playwright.js +39 -0
  63. package/dist/collection/components/checkbox/checkbox.e2e.playwright.js.map +1 -0
  64. package/dist/collection/components/checkbox/checkbox.js +21 -2
  65. package/dist/collection/components/checkbox/checkbox.js.map +1 -1
  66. package/dist/collection/components/chip/chip-interface.js +2 -0
  67. package/dist/collection/components/chip/chip-interface.js.map +1 -0
  68. package/dist/collection/components/chip/chip.css +220 -0
  69. package/dist/collection/components/chip/chip.e2e.playwright.js +190 -0
  70. package/dist/collection/components/chip/chip.e2e.playwright.js.map +1 -0
  71. package/dist/collection/components/chip/chip.js +341 -0
  72. package/dist/collection/components/chip/chip.js.map +1 -0
  73. package/dist/collection/components/com-nav/com-nav.css +15 -0
  74. package/dist/collection/components/com-nav/{com-nav.e2e.js → com-nav.e2e.playwright.js} +60 -44
  75. package/dist/collection/components/com-nav/com-nav.e2e.playwright.js.map +1 -0
  76. package/dist/collection/components/com-nav/com-nav.js +3 -3
  77. package/dist/collection/components/com-nav/com-nav.js.map +1 -1
  78. package/dist/collection/components/com-nav-category/com-nav-category.js +1 -1
  79. package/dist/collection/components/com-nav-item/com-nav-item.css +2 -2
  80. package/dist/collection/components/com-nav-submenu/com-nav-submenu.js +1 -1
  81. package/dist/collection/components/counter/counter.e2e.playwright.js +187 -0
  82. package/dist/collection/components/counter/counter.e2e.playwright.js.map +1 -0
  83. package/dist/collection/components/counter/counter.js +1 -1
  84. package/dist/collection/components/dropdown/dropdown.e2e.playwright.js +320 -0
  85. package/dist/collection/components/dropdown/dropdown.e2e.playwright.js.map +1 -0
  86. package/dist/collection/components/dropdown/dropdown.js +1 -1
  87. package/dist/collection/components/editable-field/editable-field.e2e.playwright.js +156 -0
  88. package/dist/collection/components/editable-field/editable-field.e2e.playwright.js.map +1 -0
  89. package/dist/collection/components/form-field/form-field.e2e.playwright.js +104 -0
  90. package/dist/collection/components/form-field/form-field.e2e.playwright.js.map +1 -0
  91. package/dist/collection/components/galactic-menu/galactic-menu.js +1 -1
  92. package/dist/collection/components/grid/grid.e2e.playwright.js +153 -0
  93. package/dist/collection/components/grid/grid.e2e.playwright.js.map +1 -0
  94. package/dist/collection/components/grid/grid.js +6 -5
  95. package/dist/collection/components/grid/grid.js.map +1 -1
  96. package/dist/collection/components/grid-column/grid-column.js +1 -1
  97. package/dist/collection/components/grid-pagination/grid-pagination.js +1 -1
  98. package/dist/collection/components/header/header.js +1 -1
  99. package/dist/collection/components/horizontal-stepper/horizontal-step.js +2 -1
  100. package/dist/collection/components/horizontal-stepper/horizontal-step.js.map +1 -1
  101. package/dist/collection/components/horizontal-stepper/horizontal-stepper-interface.js.map +1 -1
  102. package/dist/collection/components/horizontal-stepper/horizontal-stepper.js +5 -1
  103. package/dist/collection/components/horizontal-stepper/horizontal-stepper.js.map +1 -1
  104. package/dist/collection/components/icon/icon.js +1 -1
  105. package/dist/collection/components/input/input.e2e.playwright.js +157 -0
  106. package/dist/collection/components/input/input.e2e.playwright.js.map +1 -0
  107. package/dist/collection/components/input/input.js +2 -2
  108. package/dist/collection/components/label/label.css +4 -6
  109. package/dist/collection/components/label/label.js +1 -1
  110. package/dist/collection/components/mat-icon/mat-icon.js +1 -1
  111. package/dist/collection/components/modal/modal.css +4 -0
  112. package/dist/collection/components/modal/modal.e2e.playwright.js +35 -0
  113. package/dist/collection/components/modal/modal.e2e.playwright.js.map +1 -0
  114. package/dist/collection/components/modal/modal.js +2 -2
  115. package/dist/collection/components/modal/modal.js.map +1 -1
  116. package/dist/collection/components/native-select/native-select.js +1 -1
  117. package/dist/collection/components/nav/nav.js +1 -1
  118. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  119. package/dist/collection/components/progress-radial/progress-radial.js +1 -1
  120. package/dist/collection/components/radio/radio.js +1 -1
  121. package/dist/collection/components/radio-group/radio-group.e2e.playwright.js +231 -0
  122. package/dist/collection/components/radio-group/radio-group.e2e.playwright.js.map +1 -0
  123. package/dist/collection/components/radio-group/radio-group.js +1 -1
  124. package/dist/collection/components/select/select.e2e.playwright.js +1702 -0
  125. package/dist/collection/components/select/select.e2e.playwright.js.map +1 -0
  126. package/dist/collection/components/select/select.js +49 -20
  127. package/dist/collection/components/select/select.js.map +1 -1
  128. package/dist/collection/components/select-option/select-option.js +3 -3
  129. package/dist/collection/components/select-option/select-option.js.map +1 -1
  130. package/dist/collection/components/switch/switch.e2e.playwright.js +40 -0
  131. package/dist/collection/components/switch/switch.e2e.playwright.js.map +1 -0
  132. package/dist/collection/components/switch/switch.js +1 -1
  133. package/dist/collection/components/tabs/tabs.e2e.playwright.js +205 -0
  134. package/dist/collection/components/tabs/tabs.e2e.playwright.js.map +1 -0
  135. package/dist/collection/components/tabs/tabs.js +1 -1
  136. package/dist/collection/components/textarea/textarea.e2e.playwright.js +133 -0
  137. package/dist/collection/components/textarea/textarea.e2e.playwright.js.map +1 -0
  138. package/dist/collection/components/textarea/textarea.js +1 -1
  139. package/dist/collection/utils/accessibility.js +16 -0
  140. package/dist/collection/utils/accessibility.js.map +1 -1
  141. package/dist/collection/utils/playwright/test-expect.js +2 -0
  142. package/dist/collection/utils/playwright/test-expect.js.map +1 -0
  143. package/dist/collection/utils/playwright/test.js +16 -0
  144. package/dist/collection/utils/playwright/test.js.map +1 -0
  145. package/dist/esm/accessibility-069640cf.js.map +1 -1
  146. package/dist/esm/loader.js +1 -1
  147. package/dist/esm/{popper-e491c314.js → popper-ac238961.js} +10 -17
  148. package/dist/esm/popper-ac238961.js.map +1 -0
  149. package/dist/esm/wcs-accordion-panel.entry.js +1 -1
  150. package/dist/esm/wcs-accordion-panel.entry.js.map +1 -1
  151. package/dist/esm/wcs-accordion.entry.js +2 -1
  152. package/dist/esm/wcs-accordion.entry.js.map +1 -1
  153. package/dist/esm/wcs-breadcrumb.entry.js +1 -1
  154. package/dist/esm/wcs-breadcrumb.entry.js.map +1 -1
  155. package/dist/esm/wcs-checkbox.entry.js +3 -2
  156. package/dist/esm/wcs-checkbox.entry.js.map +1 -1
  157. package/dist/esm/wcs-chip.entry.js +98 -0
  158. package/dist/esm/wcs-chip.entry.js.map +1 -0
  159. package/dist/esm/wcs-com-nav-item.entry.js +1 -1
  160. package/dist/esm/wcs-com-nav-item.entry.js.map +1 -1
  161. package/dist/esm/wcs-com-nav.entry.js +3 -3
  162. package/dist/esm/wcs-com-nav.entry.js.map +1 -1
  163. package/dist/esm/wcs-dropdown.entry.js +1 -1
  164. package/dist/esm/wcs-error_3.entry.js +1 -1
  165. package/dist/esm/wcs-error_3.entry.js.map +1 -1
  166. package/dist/esm/wcs-galactic-menu.entry.js +1 -1
  167. package/dist/esm/wcs-grid.entry.js +5 -4
  168. package/dist/esm/wcs-grid.entry.js.map +1 -1
  169. package/dist/esm/wcs-horizontal-stepper.entry.js +3 -2
  170. package/dist/esm/wcs-horizontal-stepper.entry.js.map +1 -1
  171. package/dist/esm/wcs-modal.entry.js +2 -2
  172. package/dist/esm/wcs-modal.entry.js.map +1 -1
  173. package/dist/esm/wcs-select_2.entry.js +59 -24
  174. package/dist/esm/wcs-select_2.entry.js.map +1 -1
  175. package/dist/esm/wcs-tabs.entry.js +1 -1
  176. package/dist/esm/wcs-tooltip.entry.js +1 -1
  177. package/dist/esm/wcs.js +1 -1
  178. package/dist/types/components/accordion/accordion.e2e.playwright.d.ts +1 -0
  179. package/dist/types/components/accordion-panel/accordion-panel.d.ts +5 -0
  180. package/dist/types/components/alert/alert.e2e.playwright.d.ts +1 -0
  181. package/dist/types/components/alert-drawer/alert-drawer.e2e.playwright.d.ts +1 -0
  182. package/dist/types/components/breadcrumb/breadcrumb.e2e.playwright.d.ts +1 -0
  183. package/dist/types/components/button/button.e2e.playwright.d.ts +1 -0
  184. package/dist/types/components/checkbox/checkbox.d.ts +4 -0
  185. package/dist/types/components/checkbox/checkbox.e2e.playwright.d.ts +1 -0
  186. package/dist/types/components/chip/chip-interface.d.ts +4 -0
  187. package/dist/types/components/chip/chip.d.ts +132 -0
  188. package/dist/types/components/chip/chip.e2e.playwright.d.ts +1 -0
  189. package/dist/types/components/com-nav/com-nav.e2e.playwright.d.ts +1 -0
  190. package/dist/types/components/counter/counter.e2e.playwright.d.ts +1 -0
  191. package/dist/types/components/dropdown/dropdown.e2e.playwright.d.ts +1 -0
  192. package/dist/types/components/editable-field/editable-field.e2e.playwright.d.ts +1 -0
  193. package/dist/types/components/form-field/form-field.e2e.playwright.d.ts +1 -0
  194. package/dist/types/components/grid/grid.e2e.playwright.d.ts +1 -0
  195. package/dist/types/components/horizontal-stepper/horizontal-stepper-interface.d.ts +2 -0
  196. package/dist/types/components/horizontal-stepper/horizontal-stepper.d.ts +4 -0
  197. package/dist/types/components/input/input.e2e.playwright.d.ts +1 -0
  198. package/dist/types/components/modal/modal.e2e.playwright.d.ts +1 -0
  199. package/dist/types/components/radio-group/radio-group.e2e.playwright.d.ts +1 -0
  200. package/dist/types/components/select/select.d.ts +7 -1
  201. package/dist/types/components/select/select.e2e.playwright.d.ts +1 -0
  202. package/dist/types/components/switch/switch.e2e.playwright.d.ts +1 -0
  203. package/dist/types/components/tabs/tabs.e2e.playwright.d.ts +1 -0
  204. package/dist/types/components/textarea/textarea.e2e.playwright.d.ts +1 -0
  205. package/dist/types/components.d.ts +354 -0
  206. package/dist/types/utils/accessibility.d.ts +7 -0
  207. package/dist/types/utils/playwright/test-expect.d.ts +33 -0
  208. package/dist/types/utils/playwright/test.d.ts +7 -0
  209. package/dist/wcs/{p-8e9bd0f1.entry.js → p-0326f834.entry.js} +2 -2
  210. package/dist/wcs/{p-8e9bd0f1.entry.js.map → p-0326f834.entry.js.map} +1 -1
  211. package/dist/wcs/p-2221bf0c.entry.js +16 -0
  212. package/dist/wcs/p-2221bf0c.entry.js.map +1 -0
  213. package/dist/wcs/p-4ae08567.entry.js +2 -0
  214. package/dist/wcs/p-4ae08567.entry.js.map +1 -0
  215. package/dist/wcs/p-4e2d6227.entry.js +2 -0
  216. package/dist/wcs/p-4e2d6227.entry.js.map +1 -0
  217. package/dist/wcs/p-828b45b4.entry.js +2 -0
  218. package/dist/wcs/p-828b45b4.entry.js.map +1 -0
  219. package/dist/wcs/p-8332a7e3.entry.js +2 -0
  220. package/dist/wcs/p-8332a7e3.entry.js.map +1 -0
  221. package/dist/wcs/p-990698a7.entry.js +2 -0
  222. package/dist/wcs/p-990698a7.entry.js.map +1 -0
  223. package/dist/wcs/{p-ec383729.entry.js → p-9b76b8e6.entry.js} +2 -2
  224. package/dist/wcs/{p-ec383729.entry.js.map → p-9b76b8e6.entry.js.map} +1 -1
  225. package/dist/wcs/{p-1f593d06.entry.js → p-abd8d5a0.entry.js} +2 -2
  226. package/dist/wcs/{p-622f7403.entry.js → p-c6f8c45c.entry.js} +2 -2
  227. package/dist/wcs/{p-a94e685c.entry.js → p-db7ba599.entry.js} +2 -2
  228. package/dist/wcs/p-e1fb3625.js +2 -0
  229. package/dist/wcs/p-e1fb3625.js.map +1 -0
  230. package/dist/wcs/p-ed3b0709.entry.js +2 -0
  231. package/dist/wcs/p-ed3b0709.entry.js.map +1 -0
  232. package/dist/wcs/{p-6c6079ee.entry.js → p-f2eeb249.entry.js} +2 -2
  233. package/dist/wcs/{p-6c6079ee.entry.js.map → p-f2eeb249.entry.js.map} +1 -1
  234. package/dist/wcs/{p-a956dc84.entry.js → p-f2f7595e.entry.js} +2 -2
  235. package/dist/wcs/{p-a956dc84.entry.js.map → p-f2f7595e.entry.js.map} +1 -1
  236. package/dist/wcs/p-fb2751c2.js.map +1 -1
  237. package/dist/wcs/p-fbd68522.entry.js +2 -0
  238. package/dist/wcs/p-fbd68522.entry.js.map +1 -0
  239. package/dist/wcs/{p-8c2605fd.entry.js → p-fe303f58.entry.js} +2 -2
  240. package/dist/wcs/wcs.esm.js +1 -1
  241. package/dist/wcs/wcs.esm.js.map +1 -1
  242. package/package.json +18 -24
  243. package/dist/cjs/popper-8d6e7fca.js.map +0 -1
  244. package/dist/collection/components/alert/alert.e2e.js +0 -142
  245. package/dist/collection/components/alert/alert.e2e.js.map +0 -1
  246. package/dist/collection/components/alert-drawer/alert-drawer.e2e.js +0 -111
  247. package/dist/collection/components/alert-drawer/alert-drawer.e2e.js.map +0 -1
  248. package/dist/collection/components/breadcrumb/breadcrumb.e2e.js +0 -223
  249. package/dist/collection/components/breadcrumb/breadcrumb.e2e.js.map +0 -1
  250. package/dist/collection/components/button/button.e2e.js +0 -25
  251. package/dist/collection/components/button/button.e2e.js.map +0 -1
  252. package/dist/collection/components/checkbox/checkbox.e2e.js +0 -45
  253. package/dist/collection/components/checkbox/checkbox.e2e.js.map +0 -1
  254. package/dist/collection/components/com-nav/com-nav.e2e.js.map +0 -1
  255. package/dist/collection/components/counter/counter.e2e.js +0 -206
  256. package/dist/collection/components/counter/counter.e2e.js.map +0 -1
  257. package/dist/collection/components/dropdown/dropdown.e2e.js +0 -156
  258. package/dist/collection/components/dropdown/dropdown.e2e.js.map +0 -1
  259. package/dist/collection/components/editable-field/editable-field.e2e.js +0 -176
  260. package/dist/collection/components/editable-field/editable-field.e2e.js.map +0 -1
  261. package/dist/collection/components/form-field/form-field.e2e.js +0 -122
  262. package/dist/collection/components/form-field/form-field.e2e.js.map +0 -1
  263. package/dist/collection/components/grid/grid.e2e.js +0 -147
  264. package/dist/collection/components/grid/grid.e2e.js.map +0 -1
  265. package/dist/collection/components/input/input.e2e.js +0 -152
  266. package/dist/collection/components/input/input.e2e.js.map +0 -1
  267. package/dist/collection/components/modal/modal.e2e.js +0 -36
  268. package/dist/collection/components/modal/modal.e2e.js.map +0 -1
  269. package/dist/collection/components/radio-group/radio-group.e2e.js +0 -239
  270. package/dist/collection/components/radio-group/radio-group.e2e.js.map +0 -1
  271. package/dist/collection/components/select/select.e2e.js +0 -1081
  272. package/dist/collection/components/select/select.e2e.js.map +0 -1
  273. package/dist/collection/components/switch/switch.e2e.js +0 -45
  274. package/dist/collection/components/switch/switch.e2e.js.map +0 -1
  275. package/dist/collection/components/tabs/tabs.e2e.js +0 -207
  276. package/dist/collection/components/tabs/tabs.e2e.js.map +0 -1
  277. package/dist/collection/components/textarea/textarea.e2e.js +0 -132
  278. package/dist/collection/components/textarea/textarea.e2e.js.map +0 -1
  279. package/dist/collection/utils/tests.js +0 -23
  280. package/dist/collection/utils/tests.js.map +0 -1
  281. package/dist/esm/popper-e491c314.js.map +0 -1
  282. package/dist/types/utils/tests.d.ts +0 -4
  283. package/dist/wcs/p-02f31010.entry.js +0 -2
  284. package/dist/wcs/p-02f31010.entry.js.map +0 -1
  285. package/dist/wcs/p-0dd07842.entry.js +0 -2
  286. package/dist/wcs/p-0dd07842.entry.js.map +0 -1
  287. package/dist/wcs/p-0f864e86.js +0 -2
  288. package/dist/wcs/p-0f864e86.js.map +0 -1
  289. package/dist/wcs/p-1244daa0.entry.js +0 -2
  290. package/dist/wcs/p-1244daa0.entry.js.map +0 -1
  291. package/dist/wcs/p-1fbe0328.entry.js +0 -2
  292. package/dist/wcs/p-1fbe0328.entry.js.map +0 -1
  293. package/dist/wcs/p-4fb2d985.entry.js +0 -2
  294. package/dist/wcs/p-4fb2d985.entry.js.map +0 -1
  295. package/dist/wcs/p-b94a09b6.entry.js +0 -16
  296. package/dist/wcs/p-b94a09b6.entry.js.map +0 -1
  297. package/dist/wcs/p-fd187bce.entry.js +0 -2
  298. package/dist/wcs/p-fd187bce.entry.js.map +0 -1
  299. /package/dist/wcs/{p-1f593d06.entry.js.map → p-abd8d5a0.entry.js.map} +0 -0
  300. /package/dist/wcs/{p-622f7403.entry.js.map → p-c6f8c45c.entry.js.map} +0 -0
  301. /package/dist/wcs/{p-a94e685c.entry.js.map → p-db7ba599.entry.js.map} +0 -0
  302. /package/dist/wcs/{p-8c2605fd.entry.js.map → p-fe303f58.entry.js.map} +0 -0
@@ -1,111 +0,0 @@
1
- import { newE2EPage } from "@stencil/core/testing";
2
- import { setWcsContent } from "../../utils/tests";
3
- const WAITING_DELAY_BEFORE_ASSERTIONS = 1000;
4
- describe('alert-drawer', () => {
5
- it('should show an alert when using show() method', async () => {
6
- // Given
7
- const page = await newE2EPage();
8
- await setWcsContent(page, `
9
- <wcs-alert-drawer position="bottom-right"></wcs-alert-drawer>
10
- `);
11
- const alertDrawer = await page.find('wcs-alert-drawer');
12
- // When
13
- await alertDrawer.callMethod('show', {
14
- title: 'Test Title',
15
- subtitle: 'Test Subtitle',
16
- intent: 'success',
17
- showProgressBar: false,
18
- timeout: 0
19
- });
20
- await page.waitForChanges();
21
- // Then
22
- const alert = await page.find('wcs-alert-drawer >>> wcs-alert');
23
- expect(alert).not.toBeNull();
24
- const title = await page.find('wcs-alert-drawer >>> wcs-alert > [slot="title"]');
25
- const subtitle = await page.find('wcs-alert-drawer >>> wcs-alert > [slot="subtitle"]');
26
- expect(title.textContent).toBe('Test Title');
27
- expect(subtitle.textContent).toBe('Test Subtitle');
28
- });
29
- it('should close the alert after timeout', async () => {
30
- // Given
31
- const page = await newE2EPage();
32
- await setWcsContent(page, `
33
- <wcs-alert-drawer></wcs-alert-drawer>
34
- `);
35
- const alertDrawer = await page.find('wcs-alert-drawer');
36
- // When
37
- await alertDrawer.callMethod('show', {
38
- title: 'Test Title',
39
- subtitle: 'Test Subtitle',
40
- intent: 'success',
41
- showProgressBar: false,
42
- timeout: 100 // Short timeout for testing
43
- });
44
- await page.waitForChanges();
45
- // Wait for the alert to be removed
46
- await new Promise(resolve => setTimeout(resolve, WAITING_DELAY_BEFORE_ASSERTIONS)); // Wait a bit longer than the timeout
47
- // Then
48
- const alert = await page.find('wcs-alert-drawer >>> wcs-alert');
49
- expect(alert).toBeNull();
50
- });
51
- it('should show progress bar when showProgressBar is true', async () => {
52
- // Given
53
- const page = await newE2EPage();
54
- await setWcsContent(page, `
55
- <wcs-alert-drawer></wcs-alert-drawer>
56
- `);
57
- const alertDrawer = await page.find('wcs-alert-drawer');
58
- // When
59
- await alertDrawer.callMethod('show', {
60
- title: 'Test Title',
61
- subtitle: 'Test Subtitle',
62
- intent: 'success',
63
- showProgressBar: true,
64
- timeout: 5000
65
- });
66
- await page.waitForChanges();
67
- // Then
68
- const progressBar = await page.find('wcs-alert-drawer >>> wcs-alert >>> .progress-bar');
69
- expect(progressBar).not.toBeNull();
70
- });
71
- it('should have correct ARIA attributes for accessibility', async () => {
72
- // Given
73
- const page = await newE2EPage();
74
- await setWcsContent(page, `
75
- <wcs-alert-drawer></wcs-alert-drawer>
76
- `);
77
- const alertDrawer = await page.find('wcs-alert-drawer');
78
- // Then
79
- expect(alertDrawer.getAttribute('role')).toBe('region');
80
- expect(alertDrawer.getAttribute('aria-live')).toBe('polite');
81
- expect(alertDrawer.getAttribute('aria-atomic')).toBe('true');
82
- });
83
- it('should handle multiple alerts', async () => {
84
- // Given
85
- const page = await newE2EPage();
86
- await setWcsContent(page, `
87
- <wcs-alert-drawer></wcs-alert-drawer>
88
- `);
89
- const alertDrawer = await page.find('wcs-alert-drawer');
90
- // When
91
- await alertDrawer.callMethod('show', {
92
- title: 'First Alert',
93
- subtitle: 'First Subtitle',
94
- intent: 'success',
95
- showProgressBar: false,
96
- timeout: 0
97
- });
98
- await alertDrawer.callMethod('show', {
99
- title: 'Second Alert',
100
- subtitle: 'Second Subtitle',
101
- intent: 'warning',
102
- showProgressBar: false,
103
- timeout: 0
104
- });
105
- await page.waitForChanges();
106
- // Then
107
- const alerts = await page.findAll('wcs-alert-drawer >>> wcs-alert');
108
- expect(alerts.length).toBe(2);
109
- });
110
- });
111
- //# sourceMappingURL=alert-drawer.e2e.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"alert-drawer.e2e.js","sourceRoot":"","sources":["../../../src/components/alert-drawer/alert-drawer.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { newE2EPage } from '@stencil/core/testing';\nimport { setWcsContent } from '../../utils/tests';\n\nconst WAITING_DELAY_BEFORE_ASSERTIONS = 1_000;\n\ndescribe('alert-drawer', () => {\n it('should show an alert when using show() method', async () => {\n // Given\n const page = await newE2EPage();\n await setWcsContent(page, `\n <wcs-alert-drawer position=\"bottom-right\"></wcs-alert-drawer>\n `);\n const alertDrawer = await page.find('wcs-alert-drawer');\n\n // When\n await alertDrawer.callMethod('show', {\n title: 'Test Title',\n subtitle: 'Test Subtitle',\n intent: 'success',\n showProgressBar: false,\n timeout: 0\n });\n await page.waitForChanges();\n\n // Then\n const alert = await page.find('wcs-alert-drawer >>> wcs-alert');\n expect(alert).not.toBeNull();\n const title = await page.find('wcs-alert-drawer >>> wcs-alert > [slot=\"title\"]');\n const subtitle = await page.find('wcs-alert-drawer >>> wcs-alert > [slot=\"subtitle\"]');\n expect(title.textContent).toBe('Test Title');\n expect(subtitle.textContent).toBe('Test Subtitle');\n });\n\n it('should close the alert after timeout', async () => {\n // Given\n const page = await newE2EPage();\n await setWcsContent(page, `\n <wcs-alert-drawer></wcs-alert-drawer>\n `);\n const alertDrawer = await page.find('wcs-alert-drawer');\n\n // When\n await alertDrawer.callMethod('show', {\n title: 'Test Title',\n subtitle: 'Test Subtitle',\n intent: 'success',\n showProgressBar: false,\n timeout: 100 // Short timeout for testing\n });\n await page.waitForChanges();\n\n // Wait for the alert to be removed\n await new Promise(resolve => setTimeout(resolve, WAITING_DELAY_BEFORE_ASSERTIONS)); // Wait a bit longer than the timeout\n\n // Then\n const alert = await page.find('wcs-alert-drawer >>> wcs-alert');\n expect(alert).toBeNull();\n });\n\n it('should show progress bar when showProgressBar is true', async () => {\n // Given\n const page = await newE2EPage();\n await setWcsContent(page, `\n <wcs-alert-drawer></wcs-alert-drawer>\n `);\n const alertDrawer = await page.find('wcs-alert-drawer');\n\n // When\n await alertDrawer.callMethod('show', {\n title: 'Test Title',\n subtitle: 'Test Subtitle',\n intent: 'success',\n showProgressBar: true,\n timeout: 5000\n });\n await page.waitForChanges();\n\n // Then\n const progressBar = await page.find('wcs-alert-drawer >>> wcs-alert >>> .progress-bar');\n expect(progressBar).not.toBeNull();\n });\n\n it('should have correct ARIA attributes for accessibility', async () => {\n // Given\n const page = await newE2EPage();\n await setWcsContent(page, `\n <wcs-alert-drawer></wcs-alert-drawer>\n `);\n const alertDrawer = await page.find('wcs-alert-drawer');\n\n // Then\n expect(alertDrawer.getAttribute('role')).toBe('region');\n expect(alertDrawer.getAttribute('aria-live')).toBe('polite');\n expect(alertDrawer.getAttribute('aria-atomic')).toBe('true');\n });\n\n it('should handle multiple alerts', async () => {\n // Given\n const page = await newE2EPage();\n await setWcsContent(page, `\n <wcs-alert-drawer></wcs-alert-drawer>\n `);\n const alertDrawer = await page.find('wcs-alert-drawer');\n\n // When\n await alertDrawer.callMethod('show', {\n title: 'First Alert',\n subtitle: 'First Subtitle',\n intent: 'success',\n showProgressBar: false,\n timeout: 0\n });\n await alertDrawer.callMethod('show', {\n title: 'Second Alert',\n subtitle: 'Second Subtitle',\n intent: 'warning',\n showProgressBar: false,\n timeout: 0\n });\n await page.waitForChanges();\n\n // Then\n const alerts = await page.findAll('wcs-alert-drawer >>> wcs-alert');\n expect(alerts.length).toBe(2);\n });\n});\n"]}
@@ -1,223 +0,0 @@
1
- import { newE2EPage } from "@stencil/core/testing";
2
- import { EXPAND_BTN_ARIA_LABEL_DEFAULT } from "./breadcrumb-constants";
3
- import { setWcsContent } from "../../utils/tests";
4
- describe('breadcrumb collapse', () => {
5
- it('should hide breadcrumb item and respect default values for itemsBeforeCollapse and itemsAfterCollapse props', async () => {
6
- // Given
7
- const page = await newE2EPage();
8
- await setWcsContent(page, `
9
- <wcs-breadcrumb max-items="3">
10
- <wcs-breadcrumb-item class="home-item">Home</wcs-breadcrumb-item>
11
- <wcs-breadcrumb-item class="train-item">Train</wcs-breadcrumb-item>
12
- <wcs-breadcrumb-item class="ticket-item">Tickets</wcs-breadcrumb-item>
13
- <wcs-breadcrumb-item class="detail-item">Details</wcs-breadcrumb-item>
14
- </wcs-breadcrumb>
15
- `);
16
- await page.waitForChanges();
17
- const homeItem = await page.find('.home-item');
18
- const trainItem = await page.find('.train-item');
19
- const ticketItem = await page.find('.ticket-item');
20
- const detail = await page.find('.detail-item');
21
- // We don't use isVisible() because the item is still in the user DOM and the slot style don't seem to be taken
22
- // into account with the isVisible() method
23
- expect(homeItem.getAttribute("slot")).toEqual("items-before-expand-btn");
24
- expect(trainItem.getAttribute("slot")).toEqual("hidden-items");
25
- expect(ticketItem.getAttribute("slot")).toEqual("items-after-expand-btn");
26
- expect(detail.getAttribute("slot")).toEqual("items-after-expand-btn");
27
- });
28
- it('should hide breadcrumb item and respect user values for itemsBeforeCollapse and itemsAfterCollapse props', async () => {
29
- // Given
30
- const page = await newE2EPage();
31
- await setWcsContent(page, `
32
- <wcs-breadcrumb max-items="3" items-before-collapse="2" items-after-collapse="1">
33
- <wcs-breadcrumb-item class="home-item">Home</wcs-breadcrumb-item>
34
- <wcs-breadcrumb-item class="train-item">Train</wcs-breadcrumb-item>
35
- <wcs-breadcrumb-item class="ticket-item">Tickets</wcs-breadcrumb-item>
36
- <wcs-breadcrumb-item class="detail-item">Details</wcs-breadcrumb-item>
37
- </wcs-breadcrumb>
38
- `);
39
- await page.waitForChanges();
40
- const homeItem = await page.find('.home-item');
41
- const trainItem = await page.find('.train-item');
42
- const ticketItem = await page.find('.ticket-item');
43
- const detail = await page.find('.detail-item');
44
- // We don't use isVisible() because the item is still in the user DOM and the slot style don't seem to be taken
45
- // into account with the isVisible() method
46
- expect(homeItem.getAttribute("slot")).toEqual("items-before-expand-btn");
47
- expect(trainItem.getAttribute("slot")).toEqual("items-before-expand-btn");
48
- expect(ticketItem.getAttribute("slot")).toEqual("hidden-items");
49
- expect(detail.getAttribute("slot")).toEqual("items-after-expand-btn");
50
- });
51
- it('shouldn\'t hide breadcrumb item if max item attribute is not defined', async () => {
52
- // Given
53
- const page = await newE2EPage();
54
- await setWcsContent(page, `
55
- <wcs-breadcrumb>
56
- <wcs-breadcrumb-item class="home-item">Home</wcs-breadcrumb-item>
57
- <wcs-breadcrumb-item class="train-item">Train</wcs-breadcrumb-item>
58
- <wcs-breadcrumb-item class="ticket-item">Tickets</wcs-breadcrumb-item>
59
- <wcs-breadcrumb-item class="detail-item">Details</wcs-breadcrumb-item>
60
- </wcs-breadcrumb>
61
- `);
62
- await page.waitForChanges();
63
- const homeItem = await page.find('.home-item');
64
- const trainItem = await page.find('.train-item');
65
- const ticketItem = await page.find('.ticket-item');
66
- const detail = await page.find('.detail-item');
67
- // We don't use isVisible() because the item is still in the user DOM and the slot style don't seem to be taken
68
- // into account with the isVisible() method
69
- expect(homeItem.getAttribute("slot")).toEqual("non-collapsed");
70
- expect(trainItem.getAttribute("slot")).toEqual("non-collapsed");
71
- expect(ticketItem.getAttribute("slot")).toEqual("non-collapsed");
72
- expect(detail.getAttribute("slot")).toEqual("non-collapsed");
73
- });
74
- it('sould hide appended breadcrumb item', async () => {
75
- // Given
76
- const page = await newE2EPage();
77
- await setWcsContent(page, `
78
- <wcs-breadcrumb max-items="3">
79
- <wcs-breadcrumb-item class="home-item">Home</wcs-breadcrumb-item>
80
- <wcs-breadcrumb-item class="train-item">Train</wcs-breadcrumb-item>
81
- <wcs-breadcrumb-item class="ticket-item">Tickets</wcs-breadcrumb-item>
82
- </wcs-breadcrumb>
83
- `);
84
- await page.waitForChanges();
85
- await page.evaluate(() => {
86
- const breadcrumbItem = document.createElement('wcs-breadcrumb-item');
87
- breadcrumbItem.classList.add('detail-item');
88
- breadcrumbItem.textContent = 'Details';
89
- const breadcrumb = document.querySelector('wcs-breadcrumb');
90
- breadcrumb.appendChild(breadcrumbItem);
91
- });
92
- await page.waitForChanges();
93
- const homeItem = await page.find('.home-item');
94
- const trainItem = await page.find('.train-item');
95
- const ticketItem = await page.find('.ticket-item');
96
- const detail = await page.find('.detail-item');
97
- // We don't use isVisible() because the item is still in the user DOM and the slot style don't seem to be taken
98
- // into account with the isVisible() method
99
- expect(homeItem.getAttribute("slot")).toEqual("items-before-expand-btn");
100
- expect(trainItem.getAttribute("slot")).toEqual("hidden-items");
101
- expect(ticketItem.getAttribute("slot")).toEqual("items-after-expand-btn");
102
- expect(detail.getAttribute("slot")).toEqual("items-after-expand-btn");
103
- });
104
- it('should display all breadcrumb items when the max-items prop is mutated in js', async () => {
105
- // Given
106
- const page = await newE2EPage();
107
- await setWcsContent(page, `
108
- <wcs-breadcrumb max-items="3">
109
- <wcs-breadcrumb-item class="home-item">Home</wcs-breadcrumb-item>
110
- <wcs-breadcrumb-item class="train-item">Train</wcs-breadcrumb-item>
111
- <wcs-breadcrumb-item class="ticket-item">Tickets</wcs-breadcrumb-item>
112
- <wcs-breadcrumb-item class="detail-item">Details</wcs-breadcrumb-item>
113
- </wcs-breadcrumb>
114
- `);
115
- await page.waitForChanges();
116
- const homeItem = await page.find('.home-item');
117
- const trainItem = await page.find('.train-item');
118
- const ticketItem = await page.find('.ticket-item');
119
- const detail = await page.find('.detail-item');
120
- // We don't use isVisible() because the item is still in the user DOM and the slot style don't seem to be taken
121
- // into account with the isVisible() method
122
- expect(homeItem.getAttribute("slot")).toEqual("items-before-expand-btn");
123
- expect(trainItem.getAttribute("slot")).toEqual("hidden-items");
124
- expect(ticketItem.getAttribute("slot")).toEqual("items-after-expand-btn");
125
- expect(detail.getAttribute("slot")).toEqual("items-after-expand-btn");
126
- const breadcrumb = await page.find('wcs-breadcrumb');
127
- breadcrumb.setProperty('maxItems', undefined);
128
- await page.waitForChanges();
129
- expect(homeItem.getAttribute("slot")).toEqual("non-collapsed");
130
- expect(trainItem.getAttribute("slot")).toEqual("non-collapsed");
131
- expect(ticketItem.getAttribute("slot")).toEqual("non-collapsed");
132
- expect(detail.getAttribute("slot")).toEqual("non-collapsed");
133
- });
134
- it('should collapse all breadcrumb items when the max-items prop is mutated in js', async () => {
135
- // Given
136
- const page = await newE2EPage();
137
- await setWcsContent(page, `
138
- <wcs-breadcrumb>
139
- <wcs-breadcrumb-item class="home-item">Home</wcs-breadcrumb-item>
140
- <wcs-breadcrumb-item class="train-item">Train</wcs-breadcrumb-item>
141
- <wcs-breadcrumb-item class="ticket-item">Tickets</wcs-breadcrumb-item>
142
- <wcs-breadcrumb-item class="detail-item">Details</wcs-breadcrumb-item>
143
- </wcs-breadcrumb>
144
- `);
145
- await page.waitForChanges();
146
- const homeItem = await page.find('.home-item');
147
- const trainItem = await page.find('.train-item');
148
- const ticketItem = await page.find('.ticket-item');
149
- const detail = await page.find('.detail-item');
150
- // We don't use isVisible() because the item is still in the user DOM and the slot style don't seem to be taken
151
- // into account with the isVisible() method
152
- expect(homeItem.getAttribute("slot")).toEqual("non-collapsed");
153
- expect(trainItem.getAttribute("slot")).toEqual("non-collapsed");
154
- expect(ticketItem.getAttribute("slot")).toEqual("non-collapsed");
155
- expect(detail.getAttribute("slot")).toEqual("non-collapsed");
156
- const breadcrumb = await page.find('wcs-breadcrumb');
157
- breadcrumb.setProperty('maxItems', 3);
158
- await page.waitForChanges();
159
- expect(homeItem.getAttribute("slot")).toEqual("items-before-expand-btn");
160
- expect(trainItem.getAttribute("slot")).toEqual("hidden-items");
161
- expect(ticketItem.getAttribute("slot")).toEqual("items-after-expand-btn");
162
- expect(detail.getAttribute("slot")).toEqual("items-after-expand-btn");
163
- });
164
- it('should expand collapsed items when user click on expand button', async () => {
165
- // Given
166
- const page = await newE2EPage();
167
- await setWcsContent(page, `
168
- <wcs-breadcrumb max-items="3">
169
- <wcs-breadcrumb-item class="home-item">Home</wcs-breadcrumb-item>
170
- <wcs-breadcrumb-item class="train-item">Train</wcs-breadcrumb-item>
171
- <wcs-breadcrumb-item class="ticket-item">Tickets</wcs-breadcrumb-item>
172
- <wcs-breadcrumb-item class="detail-item">Details</wcs-breadcrumb-item>
173
- </wcs-breadcrumb>
174
- `);
175
- await page.waitForChanges();
176
- const nav = await page.find('wcs-breadcrumb >>> nav');
177
- const expandBtn = await page.find(`wcs-breadcrumb >>> button[aria-label="${EXPAND_BTN_ARIA_LABEL_DEFAULT}"]`);
178
- await expandBtn.click();
179
- await page.waitForChanges();
180
- expect(nav).toHaveClass('show-hidden-items');
181
- });
182
- it('should update aria-label attribute after the first render', async () => {
183
- // Given
184
- const page = await newE2EPage();
185
- await setWcsContent(page, `
186
- <wcs-breadcrumb>
187
- <wcs-breadcrumb-item>Home</wcs-breadcrumb-item>
188
- <wcs-breadcrumb-item>Train</wcs-breadcrumb-item>
189
- <wcs-breadcrumb-item>Tickets</wcs-breadcrumb-item>
190
- </wcs-breadcrumb>
191
- `);
192
- const wcsBreadcrumb = await page.find('wcs-breadcrumb');
193
- await page.waitForChanges();
194
- // When
195
- await wcsBreadcrumb.callMethod('setAriaAttribute', 'aria-label', 'new label');
196
- await page.waitForChanges();
197
- // Then
198
- const navEl = wcsBreadcrumb.shadowRoot.querySelector('nav');
199
- expect(navEl.getAttribute('aria-label')).toBe('new label');
200
- });
201
- it('should update expand button aria-label attribute', async () => {
202
- // Given
203
- const page = await newE2EPage();
204
- await setWcsContent(page, `
205
- <wcs-breadcrumb max-items="3">
206
- <wcs-breadcrumb-item class="home-item">Home</wcs-breadcrumb-item>
207
- <wcs-breadcrumb-item class="train-item">Train</wcs-breadcrumb-item>
208
- <wcs-breadcrumb-item class="ticket-item">Tickets</wcs-breadcrumb-item>
209
- <wcs-breadcrumb-item class="detail-item">Details</wcs-breadcrumb-item>
210
- </wcs-breadcrumb>
211
- `);
212
- const wcsBreadcrumb = await page.find('wcs-breadcrumb');
213
- await page.waitForChanges();
214
- // When
215
- const newAriaLabelValue = 'New label';
216
- wcsBreadcrumb.setProperty('ariaLabelExpandButton', newAriaLabelValue);
217
- await page.waitForChanges();
218
- // Then
219
- const expandBtn = await page.find('wcs-breadcrumb >>> button.wcs-inner-button');
220
- expect(expandBtn.getAttribute('aria-label')).toBe(newAriaLabelValue);
221
- });
222
- });
223
- //# sourceMappingURL=breadcrumb.e2e.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"breadcrumb.e2e.js","sourceRoot":"","sources":["../../../src/components/breadcrumb/breadcrumb.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { newE2EPage } from '@stencil/core/testing';\n\nimport { EXPAND_BTN_ARIA_LABEL_DEFAULT } from './breadcrumb-constants';\nimport { setWcsContent } from \"../../utils/tests\";\n\ndescribe('breadcrumb collapse', () => {\n it('should hide breadcrumb item and respect default values for itemsBeforeCollapse and itemsAfterCollapse props', async () => {\n // Given\n const page = await newE2EPage();\n await setWcsContent(page, `\n <wcs-breadcrumb max-items=\"3\">\n <wcs-breadcrumb-item class=\"home-item\">Home</wcs-breadcrumb-item>\n <wcs-breadcrumb-item class=\"train-item\">Train</wcs-breadcrumb-item>\n <wcs-breadcrumb-item class=\"ticket-item\">Tickets</wcs-breadcrumb-item>\n <wcs-breadcrumb-item class=\"detail-item\">Details</wcs-breadcrumb-item>\n </wcs-breadcrumb>\n `);\n\n await page.waitForChanges();\n\n const homeItem = await page.find('.home-item');\n const trainItem = await page.find('.train-item');\n const ticketItem = await page.find('.ticket-item');\n const detail = await page.find('.detail-item');\n\n // We don't use isVisible() because the item is still in the user DOM and the slot style don't seem to be taken\n // into account with the isVisible() method\n expect(homeItem.getAttribute(\"slot\")).toEqual(\"items-before-expand-btn\");\n expect(trainItem.getAttribute(\"slot\")).toEqual(\"hidden-items\");\n expect(ticketItem.getAttribute(\"slot\")).toEqual(\"items-after-expand-btn\");\n expect(detail.getAttribute(\"slot\")).toEqual(\"items-after-expand-btn\");\n\n });\n\n it('should hide breadcrumb item and respect user values for itemsBeforeCollapse and itemsAfterCollapse props', async () => {\n // Given\n const page = await newE2EPage();\n await setWcsContent(page, `\n <wcs-breadcrumb max-items=\"3\" items-before-collapse=\"2\" items-after-collapse=\"1\">\n <wcs-breadcrumb-item class=\"home-item\">Home</wcs-breadcrumb-item>\n <wcs-breadcrumb-item class=\"train-item\">Train</wcs-breadcrumb-item>\n <wcs-breadcrumb-item class=\"ticket-item\">Tickets</wcs-breadcrumb-item>\n <wcs-breadcrumb-item class=\"detail-item\">Details</wcs-breadcrumb-item>\n </wcs-breadcrumb>\n `);\n\n await page.waitForChanges();\n\n const homeItem = await page.find('.home-item');\n const trainItem = await page.find('.train-item');\n const ticketItem = await page.find('.ticket-item');\n const detail = await page.find('.detail-item');\n\n // We don't use isVisible() because the item is still in the user DOM and the slot style don't seem to be taken\n // into account with the isVisible() method\n expect(homeItem.getAttribute(\"slot\")).toEqual(\"items-before-expand-btn\");\n expect(trainItem.getAttribute(\"slot\")).toEqual(\"items-before-expand-btn\");\n expect(ticketItem.getAttribute(\"slot\")).toEqual(\"hidden-items\");\n expect(detail.getAttribute(\"slot\")).toEqual(\"items-after-expand-btn\");\n });\n\n it('shouldn\\'t hide breadcrumb item if max item attribute is not defined', async () => {\n // Given\n const page = await newE2EPage();\n await setWcsContent(page, `\n <wcs-breadcrumb>\n <wcs-breadcrumb-item class=\"home-item\">Home</wcs-breadcrumb-item>\n <wcs-breadcrumb-item class=\"train-item\">Train</wcs-breadcrumb-item>\n <wcs-breadcrumb-item class=\"ticket-item\">Tickets</wcs-breadcrumb-item>\n <wcs-breadcrumb-item class=\"detail-item\">Details</wcs-breadcrumb-item>\n </wcs-breadcrumb>\n `);\n\n await page.waitForChanges();\n\n const homeItem = await page.find('.home-item');\n const trainItem = await page.find('.train-item');\n const ticketItem = await page.find('.ticket-item');\n const detail = await page.find('.detail-item');\n\n // We don't use isVisible() because the item is still in the user DOM and the slot style don't seem to be taken\n // into account with the isVisible() method\n expect(homeItem.getAttribute(\"slot\")).toEqual(\"non-collapsed\");\n expect(trainItem.getAttribute(\"slot\")).toEqual(\"non-collapsed\");\n expect(ticketItem.getAttribute(\"slot\")).toEqual(\"non-collapsed\");\n expect(detail.getAttribute(\"slot\")).toEqual(\"non-collapsed\");\n });\n\n it('sould hide appended breadcrumb item', async () => {\n // Given\n const page = await newE2EPage();\n await setWcsContent(page, `\n <wcs-breadcrumb max-items=\"3\">\n <wcs-breadcrumb-item class=\"home-item\">Home</wcs-breadcrumb-item>\n <wcs-breadcrumb-item class=\"train-item\">Train</wcs-breadcrumb-item>\n <wcs-breadcrumb-item class=\"ticket-item\">Tickets</wcs-breadcrumb-item>\n </wcs-breadcrumb>\n `);\n\n await page.waitForChanges();\n\n await page.evaluate(() => {\n const breadcrumbItem = document.createElement('wcs-breadcrumb-item');\n breadcrumbItem.classList.add('detail-item');\n breadcrumbItem.textContent = 'Details';\n const breadcrumb = document.querySelector('wcs-breadcrumb');\n breadcrumb.appendChild(breadcrumbItem);\n });\n\n await page.waitForChanges();\n\n const homeItem = await page.find('.home-item');\n const trainItem = await page.find('.train-item');\n const ticketItem = await page.find('.ticket-item');\n const detail = await page.find('.detail-item');\n\n // We don't use isVisible() because the item is still in the user DOM and the slot style don't seem to be taken\n // into account with the isVisible() method\n expect(homeItem.getAttribute(\"slot\")).toEqual(\"items-before-expand-btn\");\n expect(trainItem.getAttribute(\"slot\")).toEqual(\"hidden-items\");\n expect(ticketItem.getAttribute(\"slot\")).toEqual(\"items-after-expand-btn\");\n expect(detail.getAttribute(\"slot\")).toEqual(\"items-after-expand-btn\");\n });\n\n it('should display all breadcrumb items when the max-items prop is mutated in js', async () => {\n // Given\n const page = await newE2EPage();\n await setWcsContent(page, `\n <wcs-breadcrumb max-items=\"3\">\n <wcs-breadcrumb-item class=\"home-item\">Home</wcs-breadcrumb-item>\n <wcs-breadcrumb-item class=\"train-item\">Train</wcs-breadcrumb-item>\n <wcs-breadcrumb-item class=\"ticket-item\">Tickets</wcs-breadcrumb-item>\n <wcs-breadcrumb-item class=\"detail-item\">Details</wcs-breadcrumb-item>\n </wcs-breadcrumb>\n `);\n\n await page.waitForChanges();\n\n const homeItem = await page.find('.home-item');\n const trainItem = await page.find('.train-item');\n const ticketItem = await page.find('.ticket-item');\n const detail = await page.find('.detail-item');\n\n // We don't use isVisible() because the item is still in the user DOM and the slot style don't seem to be taken\n // into account with the isVisible() method\n expect(homeItem.getAttribute(\"slot\")).toEqual(\"items-before-expand-btn\");\n expect(trainItem.getAttribute(\"slot\")).toEqual(\"hidden-items\");\n expect(ticketItem.getAttribute(\"slot\")).toEqual(\"items-after-expand-btn\");\n expect(detail.getAttribute(\"slot\")).toEqual(\"items-after-expand-btn\");\n\n const breadcrumb = await page.find('wcs-breadcrumb');\n breadcrumb.setProperty('maxItems', undefined);\n\n await page.waitForChanges();\n\n expect(homeItem.getAttribute(\"slot\")).toEqual(\"non-collapsed\");\n expect(trainItem.getAttribute(\"slot\")).toEqual(\"non-collapsed\");\n expect(ticketItem.getAttribute(\"slot\")).toEqual(\"non-collapsed\");\n expect(detail.getAttribute(\"slot\")).toEqual(\"non-collapsed\");\n });\n\n it('should collapse all breadcrumb items when the max-items prop is mutated in js', async () => {\n // Given\n const page = await newE2EPage();\n await setWcsContent(page, `\n <wcs-breadcrumb>\n <wcs-breadcrumb-item class=\"home-item\">Home</wcs-breadcrumb-item>\n <wcs-breadcrumb-item class=\"train-item\">Train</wcs-breadcrumb-item>\n <wcs-breadcrumb-item class=\"ticket-item\">Tickets</wcs-breadcrumb-item>\n <wcs-breadcrumb-item class=\"detail-item\">Details</wcs-breadcrumb-item>\n </wcs-breadcrumb>\n `);\n\n await page.waitForChanges();\n\n const homeItem = await page.find('.home-item');\n const trainItem = await page.find('.train-item');\n const ticketItem = await page.find('.ticket-item');\n const detail = await page.find('.detail-item');\n\n // We don't use isVisible() because the item is still in the user DOM and the slot style don't seem to be taken\n // into account with the isVisible() method\n\n expect(homeItem.getAttribute(\"slot\")).toEqual(\"non-collapsed\");\n expect(trainItem.getAttribute(\"slot\")).toEqual(\"non-collapsed\");\n expect(ticketItem.getAttribute(\"slot\")).toEqual(\"non-collapsed\");\n expect(detail.getAttribute(\"slot\")).toEqual(\"non-collapsed\");\n\n const breadcrumb = await page.find('wcs-breadcrumb');\n breadcrumb.setProperty('maxItems', 3);\n\n await page.waitForChanges();\n\n expect(homeItem.getAttribute(\"slot\")).toEqual(\"items-before-expand-btn\");\n expect(trainItem.getAttribute(\"slot\")).toEqual(\"hidden-items\");\n expect(ticketItem.getAttribute(\"slot\")).toEqual(\"items-after-expand-btn\");\n expect(detail.getAttribute(\"slot\")).toEqual(\"items-after-expand-btn\");\n });\n\n it('should expand collapsed items when user click on expand button', async () => {\n // Given\n const page = await newE2EPage();\n await setWcsContent(page, `\n <wcs-breadcrumb max-items=\"3\">\n <wcs-breadcrumb-item class=\"home-item\">Home</wcs-breadcrumb-item>\n <wcs-breadcrumb-item class=\"train-item\">Train</wcs-breadcrumb-item>\n <wcs-breadcrumb-item class=\"ticket-item\">Tickets</wcs-breadcrumb-item>\n <wcs-breadcrumb-item class=\"detail-item\">Details</wcs-breadcrumb-item>\n </wcs-breadcrumb>\n `);\n\n await page.waitForChanges();\n\n const nav = await page.find('wcs-breadcrumb >>> nav');\n const expandBtn =\n await page.find(`wcs-breadcrumb >>> button[aria-label=\"${EXPAND_BTN_ARIA_LABEL_DEFAULT}\"]`);\n await expandBtn.click();\n\n await page.waitForChanges();\n\n expect(nav).toHaveClass('show-hidden-items');\n });\n\n it('should update aria-label attribute after the first render', async () => {\n // Given\n const page = await newE2EPage();\n await setWcsContent(page, `\n <wcs-breadcrumb>\n <wcs-breadcrumb-item>Home</wcs-breadcrumb-item>\n <wcs-breadcrumb-item>Train</wcs-breadcrumb-item>\n <wcs-breadcrumb-item>Tickets</wcs-breadcrumb-item>\n </wcs-breadcrumb>\n `);\n const wcsBreadcrumb = await page.find('wcs-breadcrumb');\n await page.waitForChanges();\n\n // When\n await wcsBreadcrumb.callMethod('setAriaAttribute', 'aria-label', 'new label');\n await page.waitForChanges();\n\n // Then\n const navEl = wcsBreadcrumb.shadowRoot.querySelector('nav');\n expect(navEl.getAttribute('aria-label')).toBe('new label');\n });\n\n it('should update expand button aria-label attribute', async () => {\n // Given\n const page = await newE2EPage();\n await setWcsContent(page, `\n <wcs-breadcrumb max-items=\"3\">\n <wcs-breadcrumb-item class=\"home-item\">Home</wcs-breadcrumb-item>\n <wcs-breadcrumb-item class=\"train-item\">Train</wcs-breadcrumb-item>\n <wcs-breadcrumb-item class=\"ticket-item\">Tickets</wcs-breadcrumb-item>\n <wcs-breadcrumb-item class=\"detail-item\">Details</wcs-breadcrumb-item>\n </wcs-breadcrumb>\n `);\n const wcsBreadcrumb = await page.find('wcs-breadcrumb');\n await page.waitForChanges();\n\n // When\n const newAriaLabelValue = 'New label';\n wcsBreadcrumb.setProperty('ariaLabelExpandButton', newAriaLabelValue);\n await page.waitForChanges();\n\n // Then\n const expandBtn =\n await page.find('wcs-breadcrumb >>> button.wcs-inner-button');\n expect(expandBtn.getAttribute('aria-label')).toBe(newAriaLabelValue);\n });\n});\n"]}
@@ -1,25 +0,0 @@
1
- import { newE2EPage } from "@stencil/core/testing";
2
- import { setWcsContent } from "../../utils/tests";
3
- describe('button', () => {
4
- // XXX: this test display an error in console but actually works
5
- // This is maybe due to the form submiting making the page reload ?
6
- it('should trigger submit when in a form', async () => {
7
- // Given
8
- const page = await newE2EPage();
9
- await setWcsContent(page, `
10
- <form>
11
- <wcs-button class="wcs-primary" type="wcs-submit"></wcs-button>
12
- </form>
13
- `);
14
- const form = await page.find('form');
15
- const formSubmit = await form.spyOnEvent('submit');
16
- // When
17
- // XXX temporary fix see : https://github.com/GoogleChrome/puppeteer/issues/2977
18
- await page.evaluate(() => {
19
- document.querySelector('wcs-button').click();
20
- });
21
- // Then
22
- expect(formSubmit).toHaveReceivedEvent();
23
- });
24
- });
25
- //# sourceMappingURL=button.e2e.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"button.e2e.js","sourceRoot":"","sources":["../../../src/components/button/button.e2e.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;IACpB,gEAAgE;IAChE,mEAAmE;IACnE,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QAClD,QAAQ;QACR,MAAM,IAAI,GAAG,MAAM,UAAU,EAAE,CAAC;QAChC,MAAM,aAAa,CAAC,IAAI,EAAE;;;;SAIzB,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACnD,OAAO;QACP,gFAAgF;QAChF,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE;YACrB,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,KAAK,EAAE,CAAC;QACjD,CAAC,CAAC,CAAC;QACH,OAAO;QACP,MAAM,CAAC,UAAU,CAAC,CAAC,mBAAmB,EAAE,CAAC;IAC7C,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC","sourcesContent":["import { newE2EPage } from \"@stencil/core/testing\";\nimport { setWcsContent } from \"../../utils/tests\";\n\ndescribe('button', () => {\n // XXX: this test display an error in console but actually works\n // This is maybe due to the form submiting making the page reload ?\n it('should trigger submit when in a form', async () => {\n // Given\n const page = await newE2EPage();\n await setWcsContent(page, `\n <form>\n <wcs-button class=\"wcs-primary\" type=\"wcs-submit\"></wcs-button>\n </form>\n `);\n const form = await page.find('form');\n const formSubmit = await form.spyOnEvent('submit');\n // When\n // XXX temporary fix see : https://github.com/GoogleChrome/puppeteer/issues/2977\n await page.evaluate(() => {\n document.querySelector('wcs-button').click();\n });\n // Then\n expect(formSubmit).toHaveReceivedEvent();\n });\n});\n\n"]}
@@ -1,45 +0,0 @@
1
- import { newE2EPage } from "@stencil/core/testing";
2
- import { setWcsContent } from "../../utils/tests";
3
- describe('Checkbox component', () => {
4
- describe('Events', () => {
5
- it('should emit a wcsChange event when clicked on wcs-checkbox', async () => {
6
- // Given
7
- const page = await newE2EPage();
8
- await setWcsContent(page, `
9
- <wcs-checkbox name="checkbox-id">
10
- Checkbox
11
- </wcs-checkbox>
12
- `);
13
- // When
14
- const checkbox = await page.find('wcs-checkbox');
15
- const eventSpy = await checkbox.spyOnEvent('wcsChange');
16
- await checkbox.click();
17
- await page.waitForChanges();
18
- // Then
19
- expect(eventSpy)
20
- .toHaveReceivedEventDetail({
21
- checked: true
22
- });
23
- });
24
- it('should emit a wcsChange event when space pressed on wcs-checkbox', async () => {
25
- // Given
26
- const page = await newE2EPage();
27
- await setWcsContent(page, `
28
- <wcs-checkbox name="checkbox-id">
29
- Checkbox
30
- </wcs-checkbox>
31
- `);
32
- // When
33
- const checkbox = await page.find('wcs-checkbox');
34
- const eventSpy = await checkbox.spyOnEvent('wcsChange');
35
- await checkbox.press('Space');
36
- await page.waitForChanges();
37
- // Then
38
- expect(eventSpy)
39
- .toHaveReceivedEventDetail({
40
- checked: true
41
- });
42
- });
43
- });
44
- });
45
- //# sourceMappingURL=checkbox.e2e.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"checkbox.e2e.js","sourceRoot":"","sources":["../../../src/components/checkbox/checkbox.e2e.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAChC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;QACpB,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;YACxE,QAAQ;YACR,MAAM,IAAI,GAAG,MAAM,UAAU,EAAE,CAAC;YAChC,MAAM,aAAa,CAAC,IAAI,EAAE;;;;iBAIrB,CAAC,CAAC;YAEP,OAAO;YACP,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACjD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YAExD,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YAE5B,OAAO;YACP,MAAM,CAAC,QAAQ,CAAC;iBACX,yBAAyB,CAAC;gBACvB,OAAO,EAAE,IAAI;aAChB,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;YAC9E,QAAQ;YACR,MAAM,IAAI,GAAG,MAAM,UAAU,EAAE,CAAC;YAChC,MAAM,aAAa,CAAC,IAAI,EAAE;;;;iBAIrB,CAAC,CAAC;YAEP,OAAO;YACP,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACjD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YAExD,MAAM,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC9B,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YAE5B,OAAO;YACP,MAAM,CAAC,QAAQ,CAAC;iBACX,yBAAyB,CAAC;gBACvB,OAAO,EAAE,IAAI;aAChB,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC","sourcesContent":["import { newE2EPage } from \"@stencil/core/testing\";\nimport { setWcsContent } from \"../../utils/tests\";\n\ndescribe('Checkbox component', () => {\n describe('Events', () => {\n it('should emit a wcsChange event when clicked on wcs-checkbox', async () => {\n // Given\n const page = await newE2EPage();\n await setWcsContent(page, `\n <wcs-checkbox name=\"checkbox-id\">\n Checkbox\n </wcs-checkbox>\n `);\n\n // When\n const checkbox = await page.find('wcs-checkbox');\n const eventSpy = await checkbox.spyOnEvent('wcsChange');\n\n await checkbox.click();\n await page.waitForChanges();\n\n // Then\n expect(eventSpy)\n .toHaveReceivedEventDetail({\n checked: true\n });\n });\n\n it('should emit a wcsChange event when space pressed on wcs-checkbox', async () => {\n // Given\n const page = await newE2EPage();\n await setWcsContent(page, `\n <wcs-checkbox name=\"checkbox-id\">\n Checkbox\n </wcs-checkbox>\n `);\n\n // When\n const checkbox = await page.find('wcs-checkbox');\n const eventSpy = await checkbox.spyOnEvent('wcsChange');\n\n await checkbox.press('Space');\n await page.waitForChanges();\n\n // Then\n expect(eventSpy)\n .toHaveReceivedEventDetail({\n checked: true\n });\n });\n });\n});\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"com-nav.e2e.js","sourceRoot":"","sources":["../../../src/components/com-nav/com-nav.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { E2EPage, newE2EPage } from \"@stencil/core/testing\";\nimport {KeyInput} from \"puppeteer\";\nimport { setWcsContent } from \"../../utils/tests\";\n\ndescribe('Com nav', () => {\n describe('Keyboard navigation', () => {\n describe('Mobile menu', () => {\n let page!: E2EPage;\n beforeEach(async () => {\n // Given\n page = await newE2EPage();\n await page.setViewport({\n width: 320,\n height: 480,\n });\n\n await setWcsContent(page, `\n <wcs-com-nav app-name=\"App Test\">\n <wcs-com-nav-submenu label=\"Sous menu\" panel-title=\"Sous Menu\"\n panel-description=\"Nullam id dolor id nibh ultricies vehicula ut id elit. Cras mattis consectetur purus sit amet fermentum. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.\">\n <wcs-com-nav-item>\n <a href=\"#\">Loisirs & Tourisme</a>\n </wcs-com-nav-item>\n <wcs-com-nav-item>\n <a href=\"#\">Toutes les lignes</a>\n </wcs-com-nav-item>\n <wcs-com-nav-item>\n <a href=\"#\">Services mobiles</a>\n </wcs-com-nav-item>\n <wcs-com-nav-item>\n <a href=\"#\">Au quotidien</a>\n </wcs-com-nav-item>\n <wcs-com-nav-item>\n <a href=\"#\">Le réseau</a>\n </wcs-com-nav-item>\n </wcs-com-nav-submenu>\n <wcs-com-nav-submenu label=\"Autre sous menu\" panel-title=\"Autre Sous Menu\"\n panel-description=\"Un autre sous menu avec des catégories. Cras mattis consectetur purus sit amet fermentum. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.\">\n <wcs-com-nav-item>\n <a href=\"#\">Le réseau</a>\n </wcs-com-nav-item>\n <wcs-com-nav-category label=\"Une catégorie\">\n <wcs-com-nav-item>\n <a href=\"#\">Services mobiles text plus long</a>\n </wcs-com-nav-item>\n <wcs-com-nav-item>\n <a href=\"#\">Au quotidien</a>\n </wcs-com-nav-item>\n <wcs-com-nav-item>\n <a href=\"#\">Le réseau</a>\n </wcs-com-nav-item>\n </wcs-com-nav-category>\n <wcs-com-nav-category label=\"Une catégorie\">\n <wcs-com-nav-item>\n <a href=\"#\">1</a>\n </wcs-com-nav-item>\n <wcs-com-nav-item>\n <a href=\"#\">2</a>\n </wcs-com-nav-item>\n </wcs-com-nav-category>\n </wcs-com-nav-submenu>\n <wcs-com-nav-item id=\"com-nav-item-last-item\">\n <a href=\"https://sncf.com\" target=\"_blank\">Ressource externe</a>\n </wcs-com-nav-item>\n <div slot=\"actions\">\n <wcs-button mode=\"clear\" class=\"wcs-dark\">Connexion</wcs-button>\n </div>\n </wcs-com-nav>\n `);\n })\n\n it.each(['Enter', 'Space'])('should open menu when press %s key on mobile menu icon', async (key: KeyInput) => {\n // Given the content is set in beforeEach method\n\n // When\n const menuIcon = await page.find('wcs-com-nav >>> #mobile-menu-icon');\n await menuIcon.focus();\n await page.keyboard.press(key);\n\n await page.waitForChanges();\n\n // Then\n const menu = await page.find('wcs-com-nav >>> .mobile-overlay');\n expect(menu).toBeDefined();\n expect(menu).toHaveAttribute('data-mobile-open');\n });\n\n it.each(['Enter', 'Space'])('should close menu when it opens and press %s key on mobile menu icon', async (key: KeyInput) => {\n // Given\n // the content is set in beforeEach method\n const menuIcon = await page.find('wcs-com-nav >>> #mobile-menu-icon');\n await menuIcon.focus();\n await page.keyboard.press(key);\n\n // Wait for menu to open\n await page.waitForChanges();\n\n // Close the menu\n await page.keyboard.press(key);\n await page.waitForChanges();\n\n // Then\n const menu = await page.find('wcs-com-nav >>> .mobile-overlay');\n expect(menu).not.toHaveAttribute('data-mobile-open');\n });\n\n it('should be touchable on mobile and open the menu', async () => {\n // Given\n // the content is set in beforeEach method\n const menuIcon = await page.find('wcs-com-nav >>> #mobile-menu-icon');\n await menuIcon.tap();\n\n // Then\n const menu = await page.find('wcs-com-nav >>> .mobile-overlay');\n expect(menu).toBeDefined();\n expect(menu).toHaveAttribute('data-mobile-open');\n });\n\n it('should close menu when it opens and press escape key anywhere', async () => {\n // Given\n // the content is set in beforeEach method\n const menuIcon = await page.find('wcs-com-nav >>> #mobile-menu-icon');\n await menuIcon.focus();\n await page.keyboard.press('Enter');\n\n // When\n // Navigate on menu\n await page.keyboard.press('Tab');\n await page.keyboard.press('Tab');\n await page.keyboard.press('Tab');\n await page.keyboard.press('Escape');\n\n await page.waitForChanges();\n\n // Then\n const menu = await page.find('wcs-com-nav >>> .mobile-overlay');\n expect(menu).not.toHaveAttribute('data-mobile-open');\n });\n\n it('should close the mobile menu when clicking on a wcs-com-nav-item', async () => {\n // Given\n const menuIcon = await page.find('wcs-com-nav >>> #mobile-menu-icon');\n await menuIcon.tap();\n\n // Wait for menu to open\n await page.waitForChanges();\n\n // When\n const navItem = await page.find('#com-nav-item-last-item');\n await navItem.click();\n\n await page.waitForChanges();\n\n // Then\n const menu = await page.find('wcs-com-nav >>> .mobile-overlay');\n expect(menu).not.toHaveAttribute('data-mobile-open');\n });\n });\n });\n});\n"]}