wcs-core 7.3.0 → 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/{popper-8d6e7fca.js → popper-1b61df21.js} +10 -17
- package/dist/cjs/popper-1b61df21.js.map +1 -0
- 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-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/collection/components/accordion/{accordion.e2e.js → accordion.e2e.playwright.js} +51 -55
- package/dist/collection/components/accordion/accordion.e2e.playwright.js.map +1 -0
- package/dist/collection/components/accordion-panel/accordion-panel.js +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.e2e.playwright.js +39 -0
- package/dist/collection/components/checkbox/checkbox.e2e.playwright.js.map +1 -0
- package/dist/collection/components/checkbox/checkbox.js +1 -1
- 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/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/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/{popper-e491c314.js → popper-ac238961.js} +10 -17
- package/dist/esm/popper-ac238961.js.map +1 -0
- package/dist/esm/wcs-breadcrumb.entry.js +1 -1
- package/dist/esm/wcs-breadcrumb.entry.js.map +1 -1
- 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/types/components/accordion/accordion.e2e.playwright.d.ts +1 -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.e2e.playwright.d.ts +1 -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 +12 -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-8332a7e3.entry.js +2 -0
- package/dist/wcs/p-8332a7e3.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-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-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/package.json +18 -24
- package/dist/cjs/popper-8d6e7fca.js.map +0 -1
- package/dist/collection/components/accordion/accordion.e2e.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/chip/chip.e2e.js +0 -209
- package/dist/collection/components/chip/chip.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-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-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,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"]}
|