From ff7e3740ad5fe80008193915b859e98a74aa649b Mon Sep 17 00:00:00 2001 From: Liam DeBeasi Date: Wed, 26 Apr 2023 15:30:25 -0400 Subject: [PATCH] test(accordion): migrate to generator (#27243) Issue number: N/A --------- This PR migrates the accordion tests to use the generator infrastructure. --- .../test/a11y/accordion.e2e-legacy.ts | 44 ----------- .../accordion/test/a11y/accordion.e2e.ts | 46 +++++++++++ .../accordion/test/accordion.e2e-legacy.ts | 56 ------------- .../accordion/test/accordion.e2e.ts | 49 ++++++++++++ .../test/basic/accordion.e2e-legacy.ts | 74 ------------------ .../accordion/test/basic/accordion.e2e.ts | 60 ++++++++++++++ ...dion-basic-ios-ltr-Mobile-Chrome-linux.png | Bin ...ion-basic-ios-ltr-Mobile-Firefox-linux.png | Bin ...dion-basic-ios-ltr-Mobile-Safari-linux.png | Bin ...dion-basic-ios-rtl-Mobile-Chrome-linux.png | Bin ...ion-basic-ios-rtl-Mobile-Firefox-linux.png | Bin ...dion-basic-ios-rtl-Mobile-Safari-linux.png | Bin ...rdion-basic-md-ltr-Mobile-Chrome-linux.png | Bin ...dion-basic-md-ltr-Mobile-Firefox-linux.png | Bin ...rdion-basic-md-ltr-Mobile-Safari-linux.png | Bin ...rdion-basic-md-rtl-Mobile-Chrome-linux.png | Bin ...dion-basic-md-rtl-Mobile-Firefox-linux.png | Bin ...rdion-basic-md-rtl-Mobile-Safari-linux.png | Bin .../test/multiple/accordion.e2e-legacy.ts | 32 -------- .../accordion/test/multiple/accordion.e2e.ts | 32 ++++++++ ...n-one-open-ios-ltr-Mobile-Chrome-linux.png | Bin ...-one-open-ios-ltr-Mobile-Firefox-linux.png | Bin ...n-one-open-ios-ltr-Mobile-Safari-linux.png | Bin ...on-one-open-md-ltr-Mobile-Chrome-linux.png | Bin ...n-one-open-md-ltr-Mobile-Firefox-linux.png | Bin ...on-one-open-md-ltr-Mobile-Safari-linux.png | Bin ...n-two-open-ios-ltr-Mobile-Chrome-linux.png | Bin ...-two-open-ios-ltr-Mobile-Firefox-linux.png | Bin ...n-two-open-ios-ltr-Mobile-Safari-linux.png | Bin ...on-two-open-md-ltr-Mobile-Chrome-linux.png | Bin ...n-two-open-md-ltr-Mobile-Firefox-linux.png | Bin ...on-two-open-md-ltr-Mobile-Safari-linux.png | Bin ...-zero-open-ios-ltr-Mobile-Chrome-linux.png | Bin ...zero-open-ios-ltr-Mobile-Firefox-linux.png | Bin ...-zero-open-ios-ltr-Mobile-Safari-linux.png | Bin ...n-zero-open-md-ltr-Mobile-Chrome-linux.png | Bin ...-zero-open-md-ltr-Mobile-Firefox-linux.png | Bin ...n-zero-open-md-ltr-Mobile-Safari-linux.png | Bin .../test/nested/accordion.e2e-legacy.ts | 28 ------- .../accordion/test/nested/accordion.e2e.ts | 30 +++++++ ...d-disabled-ios-ltr-Mobile-Chrome-linux.png | Bin ...-disabled-ios-ltr-Mobile-Firefox-linux.png | Bin ...d-disabled-ios-ltr-Mobile-Safari-linux.png | Bin ...ld-disabled-md-ltr-Mobile-Chrome-linux.png | Bin ...d-disabled-md-ltr-Mobile-Firefox-linux.png | Bin ...ld-disabled-md-ltr-Mobile-Safari-linux.png | Bin ...ed-enabled-ios-ltr-Mobile-Chrome-linux.png | Bin ...d-enabled-ios-ltr-Mobile-Firefox-linux.png | Bin ...ed-enabled-ios-ltr-Mobile-Safari-linux.png | Bin ...ted-enabled-md-ltr-Mobile-Chrome-linux.png | Bin ...ed-enabled-md-ltr-Mobile-Firefox-linux.png | Bin ...ted-enabled-md-ltr-Mobile-Safari-linux.png | Bin ...t-disabled-ios-ltr-Mobile-Chrome-linux.png | Bin ...-disabled-ios-ltr-Mobile-Firefox-linux.png | Bin ...t-disabled-ios-ltr-Mobile-Safari-linux.png | Bin ...nt-disabled-md-ltr-Mobile-Chrome-linux.png | Bin ...t-disabled-md-ltr-Mobile-Firefox-linux.png | Bin ...nt-disabled-md-ltr-Mobile-Safari-linux.png | Bin .../test/standalone/accordion.e2e-legacy.ts | 13 --- .../test/standalone/accordion.e2e.ts | 15 ++++ 60 files changed, 232 insertions(+), 247 deletions(-) delete mode 100644 core/src/components/accordion/test/a11y/accordion.e2e-legacy.ts create mode 100644 core/src/components/accordion/test/a11y/accordion.e2e.ts delete mode 100644 core/src/components/accordion/test/accordion.e2e-legacy.ts create mode 100644 core/src/components/accordion/test/accordion.e2e.ts delete mode 100644 core/src/components/accordion/test/basic/accordion.e2e-legacy.ts create mode 100644 core/src/components/accordion/test/basic/accordion.e2e.ts rename core/src/components/accordion/test/basic/{accordion.e2e-legacy.ts-snapshots => accordion.e2e.ts-snapshots}/accordion-basic-ios-ltr-Mobile-Chrome-linux.png (100%) rename core/src/components/accordion/test/basic/{accordion.e2e-legacy.ts-snapshots => accordion.e2e.ts-snapshots}/accordion-basic-ios-ltr-Mobile-Firefox-linux.png (100%) rename core/src/components/accordion/test/basic/{accordion.e2e-legacy.ts-snapshots => accordion.e2e.ts-snapshots}/accordion-basic-ios-ltr-Mobile-Safari-linux.png (100%) rename core/src/components/accordion/test/basic/{accordion.e2e-legacy.ts-snapshots => accordion.e2e.ts-snapshots}/accordion-basic-ios-rtl-Mobile-Chrome-linux.png (100%) rename core/src/components/accordion/test/basic/{accordion.e2e-legacy.ts-snapshots => accordion.e2e.ts-snapshots}/accordion-basic-ios-rtl-Mobile-Firefox-linux.png (100%) rename core/src/components/accordion/test/basic/{accordion.e2e-legacy.ts-snapshots => accordion.e2e.ts-snapshots}/accordion-basic-ios-rtl-Mobile-Safari-linux.png (100%) rename core/src/components/accordion/test/basic/{accordion.e2e-legacy.ts-snapshots => accordion.e2e.ts-snapshots}/accordion-basic-md-ltr-Mobile-Chrome-linux.png (100%) rename core/src/components/accordion/test/basic/{accordion.e2e-legacy.ts-snapshots => accordion.e2e.ts-snapshots}/accordion-basic-md-ltr-Mobile-Firefox-linux.png (100%) rename core/src/components/accordion/test/basic/{accordion.e2e-legacy.ts-snapshots => accordion.e2e.ts-snapshots}/accordion-basic-md-ltr-Mobile-Safari-linux.png (100%) rename core/src/components/accordion/test/basic/{accordion.e2e-legacy.ts-snapshots => accordion.e2e.ts-snapshots}/accordion-basic-md-rtl-Mobile-Chrome-linux.png (100%) rename core/src/components/accordion/test/basic/{accordion.e2e-legacy.ts-snapshots => accordion.e2e.ts-snapshots}/accordion-basic-md-rtl-Mobile-Firefox-linux.png (100%) rename core/src/components/accordion/test/basic/{accordion.e2e-legacy.ts-snapshots => accordion.e2e.ts-snapshots}/accordion-basic-md-rtl-Mobile-Safari-linux.png (100%) delete mode 100644 core/src/components/accordion/test/multiple/accordion.e2e-legacy.ts create mode 100644 core/src/components/accordion/test/multiple/accordion.e2e.ts rename core/src/components/accordion/test/multiple/{accordion.e2e-legacy.ts-snapshots => accordion.e2e.ts-snapshots}/accordion-one-open-ios-ltr-Mobile-Chrome-linux.png (100%) rename core/src/components/accordion/test/multiple/{accordion.e2e-legacy.ts-snapshots => accordion.e2e.ts-snapshots}/accordion-one-open-ios-ltr-Mobile-Firefox-linux.png (100%) rename core/src/components/accordion/test/multiple/{accordion.e2e-legacy.ts-snapshots => accordion.e2e.ts-snapshots}/accordion-one-open-ios-ltr-Mobile-Safari-linux.png (100%) rename core/src/components/accordion/test/multiple/{accordion.e2e-legacy.ts-snapshots => accordion.e2e.ts-snapshots}/accordion-one-open-md-ltr-Mobile-Chrome-linux.png (100%) rename core/src/components/accordion/test/multiple/{accordion.e2e-legacy.ts-snapshots => accordion.e2e.ts-snapshots}/accordion-one-open-md-ltr-Mobile-Firefox-linux.png (100%) rename core/src/components/accordion/test/multiple/{accordion.e2e-legacy.ts-snapshots => accordion.e2e.ts-snapshots}/accordion-one-open-md-ltr-Mobile-Safari-linux.png (100%) rename core/src/components/accordion/test/multiple/{accordion.e2e-legacy.ts-snapshots => accordion.e2e.ts-snapshots}/accordion-two-open-ios-ltr-Mobile-Chrome-linux.png (100%) rename core/src/components/accordion/test/multiple/{accordion.e2e-legacy.ts-snapshots => accordion.e2e.ts-snapshots}/accordion-two-open-ios-ltr-Mobile-Firefox-linux.png (100%) rename core/src/components/accordion/test/multiple/{accordion.e2e-legacy.ts-snapshots => accordion.e2e.ts-snapshots}/accordion-two-open-ios-ltr-Mobile-Safari-linux.png (100%) rename core/src/components/accordion/test/multiple/{accordion.e2e-legacy.ts-snapshots => accordion.e2e.ts-snapshots}/accordion-two-open-md-ltr-Mobile-Chrome-linux.png (100%) rename core/src/components/accordion/test/multiple/{accordion.e2e-legacy.ts-snapshots => accordion.e2e.ts-snapshots}/accordion-two-open-md-ltr-Mobile-Firefox-linux.png (100%) rename core/src/components/accordion/test/multiple/{accordion.e2e-legacy.ts-snapshots => accordion.e2e.ts-snapshots}/accordion-two-open-md-ltr-Mobile-Safari-linux.png (100%) rename core/src/components/accordion/test/multiple/{accordion.e2e-legacy.ts-snapshots => accordion.e2e.ts-snapshots}/accordion-zero-open-ios-ltr-Mobile-Chrome-linux.png (100%) rename core/src/components/accordion/test/multiple/{accordion.e2e-legacy.ts-snapshots => accordion.e2e.ts-snapshots}/accordion-zero-open-ios-ltr-Mobile-Firefox-linux.png (100%) rename core/src/components/accordion/test/multiple/{accordion.e2e-legacy.ts-snapshots => accordion.e2e.ts-snapshots}/accordion-zero-open-ios-ltr-Mobile-Safari-linux.png (100%) rename core/src/components/accordion/test/multiple/{accordion.e2e-legacy.ts-snapshots => accordion.e2e.ts-snapshots}/accordion-zero-open-md-ltr-Mobile-Chrome-linux.png (100%) rename core/src/components/accordion/test/multiple/{accordion.e2e-legacy.ts-snapshots => accordion.e2e.ts-snapshots}/accordion-zero-open-md-ltr-Mobile-Firefox-linux.png (100%) rename core/src/components/accordion/test/multiple/{accordion.e2e-legacy.ts-snapshots => accordion.e2e.ts-snapshots}/accordion-zero-open-md-ltr-Mobile-Safari-linux.png (100%) delete mode 100644 core/src/components/accordion/test/nested/accordion.e2e-legacy.ts create mode 100644 core/src/components/accordion/test/nested/accordion.e2e.ts rename core/src/components/accordion/test/nested/{accordion.e2e-legacy.ts-snapshots => accordion.e2e.ts-snapshots}/accordion-child-disabled-ios-ltr-Mobile-Chrome-linux.png (100%) rename core/src/components/accordion/test/nested/{accordion.e2e-legacy.ts-snapshots => accordion.e2e.ts-snapshots}/accordion-child-disabled-ios-ltr-Mobile-Firefox-linux.png (100%) rename core/src/components/accordion/test/nested/{accordion.e2e-legacy.ts-snapshots => accordion.e2e.ts-snapshots}/accordion-child-disabled-ios-ltr-Mobile-Safari-linux.png (100%) rename core/src/components/accordion/test/nested/{accordion.e2e-legacy.ts-snapshots => accordion.e2e.ts-snapshots}/accordion-child-disabled-md-ltr-Mobile-Chrome-linux.png (100%) rename core/src/components/accordion/test/nested/{accordion.e2e-legacy.ts-snapshots => accordion.e2e.ts-snapshots}/accordion-child-disabled-md-ltr-Mobile-Firefox-linux.png (100%) rename core/src/components/accordion/test/nested/{accordion.e2e-legacy.ts-snapshots => accordion.e2e.ts-snapshots}/accordion-child-disabled-md-ltr-Mobile-Safari-linux.png (100%) rename core/src/components/accordion/test/nested/{accordion.e2e-legacy.ts-snapshots => accordion.e2e.ts-snapshots}/accordion-nested-enabled-ios-ltr-Mobile-Chrome-linux.png (100%) rename core/src/components/accordion/test/nested/{accordion.e2e-legacy.ts-snapshots => accordion.e2e.ts-snapshots}/accordion-nested-enabled-ios-ltr-Mobile-Firefox-linux.png (100%) rename core/src/components/accordion/test/nested/{accordion.e2e-legacy.ts-snapshots => accordion.e2e.ts-snapshots}/accordion-nested-enabled-ios-ltr-Mobile-Safari-linux.png (100%) rename core/src/components/accordion/test/nested/{accordion.e2e-legacy.ts-snapshots => accordion.e2e.ts-snapshots}/accordion-nested-enabled-md-ltr-Mobile-Chrome-linux.png (100%) rename core/src/components/accordion/test/nested/{accordion.e2e-legacy.ts-snapshots => accordion.e2e.ts-snapshots}/accordion-nested-enabled-md-ltr-Mobile-Firefox-linux.png (100%) rename core/src/components/accordion/test/nested/{accordion.e2e-legacy.ts-snapshots => accordion.e2e.ts-snapshots}/accordion-nested-enabled-md-ltr-Mobile-Safari-linux.png (100%) rename core/src/components/accordion/test/nested/{accordion.e2e-legacy.ts-snapshots => accordion.e2e.ts-snapshots}/accordion-parent-disabled-ios-ltr-Mobile-Chrome-linux.png (100%) rename core/src/components/accordion/test/nested/{accordion.e2e-legacy.ts-snapshots => accordion.e2e.ts-snapshots}/accordion-parent-disabled-ios-ltr-Mobile-Firefox-linux.png (100%) rename core/src/components/accordion/test/nested/{accordion.e2e-legacy.ts-snapshots => accordion.e2e.ts-snapshots}/accordion-parent-disabled-ios-ltr-Mobile-Safari-linux.png (100%) rename core/src/components/accordion/test/nested/{accordion.e2e-legacy.ts-snapshots => accordion.e2e.ts-snapshots}/accordion-parent-disabled-md-ltr-Mobile-Chrome-linux.png (100%) rename core/src/components/accordion/test/nested/{accordion.e2e-legacy.ts-snapshots => accordion.e2e.ts-snapshots}/accordion-parent-disabled-md-ltr-Mobile-Firefox-linux.png (100%) rename core/src/components/accordion/test/nested/{accordion.e2e-legacy.ts-snapshots => accordion.e2e.ts-snapshots}/accordion-parent-disabled-md-ltr-Mobile-Safari-linux.png (100%) delete mode 100644 core/src/components/accordion/test/standalone/accordion.e2e-legacy.ts create mode 100644 core/src/components/accordion/test/standalone/accordion.e2e.ts diff --git a/core/src/components/accordion/test/a11y/accordion.e2e-legacy.ts b/core/src/components/accordion/test/a11y/accordion.e2e-legacy.ts deleted file mode 100644 index 39f677910b..0000000000 --- a/core/src/components/accordion/test/a11y/accordion.e2e-legacy.ts +++ /dev/null @@ -1,44 +0,0 @@ -import { expect } from '@playwright/test'; -import { test } from '@utils/test/playwright'; - -test.describe('accordion: a11y', () => { - test('accordions should be keyboard navigable', async ({ page, skip, browserName }) => { - // TODO(FW-1764): remove skip once issue is resolved - skip.browser('firefox', 'https://github.com/ionic-team/ionic-framework/issues/25070'); - // TODO (FW-2979) - skip.browser('webkit', 'Safari 16 only allows text fields and pop-up menus to be focused.'); - - await page.goto(`/src/components/accordion/test/a11y`); - const tabKey = browserName === 'webkit' ? 'Alt+Tab' : 'Tab'; - - const personalInfoHeader = page.locator('ion-accordion:first-child > ion-item'); - const billingAddressHeader = page.locator('ion-accordion:nth-child(2) > ion-item'); - const shippingAddressHeader = page.locator('ion-accordion:nth-child(3) > ion-item'); - const addressInput = page.locator('#address1 input'); - - await page.keyboard.press(tabKey); - await expect(personalInfoHeader).toBeFocused(); - - await page.keyboard.press('ArrowDown'); - await expect(billingAddressHeader).toBeFocused(); - - await page.keyboard.press('ArrowDown'); - await expect(shippingAddressHeader).toBeFocused(); - - await page.keyboard.press('ArrowDown'); - await expect(personalInfoHeader).toBeFocused(); - - await page.keyboard.press('ArrowUp'); - await expect(shippingAddressHeader).toBeFocused(); - - // open Shipping Address accordion and move focus to the input inside it - await page.keyboard.press('Enter'); - await page.waitForChanges(); - await page.keyboard.press(tabKey); - await expect(addressInput).toBeFocused(); - - // ensure keyboard interaction doesn't move focus from body - await page.keyboard.press('ArrowDown'); - await expect(addressInput).toBeFocused(); - }); -}); diff --git a/core/src/components/accordion/test/a11y/accordion.e2e.ts b/core/src/components/accordion/test/a11y/accordion.e2e.ts new file mode 100644 index 0000000000..fce2bcc6c8 --- /dev/null +++ b/core/src/components/accordion/test/a11y/accordion.e2e.ts @@ -0,0 +1,46 @@ +import { expect } from '@playwright/test'; +import { configs, test } from '@utils/test/playwright'; + +configs().forEach(({ config, title }) => { + test.describe(title('accordion: a11y'), () => { + test('accordions should be keyboard navigable', async ({ page, skip, browserName }) => { + // TODO(FW-1764): remove skip once issue is resolved + skip.browser('firefox', 'https://github.com/ionic-team/ionic-framework/issues/25070'); + // TODO (FW-2979) + skip.browser('webkit', 'Safari 16 only allows text fields and pop-up menus to be focused.'); + + await page.goto(`/src/components/accordion/test/a11y`, config); + const tabKey = browserName === 'webkit' ? 'Alt+Tab' : 'Tab'; + + const personalInfoHeader = page.locator('ion-accordion:first-child > ion-item'); + const billingAddressHeader = page.locator('ion-accordion:nth-child(2) > ion-item'); + const shippingAddressHeader = page.locator('ion-accordion:nth-child(3) > ion-item'); + const addressInput = page.locator('#address1 input'); + + await page.keyboard.press(tabKey); + await expect(personalInfoHeader).toBeFocused(); + + await page.keyboard.press('ArrowDown'); + await expect(billingAddressHeader).toBeFocused(); + + await page.keyboard.press('ArrowDown'); + await expect(shippingAddressHeader).toBeFocused(); + + await page.keyboard.press('ArrowDown'); + await expect(personalInfoHeader).toBeFocused(); + + await page.keyboard.press('ArrowUp'); + await expect(shippingAddressHeader).toBeFocused(); + + // open Shipping Address accordion and move focus to the input inside it + await page.keyboard.press('Enter'); + await page.waitForChanges(); + await page.keyboard.press(tabKey); + await expect(addressInput).toBeFocused(); + + // ensure keyboard interaction doesn't move focus from body + await page.keyboard.press('ArrowDown'); + await expect(addressInput).toBeFocused(); + }); + }); +}); diff --git a/core/src/components/accordion/test/accordion.e2e-legacy.ts b/core/src/components/accordion/test/accordion.e2e-legacy.ts deleted file mode 100644 index 92f6017cd6..0000000000 --- a/core/src/components/accordion/test/accordion.e2e-legacy.ts +++ /dev/null @@ -1,56 +0,0 @@ -import { expect } from '@playwright/test'; -import { test } from '@utils/test/playwright'; - -test.describe('accordion: states', () => { - test.beforeEach(({ skip }) => { - skip.rtl(); - skip.mode('ios'); - }); - test('should properly set readonly on child accordions', async ({ page }) => { - await page.setContent(` - - - Label -
Content
-
-
- `); - - const accordionGroup = page.locator('ion-accordion-group'); - const accordion = page.locator('ion-accordion'); - - await expect(accordion).toHaveJSProperty('readonly', false); - - await accordionGroup.evaluate((el: HTMLIonAccordionGroupElement) => { - el.readonly = true; - }); - - await page.waitForChanges(); - - await expect(accordion).toHaveJSProperty('readonly', true); - }); - - test('should properly set disabled on child accordions', async ({ page }) => { - await page.setContent(` - - - Label -
Content
-
-
- `); - - const accordionGroup = page.locator('ion-accordion-group'); - const accordion = page.locator('ion-accordion'); - - await expect(accordion).toHaveJSProperty('disabled', false); - - await accordionGroup.evaluate((el: HTMLIonAccordionGroupElement) => { - el.disabled = true; - }); - - await page.waitForChanges(); - - await expect(accordion).toHaveJSProperty('disabled', true); - }); -}); diff --git a/core/src/components/accordion/test/accordion.e2e.ts b/core/src/components/accordion/test/accordion.e2e.ts new file mode 100644 index 0000000000..f09aa4b1a2 --- /dev/null +++ b/core/src/components/accordion/test/accordion.e2e.ts @@ -0,0 +1,49 @@ +import { expect } from '@playwright/test'; +import { configs, test } from '@utils/test/playwright'; + +configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ config, title }) => { + test.describe(title('accordion: states'), () => { + test.beforeEach(async ({ page }) => { + await page.setContent( + ` + + + Label +
Content
+
+
+ `, + config + ); + }); + test('should properly set readonly on child accordions', async ({ page }) => { + const accordionGroup = page.locator('ion-accordion-group'); + const accordion = page.locator('ion-accordion'); + + await expect(accordion).toHaveJSProperty('readonly', false); + + await accordionGroup.evaluate((el: HTMLIonAccordionGroupElement) => { + el.readonly = true; + }); + + await page.waitForChanges(); + + await expect(accordion).toHaveJSProperty('readonly', true); + }); + + test('should properly set disabled on child accordions', async ({ page }) => { + const accordionGroup = page.locator('ion-accordion-group'); + const accordion = page.locator('ion-accordion'); + + await expect(accordion).toHaveJSProperty('disabled', false); + + await accordionGroup.evaluate((el: HTMLIonAccordionGroupElement) => { + el.disabled = true; + }); + + await page.waitForChanges(); + + await expect(accordion).toHaveJSProperty('disabled', true); + }); + }); +}); diff --git a/core/src/components/accordion/test/basic/accordion.e2e-legacy.ts b/core/src/components/accordion/test/basic/accordion.e2e-legacy.ts deleted file mode 100644 index fae82ec3ad..0000000000 --- a/core/src/components/accordion/test/basic/accordion.e2e-legacy.ts +++ /dev/null @@ -1,74 +0,0 @@ -import { expect } from '@playwright/test'; -import { test } from '@utils/test/playwright'; - -test.describe('accordion: basic', () => { - test('should not have visual regressions', async ({ page }) => { - await page.goto(`/src/components/accordion/test/basic`); - - await page.setIonViewport(); - - await expect(page).toHaveScreenshot(`accordion-basic-${page.getSnapshotSettings()}.png`); - }); -}); - -test.describe('accordion: ionChange', () => { - test.beforeEach(({ skip }) => { - skip.rtl(); - }); - test('should fire ionChange when interacting with accordions', async ({ page }) => { - await page.setContent(` - - - -
First Content
-
- - -
Second Content
-
- - -
Third Content
-
-
- `); - - const ionChange = await page.spyOnEvent('ionChange'); - const accordionHeaders = page.locator('button[slot="header"]'); - - await accordionHeaders.nth(0).click(); - await expect(ionChange).toHaveReceivedEventDetail({ value: 'first' }); - - await accordionHeaders.nth(1).click(); - await expect(ionChange).toHaveReceivedEventDetail({ value: 'second' }); - - await accordionHeaders.nth(2).click(); - await expect(ionChange).toHaveReceivedEventDetail({ value: 'third' }); - }); - - test('should not fire when programmatically setting a valid value', async ({ page }) => { - await page.setContent(` - - - -
First Content
-
- - -
Second Content
-
- - -
Third Content
-
-
- - `); - - const ionChange = await page.spyOnEvent('ionChange'); - const accordionGroup = page.locator('ion-accordion-group'); - - await accordionGroup.evaluate((el: HTMLIonAccordionGroupElement) => (el.value = 'second')); - await expect(ionChange).not.toHaveReceivedEvent(); - }); -}); diff --git a/core/src/components/accordion/test/basic/accordion.e2e.ts b/core/src/components/accordion/test/basic/accordion.e2e.ts new file mode 100644 index 0000000000..b1b855e979 --- /dev/null +++ b/core/src/components/accordion/test/basic/accordion.e2e.ts @@ -0,0 +1,60 @@ +import { expect } from '@playwright/test'; +import { configs, test } from '@utils/test/playwright'; + +configs().forEach(({ config, screenshot, title }) => { + test.describe(title('accordion: basic'), () => { + test('should not have visual regressions', async ({ page }) => { + await page.goto(`/src/components/accordion/test/basic`, config); + + await page.setIonViewport(); + + await expect(page).toHaveScreenshot(screenshot('accordion-basic')); + }); + }); +}); +configs({ directions: ['ltr'] }).forEach(({ config, title }) => { + test.describe(title('accordion: ionChange'), () => { + test.beforeEach(async ({ page }) => { + await page.setContent( + ` + + + +
First Content
+
+ + +
Second Content
+
+ + +
Third Content
+
+
+ `, + config + ); + }); + test('should fire ionChange when interacting with accordions', async ({ page }) => { + const ionChange = await page.spyOnEvent('ionChange'); + const accordionHeaders = page.locator('button[slot="header"]'); + + await accordionHeaders.nth(0).click(); + await expect(ionChange).toHaveReceivedEventDetail({ value: 'first' }); + + await accordionHeaders.nth(1).click(); + await expect(ionChange).toHaveReceivedEventDetail({ value: 'second' }); + + await accordionHeaders.nth(2).click(); + await expect(ionChange).toHaveReceivedEventDetail({ value: 'third' }); + }); + + test('should not fire when programmatically setting a valid value', async ({ page }) => { + const ionChange = await page.spyOnEvent('ionChange'); + const accordionGroup = page.locator('ion-accordion-group'); + + await accordionGroup.evaluate((el: HTMLIonAccordionGroupElement) => (el.value = 'second')); + await expect(ionChange).not.toHaveReceivedEvent(); + }); + }); +}); diff --git a/core/src/components/accordion/test/basic/accordion.e2e-legacy.ts-snapshots/accordion-basic-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/accordion/test/basic/accordion.e2e.ts-snapshots/accordion-basic-ios-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/accordion/test/basic/accordion.e2e-legacy.ts-snapshots/accordion-basic-ios-ltr-Mobile-Chrome-linux.png rename to core/src/components/accordion/test/basic/accordion.e2e.ts-snapshots/accordion-basic-ios-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/accordion/test/basic/accordion.e2e-legacy.ts-snapshots/accordion-basic-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/accordion/test/basic/accordion.e2e.ts-snapshots/accordion-basic-ios-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/accordion/test/basic/accordion.e2e-legacy.ts-snapshots/accordion-basic-ios-ltr-Mobile-Firefox-linux.png rename to core/src/components/accordion/test/basic/accordion.e2e.ts-snapshots/accordion-basic-ios-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/accordion/test/basic/accordion.e2e-legacy.ts-snapshots/accordion-basic-ios-ltr-Mobile-Safari-linux.png b/core/src/components/accordion/test/basic/accordion.e2e.ts-snapshots/accordion-basic-ios-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/accordion/test/basic/accordion.e2e-legacy.ts-snapshots/accordion-basic-ios-ltr-Mobile-Safari-linux.png rename to core/src/components/accordion/test/basic/accordion.e2e.ts-snapshots/accordion-basic-ios-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/accordion/test/basic/accordion.e2e-legacy.ts-snapshots/accordion-basic-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/accordion/test/basic/accordion.e2e.ts-snapshots/accordion-basic-ios-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/accordion/test/basic/accordion.e2e-legacy.ts-snapshots/accordion-basic-ios-rtl-Mobile-Chrome-linux.png rename to core/src/components/accordion/test/basic/accordion.e2e.ts-snapshots/accordion-basic-ios-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/accordion/test/basic/accordion.e2e-legacy.ts-snapshots/accordion-basic-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/accordion/test/basic/accordion.e2e.ts-snapshots/accordion-basic-ios-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/accordion/test/basic/accordion.e2e-legacy.ts-snapshots/accordion-basic-ios-rtl-Mobile-Firefox-linux.png rename to core/src/components/accordion/test/basic/accordion.e2e.ts-snapshots/accordion-basic-ios-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/accordion/test/basic/accordion.e2e-legacy.ts-snapshots/accordion-basic-ios-rtl-Mobile-Safari-linux.png b/core/src/components/accordion/test/basic/accordion.e2e.ts-snapshots/accordion-basic-ios-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/accordion/test/basic/accordion.e2e-legacy.ts-snapshots/accordion-basic-ios-rtl-Mobile-Safari-linux.png rename to core/src/components/accordion/test/basic/accordion.e2e.ts-snapshots/accordion-basic-ios-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/accordion/test/basic/accordion.e2e-legacy.ts-snapshots/accordion-basic-md-ltr-Mobile-Chrome-linux.png b/core/src/components/accordion/test/basic/accordion.e2e.ts-snapshots/accordion-basic-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/accordion/test/basic/accordion.e2e-legacy.ts-snapshots/accordion-basic-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/accordion/test/basic/accordion.e2e.ts-snapshots/accordion-basic-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/accordion/test/basic/accordion.e2e-legacy.ts-snapshots/accordion-basic-md-ltr-Mobile-Firefox-linux.png b/core/src/components/accordion/test/basic/accordion.e2e.ts-snapshots/accordion-basic-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/accordion/test/basic/accordion.e2e-legacy.ts-snapshots/accordion-basic-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/accordion/test/basic/accordion.e2e.ts-snapshots/accordion-basic-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/accordion/test/basic/accordion.e2e-legacy.ts-snapshots/accordion-basic-md-ltr-Mobile-Safari-linux.png b/core/src/components/accordion/test/basic/accordion.e2e.ts-snapshots/accordion-basic-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/accordion/test/basic/accordion.e2e-legacy.ts-snapshots/accordion-basic-md-ltr-Mobile-Safari-linux.png rename to core/src/components/accordion/test/basic/accordion.e2e.ts-snapshots/accordion-basic-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/accordion/test/basic/accordion.e2e-legacy.ts-snapshots/accordion-basic-md-rtl-Mobile-Chrome-linux.png b/core/src/components/accordion/test/basic/accordion.e2e.ts-snapshots/accordion-basic-md-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/accordion/test/basic/accordion.e2e-legacy.ts-snapshots/accordion-basic-md-rtl-Mobile-Chrome-linux.png rename to core/src/components/accordion/test/basic/accordion.e2e.ts-snapshots/accordion-basic-md-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/accordion/test/basic/accordion.e2e-legacy.ts-snapshots/accordion-basic-md-rtl-Mobile-Firefox-linux.png b/core/src/components/accordion/test/basic/accordion.e2e.ts-snapshots/accordion-basic-md-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/accordion/test/basic/accordion.e2e-legacy.ts-snapshots/accordion-basic-md-rtl-Mobile-Firefox-linux.png rename to core/src/components/accordion/test/basic/accordion.e2e.ts-snapshots/accordion-basic-md-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/accordion/test/basic/accordion.e2e-legacy.ts-snapshots/accordion-basic-md-rtl-Mobile-Safari-linux.png b/core/src/components/accordion/test/basic/accordion.e2e.ts-snapshots/accordion-basic-md-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/accordion/test/basic/accordion.e2e-legacy.ts-snapshots/accordion-basic-md-rtl-Mobile-Safari-linux.png rename to core/src/components/accordion/test/basic/accordion.e2e.ts-snapshots/accordion-basic-md-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/accordion/test/multiple/accordion.e2e-legacy.ts b/core/src/components/accordion/test/multiple/accordion.e2e-legacy.ts deleted file mode 100644 index 7e5c2bcc5e..0000000000 --- a/core/src/components/accordion/test/multiple/accordion.e2e-legacy.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { expect } from '@playwright/test'; -import { test } from '@utils/test/playwright'; - -test.describe('accordion: multiple', () => { - test('should update value and visually expand items', async ({ page, skip }) => { - skip.rtl(); - - await page.goto(`/src/components/accordion/test/multiple`); - const accordionGroup = page.locator('ion-accordion-group'); - const diningHeader = page.locator('ion-accordion[value="dining"] ion-item[slot="header"]'); - const attractionsHeader = page.locator('ion-accordion[value="attractions"] ion-item[slot="header"]'); - - await expect(accordionGroup).toHaveJSProperty('value', 'attractions'); - - await expect(accordionGroup).toHaveScreenshot(`accordion-one-open-${page.getSnapshotSettings()}.png`); - - await diningHeader.click(); - await page.waitForChanges(); - - await expect(accordionGroup).toHaveJSProperty('value', ['attractions', 'dining']); - - await expect(accordionGroup).toHaveScreenshot(`accordion-two-open-${page.getSnapshotSettings()}.png`); - - await diningHeader.click(); - await attractionsHeader.click(); - await page.waitForChanges(); - - await expect(accordionGroup).toHaveJSProperty('value', []); - - await expect(accordionGroup).toHaveScreenshot(`accordion-zero-open-${page.getSnapshotSettings()}.png`); - }); -}); diff --git a/core/src/components/accordion/test/multiple/accordion.e2e.ts b/core/src/components/accordion/test/multiple/accordion.e2e.ts new file mode 100644 index 0000000000..49c6e0ef58 --- /dev/null +++ b/core/src/components/accordion/test/multiple/accordion.e2e.ts @@ -0,0 +1,32 @@ +import { expect } from '@playwright/test'; +import { configs, test } from '@utils/test/playwright'; + +configs({ directions: ['ltr'] }).forEach(({ config, screenshot, title }) => { + test.describe(title('accordion: multiple'), () => { + test('should update value and visually expand items', async ({ page }) => { + await page.goto(`/src/components/accordion/test/multiple`, config); + const accordionGroup = page.locator('ion-accordion-group'); + const diningHeader = page.locator('ion-accordion[value="dining"] ion-item[slot="header"]'); + const attractionsHeader = page.locator('ion-accordion[value="attractions"] ion-item[slot="header"]'); + + await expect(accordionGroup).toHaveJSProperty('value', 'attractions'); + + await expect(accordionGroup).toHaveScreenshot(screenshot('accordion-one-open')); + + await diningHeader.click(); + await page.waitForChanges(); + + await expect(accordionGroup).toHaveJSProperty('value', ['attractions', 'dining']); + + await expect(accordionGroup).toHaveScreenshot(screenshot('accordion-two-open')); + + await diningHeader.click(); + await attractionsHeader.click(); + await page.waitForChanges(); + + await expect(accordionGroup).toHaveJSProperty('value', []); + + await expect(accordionGroup).toHaveScreenshot(screenshot('accordion-zero-open')); + }); + }); +}); diff --git a/core/src/components/accordion/test/multiple/accordion.e2e-legacy.ts-snapshots/accordion-one-open-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/accordion/test/multiple/accordion.e2e.ts-snapshots/accordion-one-open-ios-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/accordion/test/multiple/accordion.e2e-legacy.ts-snapshots/accordion-one-open-ios-ltr-Mobile-Chrome-linux.png rename to core/src/components/accordion/test/multiple/accordion.e2e.ts-snapshots/accordion-one-open-ios-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/accordion/test/multiple/accordion.e2e-legacy.ts-snapshots/accordion-one-open-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/accordion/test/multiple/accordion.e2e.ts-snapshots/accordion-one-open-ios-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/accordion/test/multiple/accordion.e2e-legacy.ts-snapshots/accordion-one-open-ios-ltr-Mobile-Firefox-linux.png rename to core/src/components/accordion/test/multiple/accordion.e2e.ts-snapshots/accordion-one-open-ios-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/accordion/test/multiple/accordion.e2e-legacy.ts-snapshots/accordion-one-open-ios-ltr-Mobile-Safari-linux.png b/core/src/components/accordion/test/multiple/accordion.e2e.ts-snapshots/accordion-one-open-ios-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/accordion/test/multiple/accordion.e2e-legacy.ts-snapshots/accordion-one-open-ios-ltr-Mobile-Safari-linux.png rename to core/src/components/accordion/test/multiple/accordion.e2e.ts-snapshots/accordion-one-open-ios-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/accordion/test/multiple/accordion.e2e-legacy.ts-snapshots/accordion-one-open-md-ltr-Mobile-Chrome-linux.png b/core/src/components/accordion/test/multiple/accordion.e2e.ts-snapshots/accordion-one-open-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/accordion/test/multiple/accordion.e2e-legacy.ts-snapshots/accordion-one-open-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/accordion/test/multiple/accordion.e2e.ts-snapshots/accordion-one-open-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/accordion/test/multiple/accordion.e2e-legacy.ts-snapshots/accordion-one-open-md-ltr-Mobile-Firefox-linux.png b/core/src/components/accordion/test/multiple/accordion.e2e.ts-snapshots/accordion-one-open-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/accordion/test/multiple/accordion.e2e-legacy.ts-snapshots/accordion-one-open-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/accordion/test/multiple/accordion.e2e.ts-snapshots/accordion-one-open-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/accordion/test/multiple/accordion.e2e-legacy.ts-snapshots/accordion-one-open-md-ltr-Mobile-Safari-linux.png b/core/src/components/accordion/test/multiple/accordion.e2e.ts-snapshots/accordion-one-open-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/accordion/test/multiple/accordion.e2e-legacy.ts-snapshots/accordion-one-open-md-ltr-Mobile-Safari-linux.png rename to core/src/components/accordion/test/multiple/accordion.e2e.ts-snapshots/accordion-one-open-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/accordion/test/multiple/accordion.e2e-legacy.ts-snapshots/accordion-two-open-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/accordion/test/multiple/accordion.e2e.ts-snapshots/accordion-two-open-ios-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/accordion/test/multiple/accordion.e2e-legacy.ts-snapshots/accordion-two-open-ios-ltr-Mobile-Chrome-linux.png rename to core/src/components/accordion/test/multiple/accordion.e2e.ts-snapshots/accordion-two-open-ios-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/accordion/test/multiple/accordion.e2e-legacy.ts-snapshots/accordion-two-open-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/accordion/test/multiple/accordion.e2e.ts-snapshots/accordion-two-open-ios-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/accordion/test/multiple/accordion.e2e-legacy.ts-snapshots/accordion-two-open-ios-ltr-Mobile-Firefox-linux.png rename to core/src/components/accordion/test/multiple/accordion.e2e.ts-snapshots/accordion-two-open-ios-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/accordion/test/multiple/accordion.e2e-legacy.ts-snapshots/accordion-two-open-ios-ltr-Mobile-Safari-linux.png b/core/src/components/accordion/test/multiple/accordion.e2e.ts-snapshots/accordion-two-open-ios-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/accordion/test/multiple/accordion.e2e-legacy.ts-snapshots/accordion-two-open-ios-ltr-Mobile-Safari-linux.png rename to core/src/components/accordion/test/multiple/accordion.e2e.ts-snapshots/accordion-two-open-ios-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/accordion/test/multiple/accordion.e2e-legacy.ts-snapshots/accordion-two-open-md-ltr-Mobile-Chrome-linux.png b/core/src/components/accordion/test/multiple/accordion.e2e.ts-snapshots/accordion-two-open-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/accordion/test/multiple/accordion.e2e-legacy.ts-snapshots/accordion-two-open-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/accordion/test/multiple/accordion.e2e.ts-snapshots/accordion-two-open-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/accordion/test/multiple/accordion.e2e-legacy.ts-snapshots/accordion-two-open-md-ltr-Mobile-Firefox-linux.png b/core/src/components/accordion/test/multiple/accordion.e2e.ts-snapshots/accordion-two-open-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/accordion/test/multiple/accordion.e2e-legacy.ts-snapshots/accordion-two-open-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/accordion/test/multiple/accordion.e2e.ts-snapshots/accordion-two-open-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/accordion/test/multiple/accordion.e2e-legacy.ts-snapshots/accordion-two-open-md-ltr-Mobile-Safari-linux.png b/core/src/components/accordion/test/multiple/accordion.e2e.ts-snapshots/accordion-two-open-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/accordion/test/multiple/accordion.e2e-legacy.ts-snapshots/accordion-two-open-md-ltr-Mobile-Safari-linux.png rename to core/src/components/accordion/test/multiple/accordion.e2e.ts-snapshots/accordion-two-open-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/accordion/test/multiple/accordion.e2e-legacy.ts-snapshots/accordion-zero-open-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/accordion/test/multiple/accordion.e2e.ts-snapshots/accordion-zero-open-ios-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/accordion/test/multiple/accordion.e2e-legacy.ts-snapshots/accordion-zero-open-ios-ltr-Mobile-Chrome-linux.png rename to core/src/components/accordion/test/multiple/accordion.e2e.ts-snapshots/accordion-zero-open-ios-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/accordion/test/multiple/accordion.e2e-legacy.ts-snapshots/accordion-zero-open-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/accordion/test/multiple/accordion.e2e.ts-snapshots/accordion-zero-open-ios-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/accordion/test/multiple/accordion.e2e-legacy.ts-snapshots/accordion-zero-open-ios-ltr-Mobile-Firefox-linux.png rename to core/src/components/accordion/test/multiple/accordion.e2e.ts-snapshots/accordion-zero-open-ios-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/accordion/test/multiple/accordion.e2e-legacy.ts-snapshots/accordion-zero-open-ios-ltr-Mobile-Safari-linux.png b/core/src/components/accordion/test/multiple/accordion.e2e.ts-snapshots/accordion-zero-open-ios-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/accordion/test/multiple/accordion.e2e-legacy.ts-snapshots/accordion-zero-open-ios-ltr-Mobile-Safari-linux.png rename to core/src/components/accordion/test/multiple/accordion.e2e.ts-snapshots/accordion-zero-open-ios-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/accordion/test/multiple/accordion.e2e-legacy.ts-snapshots/accordion-zero-open-md-ltr-Mobile-Chrome-linux.png b/core/src/components/accordion/test/multiple/accordion.e2e.ts-snapshots/accordion-zero-open-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/accordion/test/multiple/accordion.e2e-legacy.ts-snapshots/accordion-zero-open-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/accordion/test/multiple/accordion.e2e.ts-snapshots/accordion-zero-open-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/accordion/test/multiple/accordion.e2e-legacy.ts-snapshots/accordion-zero-open-md-ltr-Mobile-Firefox-linux.png b/core/src/components/accordion/test/multiple/accordion.e2e.ts-snapshots/accordion-zero-open-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/accordion/test/multiple/accordion.e2e-legacy.ts-snapshots/accordion-zero-open-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/accordion/test/multiple/accordion.e2e.ts-snapshots/accordion-zero-open-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/accordion/test/multiple/accordion.e2e-legacy.ts-snapshots/accordion-zero-open-md-ltr-Mobile-Safari-linux.png b/core/src/components/accordion/test/multiple/accordion.e2e.ts-snapshots/accordion-zero-open-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/accordion/test/multiple/accordion.e2e-legacy.ts-snapshots/accordion-zero-open-md-ltr-Mobile-Safari-linux.png rename to core/src/components/accordion/test/multiple/accordion.e2e.ts-snapshots/accordion-zero-open-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/accordion/test/nested/accordion.e2e-legacy.ts b/core/src/components/accordion/test/nested/accordion.e2e-legacy.ts deleted file mode 100644 index 0b1ff0a331..0000000000 --- a/core/src/components/accordion/test/nested/accordion.e2e-legacy.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { expect } from '@playwright/test'; -import { test } from '@utils/test/playwright'; - -test.describe('accordion: nested', () => { - test.beforeEach(async ({ page, skip }) => { - skip.rtl(); - - await page.goto(`/src/components/accordion/test/nested`); - }); - - test('parent and child should not be disabled', async ({ page }) => { - const enabledGroup = page.locator('ion-accordion-group#enabled'); - - await expect(enabledGroup).toHaveScreenshot(`accordion-nested-enabled-${page.getSnapshotSettings()}.png`); - }); - - test('parent should not be disabled when only child is disabled', async ({ page }) => { - const nestedDisabledGroup = page.locator('ion-accordion-group#nested-disabled'); - - await expect(nestedDisabledGroup).toHaveScreenshot(`accordion-child-disabled-${page.getSnapshotSettings()}.png`); - }); - - test('parent and child should be disabled when parent is disabled', async ({ page }) => { - const parentDisabledGroup = page.locator('ion-accordion-group#parent-disabled'); - - await expect(parentDisabledGroup).toHaveScreenshot(`accordion-parent-disabled-${page.getSnapshotSettings()}.png`); - }); -}); diff --git a/core/src/components/accordion/test/nested/accordion.e2e.ts b/core/src/components/accordion/test/nested/accordion.e2e.ts new file mode 100644 index 0000000000..a0a1322649 --- /dev/null +++ b/core/src/components/accordion/test/nested/accordion.e2e.ts @@ -0,0 +1,30 @@ +import { expect } from '@playwright/test'; +import { configs, test } from '@utils/test/playwright'; + +configs({ directions: ['ltr'] }).forEach(({ config, screenshot, title }) => { + test.describe(title('accordion: nested'), () => { + test('parent and child should not be disabled', async ({ page }) => { + await page.goto(`/src/components/accordion/test/nested`, config); + + const enabledGroup = page.locator('ion-accordion-group#enabled'); + + await expect(enabledGroup).toHaveScreenshot(screenshot('accordion-nested-enabled')); + }); + + test('parent should not be disabled when only child is disabled', async ({ page }) => { + await page.goto(`/src/components/accordion/test/nested`, config); + + const nestedDisabledGroup = page.locator('ion-accordion-group#nested-disabled'); + + await expect(nestedDisabledGroup).toHaveScreenshot(screenshot('accordion-child-disabled')); + }); + + test('parent and child should be disabled when parent is disabled', async ({ page }) => { + await page.goto(`/src/components/accordion/test/nested`, config); + + const parentDisabledGroup = page.locator('ion-accordion-group#parent-disabled'); + + await expect(parentDisabledGroup).toHaveScreenshot(screenshot('accordion-parent-disabled')); + }); + }); +}); diff --git a/core/src/components/accordion/test/nested/accordion.e2e-legacy.ts-snapshots/accordion-child-disabled-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/accordion/test/nested/accordion.e2e.ts-snapshots/accordion-child-disabled-ios-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/accordion/test/nested/accordion.e2e-legacy.ts-snapshots/accordion-child-disabled-ios-ltr-Mobile-Chrome-linux.png rename to core/src/components/accordion/test/nested/accordion.e2e.ts-snapshots/accordion-child-disabled-ios-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/accordion/test/nested/accordion.e2e-legacy.ts-snapshots/accordion-child-disabled-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/accordion/test/nested/accordion.e2e.ts-snapshots/accordion-child-disabled-ios-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/accordion/test/nested/accordion.e2e-legacy.ts-snapshots/accordion-child-disabled-ios-ltr-Mobile-Firefox-linux.png rename to core/src/components/accordion/test/nested/accordion.e2e.ts-snapshots/accordion-child-disabled-ios-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/accordion/test/nested/accordion.e2e-legacy.ts-snapshots/accordion-child-disabled-ios-ltr-Mobile-Safari-linux.png b/core/src/components/accordion/test/nested/accordion.e2e.ts-snapshots/accordion-child-disabled-ios-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/accordion/test/nested/accordion.e2e-legacy.ts-snapshots/accordion-child-disabled-ios-ltr-Mobile-Safari-linux.png rename to core/src/components/accordion/test/nested/accordion.e2e.ts-snapshots/accordion-child-disabled-ios-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/accordion/test/nested/accordion.e2e-legacy.ts-snapshots/accordion-child-disabled-md-ltr-Mobile-Chrome-linux.png b/core/src/components/accordion/test/nested/accordion.e2e.ts-snapshots/accordion-child-disabled-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/accordion/test/nested/accordion.e2e-legacy.ts-snapshots/accordion-child-disabled-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/accordion/test/nested/accordion.e2e.ts-snapshots/accordion-child-disabled-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/accordion/test/nested/accordion.e2e-legacy.ts-snapshots/accordion-child-disabled-md-ltr-Mobile-Firefox-linux.png b/core/src/components/accordion/test/nested/accordion.e2e.ts-snapshots/accordion-child-disabled-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/accordion/test/nested/accordion.e2e-legacy.ts-snapshots/accordion-child-disabled-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/accordion/test/nested/accordion.e2e.ts-snapshots/accordion-child-disabled-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/accordion/test/nested/accordion.e2e-legacy.ts-snapshots/accordion-child-disabled-md-ltr-Mobile-Safari-linux.png b/core/src/components/accordion/test/nested/accordion.e2e.ts-snapshots/accordion-child-disabled-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/accordion/test/nested/accordion.e2e-legacy.ts-snapshots/accordion-child-disabled-md-ltr-Mobile-Safari-linux.png rename to core/src/components/accordion/test/nested/accordion.e2e.ts-snapshots/accordion-child-disabled-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/accordion/test/nested/accordion.e2e-legacy.ts-snapshots/accordion-nested-enabled-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/accordion/test/nested/accordion.e2e.ts-snapshots/accordion-nested-enabled-ios-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/accordion/test/nested/accordion.e2e-legacy.ts-snapshots/accordion-nested-enabled-ios-ltr-Mobile-Chrome-linux.png rename to core/src/components/accordion/test/nested/accordion.e2e.ts-snapshots/accordion-nested-enabled-ios-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/accordion/test/nested/accordion.e2e-legacy.ts-snapshots/accordion-nested-enabled-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/accordion/test/nested/accordion.e2e.ts-snapshots/accordion-nested-enabled-ios-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/accordion/test/nested/accordion.e2e-legacy.ts-snapshots/accordion-nested-enabled-ios-ltr-Mobile-Firefox-linux.png rename to core/src/components/accordion/test/nested/accordion.e2e.ts-snapshots/accordion-nested-enabled-ios-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/accordion/test/nested/accordion.e2e-legacy.ts-snapshots/accordion-nested-enabled-ios-ltr-Mobile-Safari-linux.png b/core/src/components/accordion/test/nested/accordion.e2e.ts-snapshots/accordion-nested-enabled-ios-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/accordion/test/nested/accordion.e2e-legacy.ts-snapshots/accordion-nested-enabled-ios-ltr-Mobile-Safari-linux.png rename to core/src/components/accordion/test/nested/accordion.e2e.ts-snapshots/accordion-nested-enabled-ios-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/accordion/test/nested/accordion.e2e-legacy.ts-snapshots/accordion-nested-enabled-md-ltr-Mobile-Chrome-linux.png b/core/src/components/accordion/test/nested/accordion.e2e.ts-snapshots/accordion-nested-enabled-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/accordion/test/nested/accordion.e2e-legacy.ts-snapshots/accordion-nested-enabled-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/accordion/test/nested/accordion.e2e.ts-snapshots/accordion-nested-enabled-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/accordion/test/nested/accordion.e2e-legacy.ts-snapshots/accordion-nested-enabled-md-ltr-Mobile-Firefox-linux.png b/core/src/components/accordion/test/nested/accordion.e2e.ts-snapshots/accordion-nested-enabled-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/accordion/test/nested/accordion.e2e-legacy.ts-snapshots/accordion-nested-enabled-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/accordion/test/nested/accordion.e2e.ts-snapshots/accordion-nested-enabled-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/accordion/test/nested/accordion.e2e-legacy.ts-snapshots/accordion-nested-enabled-md-ltr-Mobile-Safari-linux.png b/core/src/components/accordion/test/nested/accordion.e2e.ts-snapshots/accordion-nested-enabled-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/accordion/test/nested/accordion.e2e-legacy.ts-snapshots/accordion-nested-enabled-md-ltr-Mobile-Safari-linux.png rename to core/src/components/accordion/test/nested/accordion.e2e.ts-snapshots/accordion-nested-enabled-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/accordion/test/nested/accordion.e2e-legacy.ts-snapshots/accordion-parent-disabled-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/accordion/test/nested/accordion.e2e.ts-snapshots/accordion-parent-disabled-ios-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/accordion/test/nested/accordion.e2e-legacy.ts-snapshots/accordion-parent-disabled-ios-ltr-Mobile-Chrome-linux.png rename to core/src/components/accordion/test/nested/accordion.e2e.ts-snapshots/accordion-parent-disabled-ios-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/accordion/test/nested/accordion.e2e-legacy.ts-snapshots/accordion-parent-disabled-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/accordion/test/nested/accordion.e2e.ts-snapshots/accordion-parent-disabled-ios-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/accordion/test/nested/accordion.e2e-legacy.ts-snapshots/accordion-parent-disabled-ios-ltr-Mobile-Firefox-linux.png rename to core/src/components/accordion/test/nested/accordion.e2e.ts-snapshots/accordion-parent-disabled-ios-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/accordion/test/nested/accordion.e2e-legacy.ts-snapshots/accordion-parent-disabled-ios-ltr-Mobile-Safari-linux.png b/core/src/components/accordion/test/nested/accordion.e2e.ts-snapshots/accordion-parent-disabled-ios-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/accordion/test/nested/accordion.e2e-legacy.ts-snapshots/accordion-parent-disabled-ios-ltr-Mobile-Safari-linux.png rename to core/src/components/accordion/test/nested/accordion.e2e.ts-snapshots/accordion-parent-disabled-ios-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/accordion/test/nested/accordion.e2e-legacy.ts-snapshots/accordion-parent-disabled-md-ltr-Mobile-Chrome-linux.png b/core/src/components/accordion/test/nested/accordion.e2e.ts-snapshots/accordion-parent-disabled-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/accordion/test/nested/accordion.e2e-legacy.ts-snapshots/accordion-parent-disabled-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/accordion/test/nested/accordion.e2e.ts-snapshots/accordion-parent-disabled-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/accordion/test/nested/accordion.e2e-legacy.ts-snapshots/accordion-parent-disabled-md-ltr-Mobile-Firefox-linux.png b/core/src/components/accordion/test/nested/accordion.e2e.ts-snapshots/accordion-parent-disabled-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/accordion/test/nested/accordion.e2e-legacy.ts-snapshots/accordion-parent-disabled-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/accordion/test/nested/accordion.e2e.ts-snapshots/accordion-parent-disabled-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/accordion/test/nested/accordion.e2e-legacy.ts-snapshots/accordion-parent-disabled-md-ltr-Mobile-Safari-linux.png b/core/src/components/accordion/test/nested/accordion.e2e.ts-snapshots/accordion-parent-disabled-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/accordion/test/nested/accordion.e2e-legacy.ts-snapshots/accordion-parent-disabled-md-ltr-Mobile-Safari-linux.png rename to core/src/components/accordion/test/nested/accordion.e2e.ts-snapshots/accordion-parent-disabled-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/accordion/test/standalone/accordion.e2e-legacy.ts b/core/src/components/accordion/test/standalone/accordion.e2e-legacy.ts deleted file mode 100644 index 23546c8960..0000000000 --- a/core/src/components/accordion/test/standalone/accordion.e2e-legacy.ts +++ /dev/null @@ -1,13 +0,0 @@ -import AxeBuilder from '@axe-core/playwright'; -import { expect } from '@playwright/test'; -import { test } from '@utils/test/playwright'; - -test.describe('accordion: standalone', () => { - test('should not have accessibility violations', async ({ page }) => { - await page.goto(`/src/components/accordion/test/standalone`); - - const results = await new AxeBuilder({ page }).analyze(); - - expect(results.violations).toEqual([]); - }); -}); diff --git a/core/src/components/accordion/test/standalone/accordion.e2e.ts b/core/src/components/accordion/test/standalone/accordion.e2e.ts new file mode 100644 index 0000000000..61e4e47537 --- /dev/null +++ b/core/src/components/accordion/test/standalone/accordion.e2e.ts @@ -0,0 +1,15 @@ +import AxeBuilder from '@axe-core/playwright'; +import { expect } from '@playwright/test'; +import { configs, test } from '@utils/test/playwright'; + +configs().forEach(({ config, title }) => { + test.describe(title('accordion: standalone'), () => { + test('should not have accessibility violations', async ({ page }) => { + await page.goto(`/src/components/accordion/test/standalone`, config); + + const results = await new AxeBuilder({ page }).analyze(); + + expect(results.violations).toEqual([]); + }); + }); +});