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.
- package/README.md +11 -9
- package/design-tokens/dist/sncf-groupe-root-scoped.css +227 -227
- package/design-tokens/dist/sncf-groupe.css +227 -227
- package/design-tokens/dist/sncf-holding-root-scoped.css +227 -227
- package/design-tokens/dist/sncf-holding.css +227 -227
- package/design-tokens/dist/sncf-reseau-root-scoped.css +227 -227
- package/design-tokens/dist/sncf-reseau.css +227 -227
- package/design-tokens/dist/sncf-voyageurs-root-scoped.css +242 -242
- package/design-tokens/dist/sncf-voyageurs.css +242 -242
- package/dist/cjs/accessibility-5f681a74.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{popper-8d6e7fca.js → popper-1b61df21.js} +10 -17
- package/dist/cjs/popper-1b61df21.js.map +1 -0
- package/dist/cjs/wcs-accordion-panel.cjs.entry.js +1 -1
- package/dist/cjs/wcs-accordion-panel.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-accordion.cjs.entry.js +2 -1
- package/dist/cjs/wcs-accordion.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-breadcrumb.cjs.entry.js +1 -1
- package/dist/cjs/wcs-breadcrumb.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-checkbox.cjs.entry.js +3 -2
- package/dist/cjs/wcs-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-chip.cjs.entry.js +102 -0
- package/dist/cjs/wcs-chip.cjs.entry.js.map +1 -0
- package/dist/cjs/wcs-com-nav-item.cjs.entry.js +1 -1
- package/dist/cjs/wcs-com-nav-item.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-com-nav.cjs.entry.js +3 -3
- package/dist/cjs/wcs-com-nav.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-dropdown.cjs.entry.js +1 -1
- package/dist/cjs/wcs-error_3.cjs.entry.js +1 -1
- package/dist/cjs/wcs-error_3.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-galactic-menu.cjs.entry.js +1 -1
- package/dist/cjs/wcs-grid.cjs.entry.js +5 -4
- package/dist/cjs/wcs-grid.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-horizontal-stepper.cjs.entry.js +3 -2
- package/dist/cjs/wcs-horizontal-stepper.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-modal.cjs.entry.js +2 -2
- package/dist/cjs/wcs-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-select_2.cjs.entry.js +59 -24
- package/dist/cjs/wcs-select_2.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-tabs.cjs.entry.js +1 -1
- package/dist/cjs/wcs-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/wcs.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/accordion/accordion.e2e.playwright.js +183 -0
- package/dist/collection/components/accordion/accordion.e2e.playwright.js.map +1 -0
- package/dist/collection/components/accordion/accordion.js +2 -1
- package/dist/collection/components/accordion/accordion.js.map +1 -1
- package/dist/collection/components/accordion-panel/accordion-panel.js +3 -3
- package/dist/collection/components/accordion-panel/accordion-panel.js.map +1 -1
- package/dist/collection/components/alert/alert.e2e.playwright.js +125 -0
- package/dist/collection/components/alert/alert.e2e.playwright.js.map +1 -0
- package/dist/collection/components/alert-drawer/alert-drawer.e2e.playwright.js +107 -0
- package/dist/collection/components/alert-drawer/alert-drawer.e2e.playwright.js.map +1 -0
- package/dist/collection/components/breadcrumb/breadcrumb.e2e.playwright.js +188 -0
- package/dist/collection/components/breadcrumb/breadcrumb.e2e.playwright.js.map +1 -0
- package/dist/collection/components/breadcrumb/breadcrumb.js +2 -2
- package/dist/collection/components/breadcrumb/breadcrumb.js.map +1 -1
- package/dist/collection/components/button/button.e2e.playwright.js +26 -0
- package/dist/collection/components/button/button.e2e.playwright.js.map +1 -0
- package/dist/collection/components/button/button.js +1 -1
- package/dist/collection/components/checkbox/checkbox.css +3 -0
- package/dist/collection/components/checkbox/checkbox.e2e.playwright.js +39 -0
- package/dist/collection/components/checkbox/checkbox.e2e.playwright.js.map +1 -0
- package/dist/collection/components/checkbox/checkbox.js +21 -2
- package/dist/collection/components/checkbox/checkbox.js.map +1 -1
- package/dist/collection/components/chip/chip-interface.js +2 -0
- package/dist/collection/components/chip/chip-interface.js.map +1 -0
- package/dist/collection/components/chip/chip.css +220 -0
- package/dist/collection/components/chip/chip.e2e.playwright.js +190 -0
- package/dist/collection/components/chip/chip.e2e.playwright.js.map +1 -0
- package/dist/collection/components/chip/chip.js +341 -0
- package/dist/collection/components/chip/chip.js.map +1 -0
- package/dist/collection/components/com-nav/com-nav.css +15 -0
- package/dist/collection/components/com-nav/{com-nav.e2e.js → com-nav.e2e.playwright.js} +60 -44
- package/dist/collection/components/com-nav/com-nav.e2e.playwright.js.map +1 -0
- package/dist/collection/components/com-nav/com-nav.js +3 -3
- package/dist/collection/components/com-nav/com-nav.js.map +1 -1
- package/dist/collection/components/com-nav-category/com-nav-category.js +1 -1
- package/dist/collection/components/com-nav-item/com-nav-item.css +2 -2
- package/dist/collection/components/com-nav-submenu/com-nav-submenu.js +1 -1
- package/dist/collection/components/counter/counter.e2e.playwright.js +187 -0
- package/dist/collection/components/counter/counter.e2e.playwright.js.map +1 -0
- package/dist/collection/components/counter/counter.js +1 -1
- package/dist/collection/components/dropdown/dropdown.e2e.playwright.js +320 -0
- package/dist/collection/components/dropdown/dropdown.e2e.playwright.js.map +1 -0
- package/dist/collection/components/dropdown/dropdown.js +1 -1
- package/dist/collection/components/editable-field/editable-field.e2e.playwright.js +156 -0
- package/dist/collection/components/editable-field/editable-field.e2e.playwright.js.map +1 -0
- package/dist/collection/components/form-field/form-field.e2e.playwright.js +104 -0
- package/dist/collection/components/form-field/form-field.e2e.playwright.js.map +1 -0
- package/dist/collection/components/galactic-menu/galactic-menu.js +1 -1
- package/dist/collection/components/grid/grid.e2e.playwright.js +153 -0
- package/dist/collection/components/grid/grid.e2e.playwright.js.map +1 -0
- package/dist/collection/components/grid/grid.js +6 -5
- package/dist/collection/components/grid/grid.js.map +1 -1
- package/dist/collection/components/grid-column/grid-column.js +1 -1
- package/dist/collection/components/grid-pagination/grid-pagination.js +1 -1
- package/dist/collection/components/header/header.js +1 -1
- package/dist/collection/components/horizontal-stepper/horizontal-step.js +2 -1
- package/dist/collection/components/horizontal-stepper/horizontal-step.js.map +1 -1
- package/dist/collection/components/horizontal-stepper/horizontal-stepper-interface.js.map +1 -1
- package/dist/collection/components/horizontal-stepper/horizontal-stepper.js +5 -1
- package/dist/collection/components/horizontal-stepper/horizontal-stepper.js.map +1 -1
- package/dist/collection/components/icon/icon.js +1 -1
- package/dist/collection/components/input/input.e2e.playwright.js +157 -0
- package/dist/collection/components/input/input.e2e.playwright.js.map +1 -0
- package/dist/collection/components/input/input.js +2 -2
- package/dist/collection/components/label/label.css +4 -6
- package/dist/collection/components/label/label.js +1 -1
- package/dist/collection/components/mat-icon/mat-icon.js +1 -1
- package/dist/collection/components/modal/modal.css +4 -0
- package/dist/collection/components/modal/modal.e2e.playwright.js +35 -0
- package/dist/collection/components/modal/modal.e2e.playwright.js.map +1 -0
- package/dist/collection/components/modal/modal.js +2 -2
- package/dist/collection/components/modal/modal.js.map +1 -1
- package/dist/collection/components/native-select/native-select.js +1 -1
- package/dist/collection/components/nav/nav.js +1 -1
- package/dist/collection/components/progress-bar/progress-bar.js +1 -1
- package/dist/collection/components/progress-radial/progress-radial.js +1 -1
- package/dist/collection/components/radio/radio.js +1 -1
- package/dist/collection/components/radio-group/radio-group.e2e.playwright.js +231 -0
- package/dist/collection/components/radio-group/radio-group.e2e.playwright.js.map +1 -0
- package/dist/collection/components/radio-group/radio-group.js +1 -1
- package/dist/collection/components/select/select.e2e.playwright.js +1702 -0
- package/dist/collection/components/select/select.e2e.playwright.js.map +1 -0
- package/dist/collection/components/select/select.js +49 -20
- package/dist/collection/components/select/select.js.map +1 -1
- package/dist/collection/components/select-option/select-option.js +3 -3
- package/dist/collection/components/select-option/select-option.js.map +1 -1
- package/dist/collection/components/switch/switch.e2e.playwright.js +40 -0
- package/dist/collection/components/switch/switch.e2e.playwright.js.map +1 -0
- package/dist/collection/components/switch/switch.js +1 -1
- package/dist/collection/components/tabs/tabs.e2e.playwright.js +205 -0
- package/dist/collection/components/tabs/tabs.e2e.playwright.js.map +1 -0
- package/dist/collection/components/tabs/tabs.js +1 -1
- package/dist/collection/components/textarea/textarea.e2e.playwright.js +133 -0
- package/dist/collection/components/textarea/textarea.e2e.playwright.js.map +1 -0
- package/dist/collection/components/textarea/textarea.js +1 -1
- package/dist/collection/utils/accessibility.js +16 -0
- package/dist/collection/utils/accessibility.js.map +1 -1
- package/dist/collection/utils/playwright/test-expect.js +2 -0
- package/dist/collection/utils/playwright/test-expect.js.map +1 -0
- package/dist/collection/utils/playwright/test.js +16 -0
- package/dist/collection/utils/playwright/test.js.map +1 -0
- package/dist/esm/accessibility-069640cf.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{popper-e491c314.js → popper-ac238961.js} +10 -17
- package/dist/esm/popper-ac238961.js.map +1 -0
- package/dist/esm/wcs-accordion-panel.entry.js +1 -1
- package/dist/esm/wcs-accordion-panel.entry.js.map +1 -1
- package/dist/esm/wcs-accordion.entry.js +2 -1
- package/dist/esm/wcs-accordion.entry.js.map +1 -1
- package/dist/esm/wcs-breadcrumb.entry.js +1 -1
- package/dist/esm/wcs-breadcrumb.entry.js.map +1 -1
- package/dist/esm/wcs-checkbox.entry.js +3 -2
- package/dist/esm/wcs-checkbox.entry.js.map +1 -1
- package/dist/esm/wcs-chip.entry.js +98 -0
- package/dist/esm/wcs-chip.entry.js.map +1 -0
- package/dist/esm/wcs-com-nav-item.entry.js +1 -1
- package/dist/esm/wcs-com-nav-item.entry.js.map +1 -1
- package/dist/esm/wcs-com-nav.entry.js +3 -3
- package/dist/esm/wcs-com-nav.entry.js.map +1 -1
- package/dist/esm/wcs-dropdown.entry.js +1 -1
- package/dist/esm/wcs-error_3.entry.js +1 -1
- package/dist/esm/wcs-error_3.entry.js.map +1 -1
- package/dist/esm/wcs-galactic-menu.entry.js +1 -1
- package/dist/esm/wcs-grid.entry.js +5 -4
- package/dist/esm/wcs-grid.entry.js.map +1 -1
- package/dist/esm/wcs-horizontal-stepper.entry.js +3 -2
- package/dist/esm/wcs-horizontal-stepper.entry.js.map +1 -1
- package/dist/esm/wcs-modal.entry.js +2 -2
- package/dist/esm/wcs-modal.entry.js.map +1 -1
- package/dist/esm/wcs-select_2.entry.js +59 -24
- package/dist/esm/wcs-select_2.entry.js.map +1 -1
- package/dist/esm/wcs-tabs.entry.js +1 -1
- package/dist/esm/wcs-tooltip.entry.js +1 -1
- package/dist/esm/wcs.js +1 -1
- package/dist/types/components/accordion/accordion.e2e.playwright.d.ts +1 -0
- package/dist/types/components/accordion-panel/accordion-panel.d.ts +5 -0
- package/dist/types/components/alert/alert.e2e.playwright.d.ts +1 -0
- package/dist/types/components/alert-drawer/alert-drawer.e2e.playwright.d.ts +1 -0
- package/dist/types/components/breadcrumb/breadcrumb.e2e.playwright.d.ts +1 -0
- package/dist/types/components/button/button.e2e.playwright.d.ts +1 -0
- package/dist/types/components/checkbox/checkbox.d.ts +4 -0
- package/dist/types/components/checkbox/checkbox.e2e.playwright.d.ts +1 -0
- package/dist/types/components/chip/chip-interface.d.ts +4 -0
- package/dist/types/components/chip/chip.d.ts +132 -0
- package/dist/types/components/chip/chip.e2e.playwright.d.ts +1 -0
- package/dist/types/components/com-nav/com-nav.e2e.playwright.d.ts +1 -0
- package/dist/types/components/counter/counter.e2e.playwright.d.ts +1 -0
- package/dist/types/components/dropdown/dropdown.e2e.playwright.d.ts +1 -0
- package/dist/types/components/editable-field/editable-field.e2e.playwright.d.ts +1 -0
- package/dist/types/components/form-field/form-field.e2e.playwright.d.ts +1 -0
- package/dist/types/components/grid/grid.e2e.playwright.d.ts +1 -0
- package/dist/types/components/horizontal-stepper/horizontal-stepper-interface.d.ts +2 -0
- package/dist/types/components/horizontal-stepper/horizontal-stepper.d.ts +4 -0
- package/dist/types/components/input/input.e2e.playwright.d.ts +1 -0
- package/dist/types/components/modal/modal.e2e.playwright.d.ts +1 -0
- package/dist/types/components/radio-group/radio-group.e2e.playwright.d.ts +1 -0
- package/dist/types/components/select/select.d.ts +7 -1
- package/dist/types/components/select/select.e2e.playwright.d.ts +1 -0
- package/dist/types/components/switch/switch.e2e.playwright.d.ts +1 -0
- package/dist/types/components/tabs/tabs.e2e.playwright.d.ts +1 -0
- package/dist/types/components/textarea/textarea.e2e.playwright.d.ts +1 -0
- package/dist/types/components.d.ts +354 -0
- package/dist/types/utils/accessibility.d.ts +7 -0
- package/dist/types/utils/playwright/test-expect.d.ts +33 -0
- package/dist/types/utils/playwright/test.d.ts +7 -0
- package/dist/wcs/{p-8e9bd0f1.entry.js → p-0326f834.entry.js} +2 -2
- package/dist/wcs/{p-8e9bd0f1.entry.js.map → p-0326f834.entry.js.map} +1 -1
- package/dist/wcs/p-2221bf0c.entry.js +16 -0
- package/dist/wcs/p-2221bf0c.entry.js.map +1 -0
- package/dist/wcs/p-4ae08567.entry.js +2 -0
- package/dist/wcs/p-4ae08567.entry.js.map +1 -0
- package/dist/wcs/p-4e2d6227.entry.js +2 -0
- package/dist/wcs/p-4e2d6227.entry.js.map +1 -0
- package/dist/wcs/p-828b45b4.entry.js +2 -0
- package/dist/wcs/p-828b45b4.entry.js.map +1 -0
- package/dist/wcs/p-8332a7e3.entry.js +2 -0
- package/dist/wcs/p-8332a7e3.entry.js.map +1 -0
- package/dist/wcs/p-990698a7.entry.js +2 -0
- package/dist/wcs/p-990698a7.entry.js.map +1 -0
- package/dist/wcs/{p-ec383729.entry.js → p-9b76b8e6.entry.js} +2 -2
- package/dist/wcs/{p-ec383729.entry.js.map → p-9b76b8e6.entry.js.map} +1 -1
- package/dist/wcs/{p-1f593d06.entry.js → p-abd8d5a0.entry.js} +2 -2
- package/dist/wcs/{p-622f7403.entry.js → p-c6f8c45c.entry.js} +2 -2
- package/dist/wcs/{p-a94e685c.entry.js → p-db7ba599.entry.js} +2 -2
- package/dist/wcs/p-e1fb3625.js +2 -0
- package/dist/wcs/p-e1fb3625.js.map +1 -0
- package/dist/wcs/p-ed3b0709.entry.js +2 -0
- package/dist/wcs/p-ed3b0709.entry.js.map +1 -0
- package/dist/wcs/{p-6c6079ee.entry.js → p-f2eeb249.entry.js} +2 -2
- package/dist/wcs/{p-6c6079ee.entry.js.map → p-f2eeb249.entry.js.map} +1 -1
- package/dist/wcs/{p-a956dc84.entry.js → p-f2f7595e.entry.js} +2 -2
- package/dist/wcs/{p-a956dc84.entry.js.map → p-f2f7595e.entry.js.map} +1 -1
- package/dist/wcs/p-fb2751c2.js.map +1 -1
- package/dist/wcs/p-fbd68522.entry.js +2 -0
- package/dist/wcs/p-fbd68522.entry.js.map +1 -0
- package/dist/wcs/{p-8c2605fd.entry.js → p-fe303f58.entry.js} +2 -2
- package/dist/wcs/wcs.esm.js +1 -1
- package/dist/wcs/wcs.esm.js.map +1 -1
- package/package.json +18 -24
- package/dist/cjs/popper-8d6e7fca.js.map +0 -1
- package/dist/collection/components/alert/alert.e2e.js +0 -142
- package/dist/collection/components/alert/alert.e2e.js.map +0 -1
- package/dist/collection/components/alert-drawer/alert-drawer.e2e.js +0 -111
- package/dist/collection/components/alert-drawer/alert-drawer.e2e.js.map +0 -1
- package/dist/collection/components/breadcrumb/breadcrumb.e2e.js +0 -223
- package/dist/collection/components/breadcrumb/breadcrumb.e2e.js.map +0 -1
- package/dist/collection/components/button/button.e2e.js +0 -25
- package/dist/collection/components/button/button.e2e.js.map +0 -1
- package/dist/collection/components/checkbox/checkbox.e2e.js +0 -45
- package/dist/collection/components/checkbox/checkbox.e2e.js.map +0 -1
- package/dist/collection/components/com-nav/com-nav.e2e.js.map +0 -1
- package/dist/collection/components/counter/counter.e2e.js +0 -206
- package/dist/collection/components/counter/counter.e2e.js.map +0 -1
- package/dist/collection/components/dropdown/dropdown.e2e.js +0 -156
- package/dist/collection/components/dropdown/dropdown.e2e.js.map +0 -1
- package/dist/collection/components/editable-field/editable-field.e2e.js +0 -176
- package/dist/collection/components/editable-field/editable-field.e2e.js.map +0 -1
- package/dist/collection/components/form-field/form-field.e2e.js +0 -122
- package/dist/collection/components/form-field/form-field.e2e.js.map +0 -1
- package/dist/collection/components/grid/grid.e2e.js +0 -147
- package/dist/collection/components/grid/grid.e2e.js.map +0 -1
- package/dist/collection/components/input/input.e2e.js +0 -152
- package/dist/collection/components/input/input.e2e.js.map +0 -1
- package/dist/collection/components/modal/modal.e2e.js +0 -36
- package/dist/collection/components/modal/modal.e2e.js.map +0 -1
- package/dist/collection/components/radio-group/radio-group.e2e.js +0 -239
- package/dist/collection/components/radio-group/radio-group.e2e.js.map +0 -1
- package/dist/collection/components/select/select.e2e.js +0 -1081
- package/dist/collection/components/select/select.e2e.js.map +0 -1
- package/dist/collection/components/switch/switch.e2e.js +0 -45
- package/dist/collection/components/switch/switch.e2e.js.map +0 -1
- package/dist/collection/components/tabs/tabs.e2e.js +0 -207
- package/dist/collection/components/tabs/tabs.e2e.js.map +0 -1
- package/dist/collection/components/textarea/textarea.e2e.js +0 -132
- package/dist/collection/components/textarea/textarea.e2e.js.map +0 -1
- package/dist/collection/utils/tests.js +0 -23
- package/dist/collection/utils/tests.js.map +0 -1
- package/dist/esm/popper-e491c314.js.map +0 -1
- package/dist/types/utils/tests.d.ts +0 -4
- package/dist/wcs/p-02f31010.entry.js +0 -2
- package/dist/wcs/p-02f31010.entry.js.map +0 -1
- package/dist/wcs/p-0dd07842.entry.js +0 -2
- package/dist/wcs/p-0dd07842.entry.js.map +0 -1
- package/dist/wcs/p-0f864e86.js +0 -2
- package/dist/wcs/p-0f864e86.js.map +0 -1
- package/dist/wcs/p-1244daa0.entry.js +0 -2
- package/dist/wcs/p-1244daa0.entry.js.map +0 -1
- package/dist/wcs/p-1fbe0328.entry.js +0 -2
- package/dist/wcs/p-1fbe0328.entry.js.map +0 -1
- package/dist/wcs/p-4fb2d985.entry.js +0 -2
- package/dist/wcs/p-4fb2d985.entry.js.map +0 -1
- package/dist/wcs/p-b94a09b6.entry.js +0 -16
- package/dist/wcs/p-b94a09b6.entry.js.map +0 -1
- package/dist/wcs/p-fd187bce.entry.js +0 -2
- package/dist/wcs/p-fd187bce.entry.js.map +0 -1
- /package/dist/wcs/{p-1f593d06.entry.js.map → p-abd8d5a0.entry.js.map} +0 -0
- /package/dist/wcs/{p-622f7403.entry.js.map → p-c6f8c45c.entry.js.map} +0 -0
- /package/dist/wcs/{p-a94e685c.entry.js.map → p-db7ba599.entry.js.map} +0 -0
- /package/dist/wcs/{p-8c2605fd.entry.js.map → p-fe303f58.entry.js.map} +0 -0
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
import { newE2EPage } from "@stencil/core/testing";
|
|
2
|
-
import { setWcsContent } from "../../utils/tests";
|
|
3
|
-
describe('Form field component', () => {
|
|
4
|
-
describe('Global', () => {
|
|
5
|
-
describe('Accessibility', () => {
|
|
6
|
-
it('Should put form-field label to aria-label of the spied element when non empty', async () => {
|
|
7
|
-
// Given
|
|
8
|
-
const page = await newE2EPage();
|
|
9
|
-
await setWcsContent(page, `
|
|
10
|
-
<wcs-form-field>
|
|
11
|
-
<wcs-label>Label form field</wcs-label>
|
|
12
|
-
<wcs-input/>
|
|
13
|
-
</wcs-form-field>
|
|
14
|
-
`);
|
|
15
|
-
// When
|
|
16
|
-
const input = await page.find('wcs-input >>> input');
|
|
17
|
-
await page.waitForChanges();
|
|
18
|
-
// Then
|
|
19
|
-
const ariaLabel = input.getAttribute('aria-label');
|
|
20
|
-
expect(ariaLabel).toBe('Label form field');
|
|
21
|
-
});
|
|
22
|
-
it('Should not put form-field label to aria-label of the spied element when empty', async () => {
|
|
23
|
-
// Given
|
|
24
|
-
const page = await newE2EPage();
|
|
25
|
-
await setWcsContent(page, `
|
|
26
|
-
<wcs-form-field>
|
|
27
|
-
<wcs-label></wcs-label>
|
|
28
|
-
<wcs-input/>
|
|
29
|
-
</wcs-form-field>
|
|
30
|
-
`);
|
|
31
|
-
// When
|
|
32
|
-
const input = await page.find('wcs-input >>> input');
|
|
33
|
-
await page.waitForChanges();
|
|
34
|
-
// Then
|
|
35
|
-
const ariaLabel = input.getAttribute('aria-label');
|
|
36
|
-
expect(ariaLabel).toBe(null);
|
|
37
|
-
});
|
|
38
|
-
it('Should not concatenate form-field label with form control (switch, checkbox label when form-field label is empty', async () => {
|
|
39
|
-
// Given
|
|
40
|
-
const page = await newE2EPage();
|
|
41
|
-
await setWcsContent(page, `
|
|
42
|
-
<wcs-form-field>
|
|
43
|
-
<wcs-label></wcs-label>
|
|
44
|
-
<wcs-switch>Label switch</wcs-switch>
|
|
45
|
-
</wcs-form-field>
|
|
46
|
-
`);
|
|
47
|
-
// When
|
|
48
|
-
const switchInput = await page.find('wcs-switch >>> input');
|
|
49
|
-
await page.waitForChanges();
|
|
50
|
-
// Then
|
|
51
|
-
const ariaLabel = switchInput.getAttribute('aria-label');
|
|
52
|
-
expect(ariaLabel).toBe('Label switch');
|
|
53
|
-
});
|
|
54
|
-
});
|
|
55
|
-
});
|
|
56
|
-
describe('With switch', () => {
|
|
57
|
-
describe('Accessibility', () => {
|
|
58
|
-
it('Should concatenate form-field label with switch label', async () => {
|
|
59
|
-
// Given
|
|
60
|
-
const page = await newE2EPage();
|
|
61
|
-
await setWcsContent(page, `
|
|
62
|
-
<wcs-form-field>
|
|
63
|
-
<wcs-label>Label form field</wcs-label>
|
|
64
|
-
<wcs-switch>Label switch</wcs-switch>
|
|
65
|
-
</wcs-form-field>
|
|
66
|
-
`);
|
|
67
|
-
// When
|
|
68
|
-
const switchInput = await page.find('wcs-switch >>> input');
|
|
69
|
-
await page.waitForChanges();
|
|
70
|
-
// Then
|
|
71
|
-
const ariaLabel = switchInput.getAttribute('aria-label');
|
|
72
|
-
expect(ariaLabel).toBe('Label form field Label switch');
|
|
73
|
-
});
|
|
74
|
-
});
|
|
75
|
-
});
|
|
76
|
-
describe('With checkbox', () => {
|
|
77
|
-
describe('Accessibility', () => {
|
|
78
|
-
it('Should concatenate form-field label with checkbox label', async () => {
|
|
79
|
-
// Given
|
|
80
|
-
const page = await newE2EPage();
|
|
81
|
-
await setWcsContent(page, `
|
|
82
|
-
<wcs-form-field>
|
|
83
|
-
<wcs-label>Label form field</wcs-label>
|
|
84
|
-
<wcs-checkbox>Label checkbox</wcs-checkbox>
|
|
85
|
-
</wcs-form-field>
|
|
86
|
-
`);
|
|
87
|
-
// When
|
|
88
|
-
const checkboxInput = await page.find('wcs-checkbox >>> input');
|
|
89
|
-
await page.waitForChanges();
|
|
90
|
-
// Then
|
|
91
|
-
const ariaLabel = checkboxInput.getAttribute('aria-label');
|
|
92
|
-
expect(ariaLabel).toBe('Label form field Label checkbox');
|
|
93
|
-
});
|
|
94
|
-
});
|
|
95
|
-
});
|
|
96
|
-
describe('With radio-group', () => {
|
|
97
|
-
describe('Accessibility', () => {
|
|
98
|
-
it('Should set aria-label on radio-group element', async () => {
|
|
99
|
-
// Given
|
|
100
|
-
const page = await newE2EPage();
|
|
101
|
-
await setWcsContent(page, `
|
|
102
|
-
<wcs-form-field>
|
|
103
|
-
<wcs-label>Label form field</wcs-label>
|
|
104
|
-
<wcs-radio-group>
|
|
105
|
-
<wcs-radio name="SA" label="SNCF" value="1"></wcs-radio>
|
|
106
|
-
<wcs-radio name="SA" label="SNCF Réseau" value="2"></wcs-radio>
|
|
107
|
-
<wcs-radio name="SA" label="SNCF Voyageurs" value="3"></wcs-radio>
|
|
108
|
-
</wcs-radio>
|
|
109
|
-
</wcs-radio-group>
|
|
110
|
-
</wcs-form-field>
|
|
111
|
-
`);
|
|
112
|
-
// When
|
|
113
|
-
const radioGroup = await page.find('wcs-radio-group');
|
|
114
|
-
await page.waitForChanges();
|
|
115
|
-
// Then
|
|
116
|
-
const ariaLabel = radioGroup.getAttribute('aria-label');
|
|
117
|
-
expect(ariaLabel).toBe('Label form field');
|
|
118
|
-
});
|
|
119
|
-
});
|
|
120
|
-
});
|
|
121
|
-
});
|
|
122
|
-
//# sourceMappingURL=form-field.e2e.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"form-field.e2e.js","sourceRoot":"","sources":["../../../src/components/form-field/form-field.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { newE2EPage } from '@stencil/core/testing';\nimport { setWcsContent } from \"../../utils/tests\";\n\ndescribe('Form field component', () => {\n describe('Global', () => {\n describe('Accessibility', () => {\n it('Should put form-field label to aria-label of the spied element when non empty', async () => {\n // Given\n const page = await newE2EPage();\n await setWcsContent(page, `\n <wcs-form-field>\n <wcs-label>Label form field</wcs-label>\n <wcs-input/>\n </wcs-form-field>\n `);\n\n // When\n const input = await page.find('wcs-input >>> input');\n await page.waitForChanges();\n\n // Then\n const ariaLabel = input.getAttribute('aria-label');\n expect(ariaLabel).toBe('Label form field');\n });\n it('Should not put form-field label to aria-label of the spied element when empty', async () => {\n // Given\n const page = await newE2EPage();\n await setWcsContent(page, `\n <wcs-form-field>\n <wcs-label></wcs-label>\n <wcs-input/>\n </wcs-form-field>\n `);\n\n // When\n const input = await page.find('wcs-input >>> input');\n await page.waitForChanges();\n\n // Then\n const ariaLabel = input.getAttribute('aria-label');\n expect(ariaLabel).toBe(null);\n });\n it('Should not concatenate form-field label with form control (switch, checkbox label when form-field label is empty', async () => {\n // Given\n const page = await newE2EPage();\n await setWcsContent(page, `\n <wcs-form-field>\n <wcs-label></wcs-label>\n <wcs-switch>Label switch</wcs-switch>\n </wcs-form-field>\n `);\n\n // When\n const switchInput = await page.find('wcs-switch >>> input');\n await page.waitForChanges();\n\n // Then\n const ariaLabel = switchInput.getAttribute('aria-label');\n expect(ariaLabel).toBe('Label switch');\n });\n });\n });\n describe('With switch', () => {\n describe('Accessibility', () => {\n it('Should concatenate form-field label with switch label', async () => {\n // Given\n const page = await newE2EPage();\n await setWcsContent(page, `\n <wcs-form-field>\n <wcs-label>Label form field</wcs-label>\n <wcs-switch>Label switch</wcs-switch>\n </wcs-form-field>\n `);\n\n // When\n const switchInput = await page.find('wcs-switch >>> input');\n await page.waitForChanges();\n\n // Then\n const ariaLabel = switchInput.getAttribute('aria-label');\n expect(ariaLabel).toBe('Label form field Label switch');\n });\n });\n });\n\n describe('With checkbox', () => {\n describe('Accessibility', () => {\n it('Should concatenate form-field label with checkbox label', async () => {\n // Given\n const page = await newE2EPage();\n await setWcsContent(page, `\n <wcs-form-field>\n <wcs-label>Label form field</wcs-label>\n <wcs-checkbox>Label checkbox</wcs-checkbox>\n </wcs-form-field>\n `);\n\n // When\n const checkboxInput = await page.find('wcs-checkbox >>> input');\n await page.waitForChanges();\n\n // Then\n const ariaLabel = checkboxInput.getAttribute('aria-label');\n expect(ariaLabel).toBe('Label form field Label checkbox');\n });\n });\n });\n describe('With radio-group', () => {\n describe('Accessibility', () => {\n it('Should set aria-label on radio-group element', async () => {\n // Given\n const page = await newE2EPage();\n await setWcsContent(page, `\n <wcs-form-field>\n <wcs-label>Label form field</wcs-label>\n <wcs-radio-group>\n <wcs-radio name=\"SA\" label=\"SNCF\" value=\"1\"></wcs-radio>\n <wcs-radio name=\"SA\" label=\"SNCF Réseau\" value=\"2\"></wcs-radio>\n <wcs-radio name=\"SA\" label=\"SNCF Voyageurs\" value=\"3\"></wcs-radio>\n </wcs-radio>\n </wcs-radio-group>\n </wcs-form-field>\n `);\n\n // When\n const radioGroup = await page.find('wcs-radio-group');\n await page.waitForChanges();\n\n // Then\n const ariaLabel = radioGroup.getAttribute('aria-label');\n expect(ariaLabel).toBe('Label form field');\n });\n });\n });\n});\n"]}
|
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
import { newE2EPage } from "@stencil/core/testing";
|
|
2
|
-
import { setWcsContent } from "../../utils/tests";
|
|
3
|
-
describe('Grid component', () => {
|
|
4
|
-
describe('Events', () => {
|
|
5
|
-
describe('simple', () => {
|
|
6
|
-
it('should emit a wcsGridSelectionChange event when a row is selected', async () => {
|
|
7
|
-
// Given
|
|
8
|
-
const page = await newE2EPage();
|
|
9
|
-
const data = [{ id: 1, first_name: 'John' }, { id: 2, first_name: 'Doe' }, { id: 3, first_name: 'Jane' }, { id: 4, first_name: 'Smith' }];
|
|
10
|
-
await setWcsContent(page, `
|
|
11
|
-
<wcs-grid id="simpleGrid" selection-config="single" sort="">
|
|
12
|
-
<wcs-grid-column path="first_name" name="First Name"></wcs-grid-column>
|
|
13
|
-
</wcs-grid>
|
|
14
|
-
`);
|
|
15
|
-
const simpleGrid = await page.find('#simpleGrid');
|
|
16
|
-
simpleGrid.setProperty('data', data);
|
|
17
|
-
await page.waitForChanges();
|
|
18
|
-
const eventSpy = await simpleGrid.spyOnEvent('wcsGridSelectionChange');
|
|
19
|
-
// When
|
|
20
|
-
const gridRadioFirstRow = await page.find('wcs-grid >>> table tbody tr:first-child td .grid-radio');
|
|
21
|
-
await gridRadioFirstRow.click();
|
|
22
|
-
// Then
|
|
23
|
-
expect(eventSpy)
|
|
24
|
-
.toHaveReceivedEventDetail({
|
|
25
|
-
selectedRows: [{ data: data[0], selected: true }], // compare by reference (deep equality)
|
|
26
|
-
changedRow: {
|
|
27
|
-
selected: true,
|
|
28
|
-
data: data[0], // compare by reference (deep equality)
|
|
29
|
-
// page is not present because we don't have any pagination with <wcs-grid-pagination>
|
|
30
|
-
}
|
|
31
|
-
});
|
|
32
|
-
});
|
|
33
|
-
});
|
|
34
|
-
describe('multiple', () => {
|
|
35
|
-
it('should emit a wcsGridSelectionChange event when a row is selected', async () => {
|
|
36
|
-
// Given
|
|
37
|
-
const page = await newE2EPage();
|
|
38
|
-
const data = [{ id: 1, first_name: 'John' }, { id: 2, first_name: 'Doe' }, { id: 3, first_name: 'Jane' }, { id: 4, first_name: 'Smith' }];
|
|
39
|
-
await setWcsContent(page, `
|
|
40
|
-
<wcs-grid id="simpleGrid" selection-config="multiple" sort="">
|
|
41
|
-
<wcs-grid-column path="first_name" name="First Name"></wcs-grid-column>
|
|
42
|
-
</wcs-grid>
|
|
43
|
-
`);
|
|
44
|
-
const simpleGrid = await page.find('#simpleGrid');
|
|
45
|
-
simpleGrid.setProperty('data', data);
|
|
46
|
-
await page.waitForChanges();
|
|
47
|
-
const eventSpy = await simpleGrid.spyOnEvent('wcsGridSelectionChange');
|
|
48
|
-
// When
|
|
49
|
-
const wcsCheckboxFirstRow = await page.find('wcs-grid >>> table tbody tr:first-child td wcs-checkbox');
|
|
50
|
-
await wcsCheckboxFirstRow.click();
|
|
51
|
-
// Then
|
|
52
|
-
expect(eventSpy)
|
|
53
|
-
.toHaveReceivedEventDetail({
|
|
54
|
-
selectedRows: [{ data: data[0], selected: true }], // compare by reference (deep equality)
|
|
55
|
-
changedRow: {
|
|
56
|
-
selected: true,
|
|
57
|
-
data: data[0], // compare by reference (deep equality)
|
|
58
|
-
// page is not present because we don't have any pagination with <wcs-grid-pagination>
|
|
59
|
-
}
|
|
60
|
-
});
|
|
61
|
-
});
|
|
62
|
-
it('should emit a wcsGridSelectionChange event when a row is unselected', async () => {
|
|
63
|
-
// Given
|
|
64
|
-
const page = await newE2EPage();
|
|
65
|
-
const data = [{ id: 1, first_name: 'John' }, { id: 2, first_name: 'Doe' }, { id: 3, first_name: 'Jane' }, { id: 4, first_name: 'Smith' }];
|
|
66
|
-
await setWcsContent(page, `
|
|
67
|
-
<wcs-grid id="simpleGrid" selection-config="multiple" sort="">
|
|
68
|
-
<wcs-grid-column path="first_name" name="First Name"></wcs-grid-column>
|
|
69
|
-
</wcs-grid>
|
|
70
|
-
`);
|
|
71
|
-
const simpleGrid = await page.find('#simpleGrid');
|
|
72
|
-
simpleGrid.setProperty('data', data);
|
|
73
|
-
await page.waitForChanges();
|
|
74
|
-
const wcsCheckboxFirstRow = await page.find('wcs-grid >>> table tbody tr:first-child td wcs-checkbox');
|
|
75
|
-
await wcsCheckboxFirstRow.click(); // Row is selected
|
|
76
|
-
const eventSpy = await simpleGrid.spyOnEvent('wcsGridSelectionChange');
|
|
77
|
-
// When
|
|
78
|
-
await wcsCheckboxFirstRow.click(); // Row is unselected
|
|
79
|
-
// Then
|
|
80
|
-
expect(eventSpy)
|
|
81
|
-
.toHaveReceivedEventDetail({
|
|
82
|
-
selectedRows: [],
|
|
83
|
-
changedRow: {
|
|
84
|
-
selected: false,
|
|
85
|
-
data: data[0], // compare by reference (deep equality)
|
|
86
|
-
// page is not present because we don't have any pagination with <wcs-grid-pagination>
|
|
87
|
-
}
|
|
88
|
-
});
|
|
89
|
-
});
|
|
90
|
-
it('should emit a wcsGridSelectionChange event when a new row is selected while another are already selected', async () => {
|
|
91
|
-
// Given
|
|
92
|
-
const page = await newE2EPage();
|
|
93
|
-
const data = [{ id: 1, first_name: 'John' }, { id: 2, first_name: 'Doe' }, { id: 3, first_name: 'Jane' }, { id: 4, first_name: 'Smith' }];
|
|
94
|
-
await setWcsContent(page, `
|
|
95
|
-
<wcs-grid id="simpleGrid" selection-config="multiple" sort="">
|
|
96
|
-
<wcs-grid-column path="first_name" name="First Name"></wcs-grid-column>
|
|
97
|
-
</wcs-grid>
|
|
98
|
-
`);
|
|
99
|
-
const simpleGrid = await page.find('#simpleGrid');
|
|
100
|
-
simpleGrid.setProperty('data', data);
|
|
101
|
-
await page.waitForChanges();
|
|
102
|
-
const wcsCheckboxFirstRow = await page.find('wcs-grid >>> table tbody tr:first-child td wcs-checkbox');
|
|
103
|
-
await wcsCheckboxFirstRow.click();
|
|
104
|
-
const eventSpy = await simpleGrid.spyOnEvent('wcsGridSelectionChange');
|
|
105
|
-
// When
|
|
106
|
-
const wcsCheckboxLastChild = await page.find('wcs-grid >>> table tbody tr:last-child td wcs-checkbox');
|
|
107
|
-
await wcsCheckboxLastChild.click();
|
|
108
|
-
// Then
|
|
109
|
-
expect(eventSpy)
|
|
110
|
-
.toHaveReceivedEventDetail({
|
|
111
|
-
selectedRows: [{ data: data[0], selected: true }, { data: data[data.length - 1], selected: true }], // compare by reference (deep equality)
|
|
112
|
-
changedRow: {
|
|
113
|
-
selected: true,
|
|
114
|
-
data: data[data.length - 1], // compare by reference (deep equality)
|
|
115
|
-
// page is not present because we don't have any pagination with <wcs-grid-pagination>
|
|
116
|
-
}
|
|
117
|
-
});
|
|
118
|
-
});
|
|
119
|
-
it('should emit a wcsGridSelectionChange event when all rows are selected', async () => {
|
|
120
|
-
// Given
|
|
121
|
-
const page = await newE2EPage();
|
|
122
|
-
const data = [{ id: 1, first_name: 'John' }, { id: 2, first_name: 'Doe' }, { id: 3, first_name: 'Jane' }, { id: 4, first_name: 'Smith' }];
|
|
123
|
-
await setWcsContent(page, `
|
|
124
|
-
<wcs-grid id="simpleGrid" selection-config="multiple" sort="">
|
|
125
|
-
<wcs-grid-column path="first_name" name="First Name"></wcs-grid-column>
|
|
126
|
-
</wcs-grid>
|
|
127
|
-
`);
|
|
128
|
-
const simpleGrid = await page.find('#simpleGrid');
|
|
129
|
-
simpleGrid.setProperty('data', data);
|
|
130
|
-
await page.waitForChanges();
|
|
131
|
-
const eventSpy = await simpleGrid.spyOnEvent('wcsGridSelectionChange');
|
|
132
|
-
// When
|
|
133
|
-
const wcsCheckboxAll = await page.find('wcs-grid >>> table thead th:first-child wcs-checkbox');
|
|
134
|
-
await wcsCheckboxAll.click();
|
|
135
|
-
// Then
|
|
136
|
-
expect(eventSpy)
|
|
137
|
-
.toHaveReceivedEventDetail({
|
|
138
|
-
selectedRows: data.map(d => {
|
|
139
|
-
return { data: d, selected: true };
|
|
140
|
-
}), // compare by reference (deep equality)
|
|
141
|
-
changedRow: 'allCheckbox'
|
|
142
|
-
});
|
|
143
|
-
});
|
|
144
|
-
});
|
|
145
|
-
});
|
|
146
|
-
});
|
|
147
|
-
//# sourceMappingURL=grid.e2e.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"grid.e2e.js","sourceRoot":"","sources":["../../../src/components/grid/grid.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { newE2EPage } from \"@stencil/core/testing\";\nimport { setWcsContent } from \"../../utils/tests\";\n\ndescribe('Grid component', () => {\n describe('Events', () => {\n describe('simple', () => {\n it('should emit a wcsGridSelectionChange event when a row is selected', async () => {\n // Given\n const page = await newE2EPage();\n const data = [{ id: 1, first_name: 'John' }, { id: 2, first_name: 'Doe' }, { id: 3, first_name: 'Jane' }, { id: 4, first_name: 'Smith' }]\n await setWcsContent(page, `\n <wcs-grid id=\"simpleGrid\" selection-config=\"single\" sort=\"\">\n <wcs-grid-column path=\"first_name\" name=\"First Name\"></wcs-grid-column>\n </wcs-grid>\n `);\n\n const simpleGrid = await page.find('#simpleGrid');\n simpleGrid.setProperty('data', data);\n await page.waitForChanges();\n\n const eventSpy = await simpleGrid.spyOnEvent('wcsGridSelectionChange');\n\n // When\n const gridRadioFirstRow = await page.find('wcs-grid >>> table tbody tr:first-child td .grid-radio');\n\n await gridRadioFirstRow.click();\n\n // Then\n expect(eventSpy)\n .toHaveReceivedEventDetail({\n selectedRows: [{ data: data[0], selected: true }], // compare by reference (deep equality)\n changedRow: {\n selected: true,\n data: data[0], // compare by reference (deep equality)\n // page is not present because we don't have any pagination with <wcs-grid-pagination>\n }\n });\n });\n });\n\n describe('multiple', () => {\n it('should emit a wcsGridSelectionChange event when a row is selected', async () => {\n // Given\n const page = await newE2EPage();\n const data = [{ id: 1, first_name: 'John' }, { id: 2, first_name: 'Doe' }, { id: 3, first_name: 'Jane' }, { id: 4, first_name: 'Smith' }]\n await setWcsContent(page, `\n <wcs-grid id=\"simpleGrid\" selection-config=\"multiple\" sort=\"\">\n <wcs-grid-column path=\"first_name\" name=\"First Name\"></wcs-grid-column>\n </wcs-grid>\n `);\n\n const simpleGrid = await page.find('#simpleGrid');\n simpleGrid.setProperty('data', data);\n await page.waitForChanges();\n\n const eventSpy = await simpleGrid.spyOnEvent('wcsGridSelectionChange');\n\n // When\n const wcsCheckboxFirstRow = await page.find('wcs-grid >>> table tbody tr:first-child td wcs-checkbox');\n await wcsCheckboxFirstRow.click();\n\n // Then\n expect(eventSpy)\n .toHaveReceivedEventDetail({\n selectedRows: [{ data: data[0], selected: true }], // compare by reference (deep equality)\n changedRow: {\n selected: true,\n data: data[0], // compare by reference (deep equality)\n // page is not present because we don't have any pagination with <wcs-grid-pagination>\n }\n });\n });\n it('should emit a wcsGridSelectionChange event when a row is unselected', async () => {\n // Given\n const page = await newE2EPage();\n const data = [{ id: 1, first_name: 'John' }, { id: 2, first_name: 'Doe' }, { id: 3, first_name: 'Jane' }, { id: 4, first_name: 'Smith' }]\n await setWcsContent(page, `\n <wcs-grid id=\"simpleGrid\" selection-config=\"multiple\" sort=\"\">\n <wcs-grid-column path=\"first_name\" name=\"First Name\"></wcs-grid-column>\n </wcs-grid>\n `);\n\n const simpleGrid = await page.find('#simpleGrid');\n simpleGrid.setProperty('data', data);\n await page.waitForChanges();\n\n const wcsCheckboxFirstRow = await page.find('wcs-grid >>> table tbody tr:first-child td wcs-checkbox');\n await wcsCheckboxFirstRow.click(); // Row is selected\n\n const eventSpy = await simpleGrid.spyOnEvent('wcsGridSelectionChange');\n\n // When\n await wcsCheckboxFirstRow.click(); // Row is unselected\n\n // Then\n expect(eventSpy)\n .toHaveReceivedEventDetail({\n selectedRows: [],\n changedRow: {\n selected: false,\n data: data[0], // compare by reference (deep equality)\n // page is not present because we don't have any pagination with <wcs-grid-pagination>\n }\n });\n });\n it('should emit a wcsGridSelectionChange event when a new row is selected while another are already selected', async () => {\n // Given\n const page = await newE2EPage();\n const data = [{ id: 1, first_name: 'John' }, { id: 2, first_name: 'Doe' }, { id: 3, first_name: 'Jane' }, { id: 4, first_name: 'Smith' }]\n await setWcsContent(page, `\n <wcs-grid id=\"simpleGrid\" selection-config=\"multiple\" sort=\"\">\n <wcs-grid-column path=\"first_name\" name=\"First Name\"></wcs-grid-column>\n </wcs-grid>\n `);\n\n const simpleGrid = await page.find('#simpleGrid');\n simpleGrid.setProperty('data', data);\n await page.waitForChanges();\n\n const wcsCheckboxFirstRow = await page.find('wcs-grid >>> table tbody tr:first-child td wcs-checkbox');\n await wcsCheckboxFirstRow.click();\n\n const eventSpy = await simpleGrid.spyOnEvent('wcsGridSelectionChange');\n\n // When\n const wcsCheckboxLastChild = await page.find('wcs-grid >>> table tbody tr:last-child td wcs-checkbox');\n await wcsCheckboxLastChild.click();\n\n // Then\n expect(eventSpy)\n .toHaveReceivedEventDetail({\n selectedRows: [{ data: data[0], selected: true }, { data: data[data.length - 1], selected: true }], // compare by reference (deep equality)\n changedRow: {\n selected: true,\n data: data[data.length - 1], // compare by reference (deep equality)\n // page is not present because we don't have any pagination with <wcs-grid-pagination>\n }\n });\n });\n it('should emit a wcsGridSelectionChange event when all rows are selected', async () => {\n // Given\n const page = await newE2EPage();\n const data = [{ id: 1, first_name: 'John' }, { id: 2, first_name: 'Doe' }, { id: 3, first_name: 'Jane' }, { id: 4, first_name: 'Smith' }]\n await setWcsContent(page, `\n <wcs-grid id=\"simpleGrid\" selection-config=\"multiple\" sort=\"\">\n <wcs-grid-column path=\"first_name\" name=\"First Name\"></wcs-grid-column>\n </wcs-grid>\n `);\n\n const simpleGrid = await page.find('#simpleGrid');\n simpleGrid.setProperty('data', data);\n await page.waitForChanges();\n\n const eventSpy = await simpleGrid.spyOnEvent('wcsGridSelectionChange');\n\n // When\n const wcsCheckboxAll = await page.find('wcs-grid >>> table thead th:first-child wcs-checkbox');\n await wcsCheckboxAll.click();\n\n // Then\n expect(eventSpy)\n .toHaveReceivedEventDetail({\n selectedRows: data.map(d => {\n return { data: d, selected: true };\n }), // compare by reference (deep equality)\n changedRow: 'allCheckbox'\n });\n });\n });\n });\n});\n"]}
|
|
@@ -1,152 +0,0 @@
|
|
|
1
|
-
import { newE2EPage } from "@stencil/core/testing";
|
|
2
|
-
import { setWcsContent } from "../../utils/tests";
|
|
3
|
-
describe('Input component', () => {
|
|
4
|
-
it('Should fire wcsInput event once when user typing one char', async () => {
|
|
5
|
-
// Given
|
|
6
|
-
const page = await newE2EPage();
|
|
7
|
-
await setWcsContent(page, `
|
|
8
|
-
<wcs-input name="wcs-input-1" />
|
|
9
|
-
`);
|
|
10
|
-
const input = await page.find('wcs-input');
|
|
11
|
-
const inputEvent = await page.spyOnEvent('wcsInput');
|
|
12
|
-
// When
|
|
13
|
-
await input.click();
|
|
14
|
-
await input.press('B');
|
|
15
|
-
// Then
|
|
16
|
-
expect(inputEvent).toHaveReceivedEventTimes(1);
|
|
17
|
-
});
|
|
18
|
-
it('Should fire wcsInput event multiple times when user typing multiple chars', async () => {
|
|
19
|
-
// Given
|
|
20
|
-
const page = await newE2EPage();
|
|
21
|
-
await setWcsContent(page, `
|
|
22
|
-
<wcs-input name="wcs-input-1" />
|
|
23
|
-
`);
|
|
24
|
-
const input = await page.find('wcs-input');
|
|
25
|
-
const inputEvent = await page.spyOnEvent('wcsInput');
|
|
26
|
-
// When
|
|
27
|
-
await input.click();
|
|
28
|
-
await input.press('B');
|
|
29
|
-
await input.press('o');
|
|
30
|
-
await input.press('n');
|
|
31
|
-
await input.press('j');
|
|
32
|
-
await input.press('o');
|
|
33
|
-
await input.press('u');
|
|
34
|
-
await input.press('r');
|
|
35
|
-
// Then
|
|
36
|
-
expect(inputEvent).toHaveReceivedEventTimes(7);
|
|
37
|
-
});
|
|
38
|
-
it('Should fire wcsChange event when user commit change with blur (tab)', async () => {
|
|
39
|
-
// Given
|
|
40
|
-
const page = await newE2EPage();
|
|
41
|
-
await setWcsContent(page, `
|
|
42
|
-
<wcs-input name="wcs-input-1" />
|
|
43
|
-
<button>Focus</button>
|
|
44
|
-
`);
|
|
45
|
-
const input = await page.find('wcs-input');
|
|
46
|
-
const changeEvent = await page.spyOnEvent('wcsChange');
|
|
47
|
-
// When
|
|
48
|
-
await input.click();
|
|
49
|
-
await input.press('B');
|
|
50
|
-
await input.press('l');
|
|
51
|
-
await input.press('u');
|
|
52
|
-
await input.press('r');
|
|
53
|
-
await input.press('Tab');
|
|
54
|
-
await page.waitForChanges();
|
|
55
|
-
// Then
|
|
56
|
-
expect(changeEvent).toHaveReceivedEventTimes(1);
|
|
57
|
-
expect(changeEvent).toHaveReceivedEventDetail({ value: 'Blur' });
|
|
58
|
-
});
|
|
59
|
-
it('Should fire wcsChange event when user commit change with blur (click)', async () => {
|
|
60
|
-
// Given
|
|
61
|
-
const page = await newE2EPage();
|
|
62
|
-
await setWcsContent(page, `
|
|
63
|
-
<wcs-input name="wcs-input-1"></wcs-input>
|
|
64
|
-
<button>Focus</button>
|
|
65
|
-
`);
|
|
66
|
-
const input = await page.find('wcs-input');
|
|
67
|
-
const button = await page.find('button');
|
|
68
|
-
const changeEvent = await page.spyOnEvent('wcsChange');
|
|
69
|
-
// When
|
|
70
|
-
await input.click();
|
|
71
|
-
await input.press('B');
|
|
72
|
-
await input.press('l');
|
|
73
|
-
await input.press('u');
|
|
74
|
-
await input.press('r');
|
|
75
|
-
await button.focus();
|
|
76
|
-
// Then
|
|
77
|
-
expect(changeEvent).toHaveReceivedEventTimes(1);
|
|
78
|
-
expect(changeEvent).toHaveReceivedEventDetail({ value: 'Blur' });
|
|
79
|
-
});
|
|
80
|
-
it('Should fire wcsChange event when user commit change with enter', async () => {
|
|
81
|
-
// Given
|
|
82
|
-
const page = await newE2EPage();
|
|
83
|
-
await setWcsContent(page, `
|
|
84
|
-
<wcs-input name="wcs-input-1" />
|
|
85
|
-
`);
|
|
86
|
-
const input = await page.find('wcs-input');
|
|
87
|
-
const changeEvent = await page.spyOnEvent('wcsChange');
|
|
88
|
-
// When
|
|
89
|
-
await input.click();
|
|
90
|
-
await input.press('E');
|
|
91
|
-
await input.press('n');
|
|
92
|
-
await input.press('t');
|
|
93
|
-
await input.press('e');
|
|
94
|
-
await input.press('r');
|
|
95
|
-
await input.press('Enter');
|
|
96
|
-
// Then
|
|
97
|
-
expect(changeEvent).toHaveReceivedEventTimes(1);
|
|
98
|
-
expect(changeEvent).toHaveReceivedEventDetail({ value: 'Enter' });
|
|
99
|
-
});
|
|
100
|
-
it('Should not fire wcsChange event when value is programmatically set', async () => {
|
|
101
|
-
// Given
|
|
102
|
-
const page = await newE2EPage();
|
|
103
|
-
await setWcsContent(page, `
|
|
104
|
-
<wcs-input name="wcs-input-1" />
|
|
105
|
-
`);
|
|
106
|
-
const input = await page.find('wcs-input');
|
|
107
|
-
const changeEvent = await page.spyOnEvent('wcsChange');
|
|
108
|
-
// When
|
|
109
|
-
input.setProperty('value', 'Programmatically set value');
|
|
110
|
-
// Then
|
|
111
|
-
expect(changeEvent).toHaveReceivedEventTimes(0);
|
|
112
|
-
});
|
|
113
|
-
it('Should not fire wcsInput event when value is programmatically set', async () => {
|
|
114
|
-
// Given
|
|
115
|
-
const page = await newE2EPage();
|
|
116
|
-
await setWcsContent(page, `
|
|
117
|
-
<wcs-input name="wcs-input-1" />
|
|
118
|
-
`);
|
|
119
|
-
const input = await page.find('wcs-input');
|
|
120
|
-
const inputEvent = await page.spyOnEvent('wcsInput');
|
|
121
|
-
// When
|
|
122
|
-
input.setProperty('value', 'Programmatically set value');
|
|
123
|
-
// Then
|
|
124
|
-
expect(inputEvent).toHaveReceivedEventTimes(0);
|
|
125
|
-
});
|
|
126
|
-
it('Should have a default value when value attribute is set', async () => {
|
|
127
|
-
// Given
|
|
128
|
-
const page = await newE2EPage();
|
|
129
|
-
await setWcsContent(page, `
|
|
130
|
-
<wcs-input name="wcs-input-1" value="Default value" />
|
|
131
|
-
`);
|
|
132
|
-
const input = await page.find('wcs-input');
|
|
133
|
-
// Then
|
|
134
|
-
expect(await input.getProperty('value')).toBe('Default value');
|
|
135
|
-
expect(await (await page.find('wcs-input >>> input')).getProperty('value')).toBe('Default value');
|
|
136
|
-
});
|
|
137
|
-
it('Should have a default value when value property is set', async () => {
|
|
138
|
-
// Given
|
|
139
|
-
const page = await newE2EPage();
|
|
140
|
-
await setWcsContent(page, `
|
|
141
|
-
<wcs-input name="wcs-input-1" />
|
|
142
|
-
`);
|
|
143
|
-
const input = await page.find('wcs-input');
|
|
144
|
-
// When
|
|
145
|
-
input.setProperty('value', 'Default value');
|
|
146
|
-
await page.waitForChanges();
|
|
147
|
-
// Then
|
|
148
|
-
expect(await input.getProperty('value')).toBe('Default value');
|
|
149
|
-
expect(await (await page.find('wcs-input >>> input')).getProperty('value')).toBe('Default value');
|
|
150
|
-
});
|
|
151
|
-
});
|
|
152
|
-
//# sourceMappingURL=input.e2e.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"input.e2e.js","sourceRoot":"","sources":["../../../src/components/input/input.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { newE2EPage } from '@stencil/core/testing';\nimport { setWcsContent } from \"../../utils/tests\";\n\ndescribe('Input component', () => {\n it('Should fire wcsInput event once when user typing one char', async () => {\n // Given\n const page = await newE2EPage();\n await setWcsContent(page, `\n <wcs-input name=\"wcs-input-1\" />\n `);\n const input = await page.find('wcs-input');\n const inputEvent = await page.spyOnEvent('wcsInput');\n\n // When\n await input.click();\n await input.press('B');\n\n // Then\n expect(inputEvent).toHaveReceivedEventTimes(1);\n });\n it('Should fire wcsInput event multiple times when user typing multiple chars', async () => {\n // Given\n const page = await newE2EPage();\n await setWcsContent(page, `\n <wcs-input name=\"wcs-input-1\" />\n `);\n const input = await page.find('wcs-input');\n const inputEvent = await page.spyOnEvent('wcsInput');\n\n // When\n await input.click();\n await input.press('B');\n await input.press('o');\n await input.press('n');\n await input.press('j');\n await input.press('o');\n await input.press('u');\n await input.press('r');\n\n // Then\n expect(inputEvent).toHaveReceivedEventTimes(7);\n });\n it('Should fire wcsChange event when user commit change with blur (tab)', async () => {\n // Given\n const page = await newE2EPage();\n await setWcsContent(page, `\n <wcs-input name=\"wcs-input-1\" />\n <button>Focus</button>\n `);\n const input = await page.find('wcs-input');\n const changeEvent = await page.spyOnEvent('wcsChange');\n\n // When\n await input.click();\n await input.press('B');\n await input.press('l');\n await input.press('u');\n await input.press('r');\n await input.press('Tab');\n\n await page.waitForChanges();\n\n // Then\n expect(changeEvent).toHaveReceivedEventTimes(1);\n expect(changeEvent).toHaveReceivedEventDetail({ value: 'Blur' });\n });\n it('Should fire wcsChange event when user commit change with blur (click)', async () => {\n // Given\n const page = await newE2EPage();\n await setWcsContent(page, `\n <wcs-input name=\"wcs-input-1\"></wcs-input>\n <button>Focus</button>\n `);\n const input = await page.find('wcs-input');\n const button = await page.find('button');\n const changeEvent = await page.spyOnEvent('wcsChange');\n\n // When\n await input.click();\n await input.press('B');\n await input.press('l');\n await input.press('u');\n await input.press('r');\n await button.focus();\n\n // Then\n expect(changeEvent).toHaveReceivedEventTimes(1);\n expect(changeEvent).toHaveReceivedEventDetail({ value: 'Blur' });\n });\n it('Should fire wcsChange event when user commit change with enter', async () => {\n // Given\n const page = await newE2EPage();\n await setWcsContent(page, `\n <wcs-input name=\"wcs-input-1\" />\n `);\n const input = await page.find('wcs-input');\n const changeEvent = await page.spyOnEvent('wcsChange');\n\n // When\n await input.click();\n await input.press('E');\n await input.press('n');\n await input.press('t');\n await input.press('e');\n await input.press('r');\n await input.press('Enter');\n\n // Then\n expect(changeEvent).toHaveReceivedEventTimes(1);\n expect(changeEvent).toHaveReceivedEventDetail({ value: 'Enter' });\n });\n it('Should not fire wcsChange event when value is programmatically set', async () => {\n // Given\n const page = await newE2EPage();\n await setWcsContent(page, `\n <wcs-input name=\"wcs-input-1\" />\n `);\n const input = await page.find('wcs-input');\n const changeEvent = await page.spyOnEvent('wcsChange');\n\n // When\n input.setProperty('value', 'Programmatically set value');\n\n // Then\n expect(changeEvent).toHaveReceivedEventTimes(0);\n });\n it('Should not fire wcsInput event when value is programmatically set', async () => {\n // Given\n const page = await newE2EPage();\n await setWcsContent(page, `\n <wcs-input name=\"wcs-input-1\" />\n `);\n const input = await page.find('wcs-input');\n const inputEvent = await page.spyOnEvent('wcsInput');\n\n // When\n input.setProperty('value', 'Programmatically set value');\n\n // Then\n expect(inputEvent).toHaveReceivedEventTimes(0);\n });\n it('Should have a default value when value attribute is set', async () => {\n // Given\n const page = await newE2EPage();\n await setWcsContent(page, `\n <wcs-input name=\"wcs-input-1\" value=\"Default value\" />\n `);\n const input = await page.find('wcs-input');\n\n // Then\n expect(await input.getProperty('value')).toBe('Default value');\n expect(await (await page.find('wcs-input >>> input')).getProperty('value')).toBe('Default value');\n });\n it('Should have a default value when value property is set', async () => {\n // Given\n const page = await newE2EPage();\n await setWcsContent(page, `\n <wcs-input name=\"wcs-input-1\" />\n `);\n const input = await page.find('wcs-input');\n\n // When\n input.setProperty('value', 'Default value');\n await page.waitForChanges();\n\n // Then\n expect(await input.getProperty('value')).toBe('Default value');\n expect(await (await page.find('wcs-input >>> input')).getProperty('value')).toBe('Default value');\n });\n});\n"]}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { newE2EPage } from "@stencil/core/testing";
|
|
2
|
-
import { setWcsContent } from "../../utils/tests";
|
|
3
|
-
describe('modal', () => {
|
|
4
|
-
it('should trap the focus inside', async () => {
|
|
5
|
-
// Given
|
|
6
|
-
const page = await newE2EPage();
|
|
7
|
-
await setWcsContent(page, `
|
|
8
|
-
<wcs-modal show-close-button>
|
|
9
|
-
<wcs-input id="first-input" type="text"></wcs-input>
|
|
10
|
-
<wcs-button id="last-button" disabled class="wcs-primary" type="button">Envoyer</wcs-button>
|
|
11
|
-
</wcs-modal>
|
|
12
|
-
`); // Modal is opened by default in this test
|
|
13
|
-
const modal = await page.find('wcs-modal');
|
|
14
|
-
modal.setProperty('show', true);
|
|
15
|
-
await page.waitForChanges();
|
|
16
|
-
const button = await page.find('wcs-modal wcs-button');
|
|
17
|
-
const showCloseButton = await page.find('wcs-modal .wcs-modal-header wcs-button');
|
|
18
|
-
const input = await page.find('wcs-modal wcs-input');
|
|
19
|
-
// When / Then
|
|
20
|
-
let activeElementId = await page.evaluate(() => document.activeElement.id);
|
|
21
|
-
expect(activeElementId).toEqual(showCloseButton.id);
|
|
22
|
-
await page.keyboard.press('Tab');
|
|
23
|
-
activeElementId = await page.evaluate(() => document.activeElement.id);
|
|
24
|
-
expect(activeElementId).toEqual(input.id);
|
|
25
|
-
await page.keyboard.press('Tab');
|
|
26
|
-
activeElementId = await page.evaluate(() => document.activeElement.id);
|
|
27
|
-
expect(activeElementId).toEqual(showCloseButton.id);
|
|
28
|
-
await page.keyboard.press('Tab'); // input receives the focus
|
|
29
|
-
button.setProperty('disabled', false);
|
|
30
|
-
await page.waitForChanges();
|
|
31
|
-
await page.keyboard.press('Tab');
|
|
32
|
-
activeElementId = await page.evaluate(() => document.activeElement.id);
|
|
33
|
-
expect(activeElementId).toEqual(button.id);
|
|
34
|
-
});
|
|
35
|
-
});
|
|
36
|
-
//# sourceMappingURL=modal.e2e.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"modal.e2e.js","sourceRoot":"","sources":["../../../src/components/modal/modal.e2e.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IACnB,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;QAC1C,QAAQ;QACR,MAAM,IAAI,GAAG,MAAM,UAAU,EAAE,CAAC;QAChC,MAAM,aAAa,CAAC,IAAI,EAAE;;;;;SAKzB,CAAC,CAAC,CAAC,0CAA0C;QAC9C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3C,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAChC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACvD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;QAClF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAErD,cAAc;QACd,IAAI,eAAe,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAC3E,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAEpD,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,eAAe,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QACvE,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAE1C,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,eAAe,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QACvE,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAEpD,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,2BAA2B;QAE7D,MAAM,CAAC,WAAW,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,eAAe,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QACvE,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC","sourcesContent":["import { newE2EPage } from '@stencil/core/testing';\nimport { setWcsContent } from \"../../utils/tests\";\n\ndescribe('modal', () => {\n it('should trap the focus inside', async () => {\n // Given\n const page = await newE2EPage();\n await setWcsContent(page, `\n <wcs-modal show-close-button>\n <wcs-input id=\"first-input\" type=\"text\"></wcs-input>\n <wcs-button id=\"last-button\" disabled class=\"wcs-primary\" type=\"button\">Envoyer</wcs-button>\n </wcs-modal>\n `); // Modal is opened by default in this test\n const modal = await page.find('wcs-modal');\n modal.setProperty('show', true);\n await page.waitForChanges();\n\n const button = await page.find('wcs-modal wcs-button');\n const showCloseButton = await page.find('wcs-modal .wcs-modal-header wcs-button');\n const input = await page.find('wcs-modal wcs-input');\n\n // When / Then\n let activeElementId = await page.evaluate(() => document.activeElement.id);\n expect(activeElementId).toEqual(showCloseButton.id);\n\n await page.keyboard.press('Tab');\n activeElementId = await page.evaluate(() => document.activeElement.id);\n expect(activeElementId).toEqual(input.id);\n\n await page.keyboard.press('Tab');\n activeElementId = await page.evaluate(() => document.activeElement.id);\n expect(activeElementId).toEqual(showCloseButton.id);\n\n await page.keyboard.press('Tab'); // input receives the focus\n\n button.setProperty('disabled', false);\n await page.waitForChanges();\n\n await page.keyboard.press('Tab');\n activeElementId = await page.evaluate(() => document.activeElement.id);\n expect(activeElementId).toEqual(button.id);\n });\n});\n"]}
|