diff --git a/core/src/components/datetime-button/test/basic/datetime-button.e2e-legacy.ts b/core/src/components/datetime-button/test/basic/datetime-button.e2e-legacy.ts deleted file mode 100644 index 928a609035..0000000000 --- a/core/src/components/datetime-button/test/basic/datetime-button.e2e-legacy.ts +++ /dev/null @@ -1,185 +0,0 @@ -import { expect } from '@playwright/test'; -import { test } from '@utils/test/playwright'; - -test.describe('datetime-button: switching to correct view', () => { - test.beforeEach(async ({ page, skip }) => { - skip.rtl(); - skip.mode('ios', 'No mode-specific logic'); - - await page.setContent(` - - - `); - await page.waitForSelector('.datetime-ready'); - }); - test('should switch to a date-only view when the date button is clicked', async ({ page }) => { - const datetime = page.locator('ion-datetime'); - await expect(datetime).toHaveJSProperty('presentation', 'date-time'); - - await page.click('#date-button'); - await page.waitForChanges(); - - await expect(datetime).toHaveJSProperty('presentation', 'date'); - }); - test('should switch to a time-only view when the time button is clicked', async ({ page }) => { - const datetime = page.locator('ion-datetime'); - await expect(datetime).toHaveJSProperty('presentation', 'date-time'); - - await page.click('#time-button'); - await page.waitForChanges(); - - await expect(datetime).toHaveJSProperty('presentation', 'time'); - }); -}); - -test.describe('datetime-button: labels', () => { - test.beforeEach(({ skip }) => { - skip.rtl(); - skip.mode('ios', 'No mode-specific logic'); - }); - test('should set date and time labels in separate buttons', async ({ page }) => { - await page.setContent(` - - - `); - await page.waitForSelector('.datetime-ready'); - - await expect(page.locator('#date-button')).toContainText('Jan 1, 2022'); - await expect(page.locator('#time-button')).toContainText('6:30 AM'); - }); - test('should set only month and year', async ({ page }) => { - await page.setContent(` - - - `); - await page.waitForSelector('.datetime-ready'); - - await expect(page.locator('#date-button')).toContainText('January 2022'); - await expect(page.locator('#time-button')).toBeHidden(); - }); - test('should set only year', async ({ page }) => { - await page.setContent(` - - - `); - await page.waitForSelector('.datetime-ready'); - - await expect(page.locator('#date-button')).toContainText('2022'); - await expect(page.locator('#time-button')).toBeHidden(); - }); - test('should set only month', async ({ page }) => { - await page.setContent(` - - - `); - await page.waitForSelector('.datetime-ready'); - - await expect(page.locator('#date-button')).toContainText('January'); - await expect(page.locator('#time-button')).toBeHidden(); - }); - test('should set only time', async ({ page }) => { - await page.setContent(` - - - `); - await page.waitForSelector('.datetime-ready'); - - await expect(page.locator('#time-button')).toContainText('6:30 AM'); - await expect(page.locator('#date-button')).toBeHidden(); - }); - test('should update the label when the value of the datetime changes', async ({ page }) => { - await page.setContent(` - - - `); - await page.waitForSelector('.datetime-ready'); - - const datetime = page.locator('ion-datetime'); - const dateTarget = page.locator('#date-button'); - - await expect(dateTarget).toContainText('Jan 1, 2022'); - - await datetime.evaluate((el: HTMLIonDatetimeElement) => (el.value = '2023-05-10')); - await page.waitForChanges(); - - await expect(dateTarget).toContainText('May 10, 2023'); - }); -}); - -test.describe('datetime-button: locale', () => { - test.beforeEach(({ skip }) => { - skip.rtl(); - skip.mode('ios', 'No mode-specific logic'); - }); - test('should use the same locale as datetime', async ({ page }) => { - await page.setContent(` - - - `); - await page.waitForSelector('.datetime-ready'); - - /** - * The entire text reads 1 ene 2022, but some browsers will add - * a period after "ene". Just checking ene allows us to verify the - * behavior while avoiding these cross browser differences. - */ - await expect(page.locator('#date-button')).toContainText(/ene/); - await expect(page.locator('#time-button')).toContainText('6:30'); - }); - test('should respect hour cycle even if different from locale default', async ({ page }) => { - await page.setContent(` - - - `); - await page.waitForSelector('.datetime-ready'); - - await expect(page.locator('#time-button')).toContainText('16:30'); - }); - test('should ignore the timezone when selecting a date', async ({ page }) => { - await page.setContent(` - - - `); - await page.waitForSelector('.datetime-ready'); - - const timeTarget = page.locator('#time-button'); - await expect(timeTarget).toContainText('6:30'); - - const firstOfMonth = page.locator('ion-datetime .calendar-day[data-month="1"][data-day="1"]'); - await firstOfMonth.click(); - await page.waitForChanges(); - - await expect(timeTarget).toContainText('6:30'); - }); -}); - -test.describe('datetime-button: wheel', () => { - test.beforeEach(({ skip }) => { - skip.rtl(); - skip.mode('ios', 'No mode-specific logic'); - }); - test('should only show a single date button when presentation="date-time" and prefer-wheel="true"', async ({ - page, - }) => { - await page.setContent(` - - - `); - await page.waitForSelector('.datetime-ready'); - - await expect(page.locator('#date-button')).toContainText('Jan 1, 2022 6:30 AM'); - await expect(page.locator('#time-button')).not.toBeVisible(); - }); - test('should only show a single date button when presentation="time-date" and prefer-wheel="true"', async ({ - page, - }) => { - await page.setContent(` - - - `); - await page.waitForSelector('.datetime-ready'); - - await expect(page.locator('#date-button')).toContainText('Jan 1, 2022 6:30 AM'); - await expect(page.locator('#time-button')).not.toBeVisible(); - }); -}); diff --git a/core/src/components/datetime-button/test/basic/datetime-button.e2e.ts b/core/src/components/datetime-button/test/basic/datetime-button.e2e.ts new file mode 100644 index 0000000000..998d57fec2 --- /dev/null +++ b/core/src/components/datetime-button/test/basic/datetime-button.e2e.ts @@ -0,0 +1,211 @@ +import { expect } from '@playwright/test'; +import { configs, test } from '@utils/test/playwright'; + +/** + * The tested behavior does not + * vary across modes/directions + */ +configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => { + test.describe(title('datetime-button: switching to correct view'), () => { + test.beforeEach(async ({ page }) => { + await page.setContent( + ` + + + `, + config + ); + await page.waitForSelector('.datetime-ready'); + }); + test('should switch to a date-only view when the date button is clicked', async ({ page }) => { + const datetime = page.locator('ion-datetime'); + await expect(datetime).toHaveJSProperty('presentation', 'date-time'); + + await page.click('#date-button'); + await page.waitForChanges(); + + await expect(datetime).toHaveJSProperty('presentation', 'date'); + }); + test('should switch to a time-only view when the time button is clicked', async ({ page }) => { + const datetime = page.locator('ion-datetime'); + await expect(datetime).toHaveJSProperty('presentation', 'date-time'); + + await page.click('#time-button'); + await page.waitForChanges(); + + await expect(datetime).toHaveJSProperty('presentation', 'time'); + }); + }); + test.describe(title('datetime-button: labels'), () => { + test('should set date and time labels in separate buttons', async ({ page }) => { + await page.setContent( + ` + + + `, + config + ); + await page.waitForSelector('.datetime-ready'); + + await expect(page.locator('#date-button')).toContainText('Jan 1, 2022'); + await expect(page.locator('#time-button')).toContainText('6:30 AM'); + }); + test('should set only month and year', async ({ page }) => { + await page.setContent( + ` + + + `, + config + ); + await page.waitForSelector('.datetime-ready'); + + await expect(page.locator('#date-button')).toContainText('January 2022'); + await expect(page.locator('#time-button')).toBeHidden(); + }); + test('should set only year', async ({ page }) => { + await page.setContent( + ` + + + `, + config + ); + await page.waitForSelector('.datetime-ready'); + + await expect(page.locator('#date-button')).toContainText('2022'); + await expect(page.locator('#time-button')).toBeHidden(); + }); + test('should set only month', async ({ page }) => { + await page.setContent( + ` + + + `, + config + ); + await page.waitForSelector('.datetime-ready'); + + await expect(page.locator('#date-button')).toContainText('January'); + await expect(page.locator('#time-button')).toBeHidden(); + }); + test('should set only time', async ({ page }) => { + await page.setContent( + ` + + + `, + config + ); + await page.waitForSelector('.datetime-ready'); + + await expect(page.locator('#time-button')).toContainText('6:30 AM'); + await expect(page.locator('#date-button')).toBeHidden(); + }); + test('should update the label when the value of the datetime changes', async ({ page }) => { + await page.setContent( + ` + + + `, + config + ); + await page.waitForSelector('.datetime-ready'); + + const datetime = page.locator('ion-datetime'); + const dateTarget = page.locator('#date-button'); + + await expect(dateTarget).toContainText('Jan 1, 2022'); + + await datetime.evaluate((el: HTMLIonDatetimeElement) => (el.value = '2023-05-10')); + await page.waitForChanges(); + + await expect(dateTarget).toContainText('May 10, 2023'); + }); + }); + + test.describe(title('datetime-button: locale'), () => { + test('should use the same locale as datetime', async ({ page }) => { + await page.setContent( + ` + + + `, + config + ); + await page.waitForSelector('.datetime-ready'); + + /** + * The entire text reads 1 ene 2022, but some browsers will add + * a period after "ene". Just checking ene allows us to verify the + * behavior while avoiding these cross browser differences. + */ + await expect(page.locator('#date-button')).toContainText(/ene/); + await expect(page.locator('#time-button')).toContainText('6:30'); + }); + test('should respect hour cycle even if different from locale default', async ({ page }) => { + await page.setContent( + ` + + + `, + config + ); + await page.waitForSelector('.datetime-ready'); + + await expect(page.locator('#time-button')).toContainText('16:30'); + }); + test('should ignore the timezone when selecting a date', async ({ page }) => { + await page.setContent( + ` + + + `, + config + ); + await page.waitForSelector('.datetime-ready'); + + const timeTarget = page.locator('#time-button'); + await expect(timeTarget).toContainText('6:30'); + + const firstOfMonth = page.locator('ion-datetime .calendar-day[data-month="1"][data-day="1"]'); + await firstOfMonth.click(); + await page.waitForChanges(); + + await expect(timeTarget).toContainText('6:30'); + }); + }); + + test.describe(title('datetime-button: wheel'), () => { + test('should only show a single date button when presentation="date-time" and prefer-wheel="true"', async ({ + page, + }) => { + await page.setContent( + ` + + + `, + config + ); + await page.waitForSelector('.datetime-ready'); + + await expect(page.locator('#date-button')).toContainText('Jan 1, 2022 6:30 AM'); + await expect(page.locator('#time-button')).not.toBeVisible(); + }); + test('should only show a single date button when presentation="time-date" and prefer-wheel="true"', async ({ + page, + }) => { + await page.setContent( + ` + + + `, + config + ); + await page.waitForSelector('.datetime-ready'); + + await expect(page.locator('#date-button')).toContainText('Jan 1, 2022 6:30 AM'); + await expect(page.locator('#time-button')).not.toBeVisible(); + }); + }); +}); diff --git a/core/src/components/datetime-button/test/disabled/datetime-button.e2e-legacy.ts b/core/src/components/datetime-button/test/disabled/datetime-button.e2e-legacy.ts deleted file mode 100644 index 588973149b..0000000000 --- a/core/src/components/datetime-button/test/disabled/datetime-button.e2e-legacy.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { expect } from '@playwright/test'; -import { test } from '@utils/test/playwright'; - -test.describe('datetime-button: disabled buttons', () => { - test('buttons should not be enabled when component is disabled', async ({ page, skip }) => { - skip.rtl(); - skip.mode('ios', 'No mode-specific logic'); - - await page.setContent(` - - - `); - await page.waitForSelector('.datetime-ready'); - - await expect(page.locator('#date-button')).toBeDisabled(); - await expect(page.locator('#time-button')).toBeDisabled(); - }); - test('buttons should visually be disabled', async ({ page }) => { - await page.setContent(` - - - `); - await page.waitForSelector('.datetime-ready'); - - const datetimeButton = page.locator('ion-datetime-button'); - await expect(datetimeButton).toHaveScreenshot(`datetime-button-disabled-${page.getSnapshotSettings()}.png`); - }); -}); diff --git a/core/src/components/datetime-button/test/disabled/datetime-button.e2e.ts b/core/src/components/datetime-button/test/disabled/datetime-button.e2e.ts new file mode 100644 index 0000000000..23ef52821f --- /dev/null +++ b/core/src/components/datetime-button/test/disabled/datetime-button.e2e.ts @@ -0,0 +1,33 @@ +import { expect } from '@playwright/test'; +import { configs, test } from '@utils/test/playwright'; + +configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, screenshot, config }) => { + test.describe(title('datetime-button: disabled buttons'), () => { + test('buttons should not be enabled when component is disabled', async ({ page }) => { + await page.setContent( + ` + + + `, + config + ); + await page.waitForSelector('.datetime-ready'); + + await expect(page.locator('#date-button')).toBeDisabled(); + await expect(page.locator('#time-button')).toBeDisabled(); + }); + test('buttons should visually be disabled', async ({ page }) => { + await page.setContent( + ` + + + `, + config + ); + await page.waitForSelector('.datetime-ready'); + + const datetimeButton = page.locator('ion-datetime-button'); + await expect(datetimeButton).toHaveScreenshot(screenshot(`datetime-button-disabled`)); + }); + }); +}); diff --git a/core/src/components/datetime-button/test/disabled/datetime-button.e2e-legacy.ts-snapshots/datetime-button-disabled-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime-button/test/disabled/datetime-button.e2e.ts-snapshots/datetime-button-disabled-ios-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/datetime-button/test/disabled/datetime-button.e2e-legacy.ts-snapshots/datetime-button-disabled-ios-ltr-Mobile-Chrome-linux.png rename to core/src/components/datetime-button/test/disabled/datetime-button.e2e.ts-snapshots/datetime-button-disabled-ios-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/datetime-button/test/disabled/datetime-button.e2e-legacy.ts-snapshots/datetime-button-disabled-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime-button/test/disabled/datetime-button.e2e.ts-snapshots/datetime-button-disabled-ios-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/datetime-button/test/disabled/datetime-button.e2e-legacy.ts-snapshots/datetime-button-disabled-ios-ltr-Mobile-Firefox-linux.png rename to core/src/components/datetime-button/test/disabled/datetime-button.e2e.ts-snapshots/datetime-button-disabled-ios-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/datetime-button/test/disabled/datetime-button.e2e-legacy.ts-snapshots/datetime-button-disabled-ios-ltr-Mobile-Safari-linux.png b/core/src/components/datetime-button/test/disabled/datetime-button.e2e.ts-snapshots/datetime-button-disabled-ios-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/datetime-button/test/disabled/datetime-button.e2e-legacy.ts-snapshots/datetime-button-disabled-ios-ltr-Mobile-Safari-linux.png rename to core/src/components/datetime-button/test/disabled/datetime-button.e2e.ts-snapshots/datetime-button-disabled-ios-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/datetime-button/test/disabled/datetime-button.e2e-legacy.ts-snapshots/datetime-button-disabled-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime-button/test/disabled/datetime-button.e2e.ts-snapshots/datetime-button-disabled-ios-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/datetime-button/test/disabled/datetime-button.e2e-legacy.ts-snapshots/datetime-button-disabled-ios-rtl-Mobile-Chrome-linux.png rename to core/src/components/datetime-button/test/disabled/datetime-button.e2e.ts-snapshots/datetime-button-disabled-ios-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/datetime-button/test/disabled/datetime-button.e2e-legacy.ts-snapshots/datetime-button-disabled-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime-button/test/disabled/datetime-button.e2e.ts-snapshots/datetime-button-disabled-ios-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/datetime-button/test/disabled/datetime-button.e2e-legacy.ts-snapshots/datetime-button-disabled-ios-rtl-Mobile-Firefox-linux.png rename to core/src/components/datetime-button/test/disabled/datetime-button.e2e.ts-snapshots/datetime-button-disabled-ios-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/datetime-button/test/disabled/datetime-button.e2e-legacy.ts-snapshots/datetime-button-disabled-ios-rtl-Mobile-Safari-linux.png b/core/src/components/datetime-button/test/disabled/datetime-button.e2e.ts-snapshots/datetime-button-disabled-ios-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/datetime-button/test/disabled/datetime-button.e2e-legacy.ts-snapshots/datetime-button-disabled-ios-rtl-Mobile-Safari-linux.png rename to core/src/components/datetime-button/test/disabled/datetime-button.e2e.ts-snapshots/datetime-button-disabled-ios-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/datetime-button/test/disabled/datetime-button.e2e-legacy.ts-snapshots/datetime-button-disabled-md-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime-button/test/disabled/datetime-button.e2e.ts-snapshots/datetime-button-disabled-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/datetime-button/test/disabled/datetime-button.e2e-legacy.ts-snapshots/datetime-button-disabled-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/datetime-button/test/disabled/datetime-button.e2e.ts-snapshots/datetime-button-disabled-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/datetime-button/test/disabled/datetime-button.e2e-legacy.ts-snapshots/datetime-button-disabled-md-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime-button/test/disabled/datetime-button.e2e.ts-snapshots/datetime-button-disabled-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/datetime-button/test/disabled/datetime-button.e2e-legacy.ts-snapshots/datetime-button-disabled-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/datetime-button/test/disabled/datetime-button.e2e.ts-snapshots/datetime-button-disabled-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/datetime-button/test/disabled/datetime-button.e2e-legacy.ts-snapshots/datetime-button-disabled-md-ltr-Mobile-Safari-linux.png b/core/src/components/datetime-button/test/disabled/datetime-button.e2e.ts-snapshots/datetime-button-disabled-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/datetime-button/test/disabled/datetime-button.e2e-legacy.ts-snapshots/datetime-button-disabled-md-ltr-Mobile-Safari-linux.png rename to core/src/components/datetime-button/test/disabled/datetime-button.e2e.ts-snapshots/datetime-button-disabled-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/datetime-button/test/disabled/datetime-button.e2e-legacy.ts-snapshots/datetime-button-disabled-md-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime-button/test/disabled/datetime-button.e2e.ts-snapshots/datetime-button-disabled-md-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/datetime-button/test/disabled/datetime-button.e2e-legacy.ts-snapshots/datetime-button-disabled-md-rtl-Mobile-Chrome-linux.png rename to core/src/components/datetime-button/test/disabled/datetime-button.e2e.ts-snapshots/datetime-button-disabled-md-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/datetime-button/test/disabled/datetime-button.e2e-legacy.ts-snapshots/datetime-button-disabled-md-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime-button/test/disabled/datetime-button.e2e.ts-snapshots/datetime-button-disabled-md-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/datetime-button/test/disabled/datetime-button.e2e-legacy.ts-snapshots/datetime-button-disabled-md-rtl-Mobile-Firefox-linux.png rename to core/src/components/datetime-button/test/disabled/datetime-button.e2e.ts-snapshots/datetime-button-disabled-md-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/datetime-button/test/disabled/datetime-button.e2e-legacy.ts-snapshots/datetime-button-disabled-md-rtl-Mobile-Safari-linux.png b/core/src/components/datetime-button/test/disabled/datetime-button.e2e.ts-snapshots/datetime-button-disabled-md-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/datetime-button/test/disabled/datetime-button.e2e-legacy.ts-snapshots/datetime-button-disabled-md-rtl-Mobile-Safari-linux.png rename to core/src/components/datetime-button/test/disabled/datetime-button.e2e.ts-snapshots/datetime-button-disabled-md-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/datetime-button/test/multiple/datetime-button.e2e-legacy.ts b/core/src/components/datetime-button/test/multiple/datetime-button.e2e-legacy.ts deleted file mode 100644 index 7f0bb994d1..0000000000 --- a/core/src/components/datetime-button/test/multiple/datetime-button.e2e-legacy.ts +++ /dev/null @@ -1,100 +0,0 @@ -import { expect } from '@playwright/test'; -import { test } from '@utils/test/playwright'; - -test.describe('datetime-button: multiple selection', () => { - test.beforeEach(async ({ skip }) => { - skip.rtl(); - skip.mode('ios', 'No mode-specific logic'); - }); - test('should render number of dates when more than 1 date is selected', async ({ page }) => { - await page.setContent(` - - - - - `); - await page.waitForSelector('.datetime-ready'); - - await expect(page.locator('#date-button')).toContainText('3 days'); - }); - test('should render number of dates when 0 dates are selected', async ({ page }) => { - await page.setContent(` - - - `); - await page.waitForSelector('.datetime-ready'); - - await expect(page.locator('#date-button')).toHaveText('0 days'); - }); - test('should render date when only 1 day is selected', async ({ page }) => { - await page.setContent(` - - - - - `); - await page.waitForSelector('.datetime-ready'); - - await expect(page.locator('#date-button')).toHaveText('Jun 1, 2022'); - }); - test('should use customFormatter', async ({ page }) => { - await page.setContent(` - - - - - `); - await page.waitForSelector('.datetime-ready'); - - await expect(page.locator('#date-button')).toHaveText('Selected: 3'); - }); - test('should re-render when value is programmatically changed', async ({ page }) => { - await page.setContent(` - - - - - `); - await page.waitForSelector('.datetime-ready'); - - const datetime = page.locator('ion-datetime'); - const ionValueChange = await page.spyOnEvent('ionValueChange'); - const dateButton = page.locator('#date-button'); - await expect(dateButton).toHaveText('2 days'); - - await datetime.evaluate((el: HTMLIonDatetimeElement) => (el.value = ['2022-06-01', '2022-06-02', '2022-06-03'])); - await ionValueChange.next(); - - await expect(dateButton).toHaveText('3 days'); - }); - test('should render single date if datetime is used incorrectly', async ({ page }) => { - await page.setContent(` - - - - - `); - await page.waitForSelector('.datetime-ready'); - - await expect(page.locator('#date-button')).toHaveText('Jun 1, 2022'); - await expect(page.locator('#time-button')).toHaveText('4:30 PM'); - }); -}); diff --git a/core/src/components/datetime-button/test/multiple/datetime-button.e2e.ts b/core/src/components/datetime-button/test/multiple/datetime-button.e2e.ts new file mode 100644 index 0000000000..901ddc74be --- /dev/null +++ b/core/src/components/datetime-button/test/multiple/datetime-button.e2e.ts @@ -0,0 +1,120 @@ +import { expect } from '@playwright/test'; +import { configs, test } from '@utils/test/playwright'; + +/** + * The tested behavior does not + * vary across modes/directions + */ +configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => { + test.describe(title('datetime-button: multiple selection'), () => { + test('should render number of dates when more than 1 date is selected', async ({ page }) => { + await page.setContent( + ` + + + + + `, + config + ); + await page.waitForSelector('.datetime-ready'); + + await expect(page.locator('#date-button')).toContainText('3 days'); + }); + test('should render number of dates when 0 dates are selected', async ({ page }) => { + await page.setContent( + ` + + + `, + config + ); + await page.waitForSelector('.datetime-ready'); + + await expect(page.locator('#date-button')).toHaveText('0 days'); + }); + test('should render date when only 1 day is selected', async ({ page }) => { + await page.setContent( + ` + + + + + `, + config + ); + await page.waitForSelector('.datetime-ready'); + + await expect(page.locator('#date-button')).toHaveText('Jun 1, 2022'); + }); + test('should use customFormatter', async ({ page }) => { + await page.setContent( + ` + + + + + `, + config + ); + await page.waitForSelector('.datetime-ready'); + + await expect(page.locator('#date-button')).toHaveText('Selected: 3'); + }); + test('should re-render when value is programmatically changed', async ({ page }) => { + await page.setContent( + ` + + + + + `, + config + ); + await page.waitForSelector('.datetime-ready'); + + const datetime = page.locator('ion-datetime'); + const ionValueChange = await page.spyOnEvent('ionValueChange'); + const dateButton = page.locator('#date-button'); + await expect(dateButton).toHaveText('2 days'); + + await datetime.evaluate((el: HTMLIonDatetimeElement) => (el.value = ['2022-06-01', '2022-06-02', '2022-06-03'])); + await ionValueChange.next(); + + await expect(dateButton).toHaveText('3 days'); + }); + test('should render single date if datetime is used incorrectly', async ({ page }) => { + await page.setContent( + ` + + + + + `, + config + ); + await page.waitForSelector('.datetime-ready'); + + await expect(page.locator('#date-button')).toHaveText('Jun 1, 2022'); + await expect(page.locator('#time-button')).toHaveText('4:30 PM'); + }); + }); +}); diff --git a/core/src/components/datetime-button/test/overlays/datetime-button.e2e-legacy.ts b/core/src/components/datetime-button/test/overlays/datetime-button.e2e-legacy.ts deleted file mode 100644 index 662d0af3bd..0000000000 --- a/core/src/components/datetime-button/test/overlays/datetime-button.e2e-legacy.ts +++ /dev/null @@ -1,167 +0,0 @@ -import { expect } from '@playwright/test'; -import type { Locator } from '@playwright/test'; -import { test } from '@utils/test/playwright'; -import type { EventSpy } from '@utils/test/playwright'; - -test.describe('datetime-button: rendering', () => { - test('should size the modal correctly', async ({ page }) => { - await page.setContent(` - - - - - `); - - const ionModalDidPresent = await page.spyOnEvent('ionModalDidPresent'); - const dateButton = page.locator('ion-datetime-button #date-button'); - await dateButton.click(); - await ionModalDidPresent.next(); - - await expect(page).toHaveScreenshot(`datetime-overlay-modal-${page.getSnapshotSettings()}.png`, { - animations: 'disabled', - }); - }); - - test('should size the popover correctly', async ({ page, skip }) => { - skip.browser('firefox', 'Rendering is flaky in Firefox 107'); - await page.setContent(` - - - - - `); - - const ionPopoverDidPresent = await page.spyOnEvent('ionPopoverDidPresent'); - const dateButton = page.locator('ion-datetime-button #date-button'); - await dateButton.click(); - await ionPopoverDidPresent.next(); - - await expect(page).toHaveScreenshot(`datetime-overlay-popover-${page.getSnapshotSettings()}.png`, { - animations: 'disabled', - }); - }); -}); - -test.describe('datetime-button: popover', () => { - let datetime: Locator; - let popover: Locator; - let ionPopoverDidPresent: EventSpy; - let ionPopoverDidDismiss: EventSpy; - test.beforeEach(async ({ page, skip }) => { - skip.rtl(); - skip.mode('ios', 'No mode-specific logic'); - - await page.setContent(` - - - - - - `); - - datetime = page.locator('ion-datetime'); - popover = page.locator('ion-popover'); - ionPopoverDidPresent = await page.spyOnEvent('ionPopoverDidPresent'); - ionPopoverDidDismiss = await page.spyOnEvent('ionPopoverDidDismiss'); - }); - test('should open the date popover', async ({ page }) => { - await page.click('#date-button'); - - await ionPopoverDidPresent.next(); - - await expect(datetime).toBeVisible(); - }); - test('should open the time popover', async ({ page }) => { - await page.click('#time-button'); - - await ionPopoverDidPresent.next(); - - await expect(datetime).toBeVisible(); - }); - test('should open the date popover then the time popover', async ({ page }) => { - await page.click('#date-button'); - await ionPopoverDidPresent.next(); - await expect(datetime).toBeVisible(); - - await popover.evaluate((el: HTMLIonPopoverElement) => el.dismiss()); - await ionPopoverDidDismiss.next(); - - await page.click('#time-button'); - await ionPopoverDidPresent.next(); - await expect(datetime).toBeVisible(); - }); - test('should open the time popover then the date popover', async ({ page }) => { - await page.click('#time-button'); - await ionPopoverDidPresent.next(); - await expect(datetime).toBeVisible(); - - await popover.evaluate((el: HTMLIonPopoverElement) => el.dismiss()); - await ionPopoverDidDismiss.next(); - - await page.click('#date-button'); - await ionPopoverDidPresent.next(); - await expect(datetime).toBeVisible(); - }); -}); - -test.describe('datetime-button: modal', () => { - let datetime: Locator; - let modal: Locator; - let ionModalDidPresent: EventSpy; - let ionModalDidDismiss: EventSpy; - test.beforeEach(async ({ page, skip }) => { - skip.rtl(); - skip.mode('ios', 'No mode-specific logic'); - - await page.setContent(` - - - - - - `); - - datetime = page.locator('ion-datetime'); - modal = page.locator('ion-modal'); - ionModalDidPresent = await page.spyOnEvent('ionModalDidPresent'); - ionModalDidDismiss = await page.spyOnEvent('ionModalDidDismiss'); - }); - test('should open the date modal', async ({ page }) => { - await page.click('#date-button'); - - await ionModalDidPresent.next(); - - await expect(datetime).toBeVisible(); - }); - test('should open the time modal', async ({ page }) => { - await page.click('#time-button'); - - await ionModalDidPresent.next(); - - await expect(datetime).toBeVisible(); - }); - test('should open the date modal then the time modal', async ({ page }) => { - await page.click('#date-button'); - await ionModalDidPresent.next(); - await expect(datetime).toBeVisible(); - - await modal.evaluate((el: HTMLIonModalElement) => el.dismiss()); - await ionModalDidDismiss.next(); - - await page.click('#time-button'); - await ionModalDidPresent.next(); - await expect(datetime).toBeVisible(); - }); - test('should open the time modal then the date modal', async ({ page }) => { - await page.click('#time-button'); - await ionModalDidPresent.next(); - await expect(datetime).toBeVisible(); - - await modal.evaluate((el: HTMLIonModalElement) => el.dismiss()); - await ionModalDidDismiss.next(); - - await page.click('#date-button'); - await ionModalDidPresent.next(); - await expect(datetime).toBeVisible(); - }); -}); diff --git a/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts b/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts new file mode 100644 index 0000000000..76d6cd2d8a --- /dev/null +++ b/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts @@ -0,0 +1,180 @@ +import { expect } from '@playwright/test'; +import type { Locator } from '@playwright/test'; +import { configs, test } from '@utils/test/playwright'; +import type { EventSpy } from '@utils/test/playwright'; + +/** + * This behavior does not vary across directions. + */ +configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => { + test.describe(title('datetime-button: rendering'), () => { + test('should size the modal correctly', async ({ page }) => { + await page.setContent( + ` + + + + + `, + config + ); + + const ionModalDidPresent = await page.spyOnEvent('ionModalDidPresent'); + const dateButton = page.locator('ion-datetime-button #date-button'); + await dateButton.click(); + await ionModalDidPresent.next(); + + await expect(page).toHaveScreenshot(screenshot(`datetime-overlay-modal`)); + }); + + test('should size the popover correctly', async ({ page, skip }) => { + skip.browser('firefox', 'Rendering is flaky in Firefox 107'); + await page.setContent( + ` + + + + + `, + config + ); + + const ionPopoverDidPresent = await page.spyOnEvent('ionPopoverDidPresent'); + const dateButton = page.locator('ion-datetime-button #date-button'); + await dateButton.click(); + await ionPopoverDidPresent.next(); + + await expect(page).toHaveScreenshot(screenshot(`datetime-overlay-popover`)); + }); + }); +}); + +/** + * The tested behavior does not + * vary across modes/directions + */ +configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => { + test.describe(title('datetime-button: popover'), () => { + let datetime: Locator; + let popover: Locator; + let ionPopoverDidPresent: EventSpy; + let ionPopoverDidDismiss: EventSpy; + test.beforeEach(async ({ page }) => { + await page.setContent( + ` + + + + + + `, + config + ); + + datetime = page.locator('ion-datetime'); + popover = page.locator('ion-popover'); + ionPopoverDidPresent = await page.spyOnEvent('ionPopoverDidPresent'); + ionPopoverDidDismiss = await page.spyOnEvent('ionPopoverDidDismiss'); + }); + test('should open the date popover', async ({ page }) => { + await page.click('#date-button'); + + await ionPopoverDidPresent.next(); + + await expect(datetime).toBeVisible(); + }); + test('should open the time popover', async ({ page }) => { + await page.click('#time-button'); + + await ionPopoverDidPresent.next(); + + await expect(datetime).toBeVisible(); + }); + test('should open the date popover then the time popover', async ({ page }) => { + await page.click('#date-button'); + await ionPopoverDidPresent.next(); + await expect(datetime).toBeVisible(); + + await popover.evaluate((el: HTMLIonPopoverElement) => el.dismiss()); + await ionPopoverDidDismiss.next(); + + await page.click('#time-button'); + await ionPopoverDidPresent.next(); + await expect(datetime).toBeVisible(); + }); + test('should open the time popover then the date popover', async ({ page }) => { + await page.click('#time-button'); + await ionPopoverDidPresent.next(); + await expect(datetime).toBeVisible(); + + await popover.evaluate((el: HTMLIonPopoverElement) => el.dismiss()); + await ionPopoverDidDismiss.next(); + + await page.click('#date-button'); + await ionPopoverDidPresent.next(); + await expect(datetime).toBeVisible(); + }); + }); + + test.describe(title('datetime-button: modal'), () => { + let datetime: Locator; + let modal: Locator; + let ionModalDidPresent: EventSpy; + let ionModalDidDismiss: EventSpy; + test.beforeEach(async ({ page }) => { + await page.setContent( + ` + + + + + + `, + config + ); + + datetime = page.locator('ion-datetime'); + modal = page.locator('ion-modal'); + ionModalDidPresent = await page.spyOnEvent('ionModalDidPresent'); + ionModalDidDismiss = await page.spyOnEvent('ionModalDidDismiss'); + }); + test('should open the date modal', async ({ page }) => { + await page.click('#date-button'); + + await ionModalDidPresent.next(); + + await expect(datetime).toBeVisible(); + }); + test('should open the time modal', async ({ page }) => { + await page.click('#time-button'); + + await ionModalDidPresent.next(); + + await expect(datetime).toBeVisible(); + }); + test('should open the date modal then the time modal', async ({ page }) => { + await page.click('#date-button'); + await ionModalDidPresent.next(); + await expect(datetime).toBeVisible(); + + await modal.evaluate((el: HTMLIonModalElement) => el.dismiss()); + await ionModalDidDismiss.next(); + + await page.click('#time-button'); + await ionModalDidPresent.next(); + await expect(datetime).toBeVisible(); + }); + test('should open the time modal then the date modal', async ({ page }) => { + await page.click('#time-button'); + await ionModalDidPresent.next(); + await expect(datetime).toBeVisible(); + + await modal.evaluate((el: HTMLIonModalElement) => el.dismiss()); + await ionModalDidDismiss.next(); + + await page.click('#date-button'); + await ionModalDidPresent.next(); + await expect(datetime).toBeVisible(); + }); + }); +}); diff --git a/core/src/components/datetime-button/test/overlays/datetime-button.e2e-legacy.ts-snapshots/datetime-overlay-modal-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-modal-ios-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/datetime-button/test/overlays/datetime-button.e2e-legacy.ts-snapshots/datetime-overlay-modal-ios-ltr-Mobile-Chrome-linux.png rename to core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-modal-ios-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/datetime-button/test/overlays/datetime-button.e2e-legacy.ts-snapshots/datetime-overlay-modal-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-modal-ios-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/datetime-button/test/overlays/datetime-button.e2e-legacy.ts-snapshots/datetime-overlay-modal-ios-ltr-Mobile-Firefox-linux.png rename to core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-modal-ios-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/datetime-button/test/overlays/datetime-button.e2e-legacy.ts-snapshots/datetime-overlay-modal-ios-ltr-Mobile-Safari-linux.png b/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-modal-ios-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/datetime-button/test/overlays/datetime-button.e2e-legacy.ts-snapshots/datetime-overlay-modal-ios-ltr-Mobile-Safari-linux.png rename to core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-modal-ios-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/datetime-button/test/overlays/datetime-button.e2e-legacy.ts-snapshots/datetime-overlay-modal-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-modal-ios-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/datetime-button/test/overlays/datetime-button.e2e-legacy.ts-snapshots/datetime-overlay-modal-ios-rtl-Mobile-Chrome-linux.png rename to core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-modal-ios-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/datetime-button/test/overlays/datetime-button.e2e-legacy.ts-snapshots/datetime-overlay-modal-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-modal-ios-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/datetime-button/test/overlays/datetime-button.e2e-legacy.ts-snapshots/datetime-overlay-modal-ios-rtl-Mobile-Firefox-linux.png rename to core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-modal-ios-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/datetime-button/test/overlays/datetime-button.e2e-legacy.ts-snapshots/datetime-overlay-modal-ios-rtl-Mobile-Safari-linux.png b/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-modal-ios-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/datetime-button/test/overlays/datetime-button.e2e-legacy.ts-snapshots/datetime-overlay-modal-ios-rtl-Mobile-Safari-linux.png rename to core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-modal-ios-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/datetime-button/test/overlays/datetime-button.e2e-legacy.ts-snapshots/datetime-overlay-modal-md-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-modal-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/datetime-button/test/overlays/datetime-button.e2e-legacy.ts-snapshots/datetime-overlay-modal-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-modal-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/datetime-button/test/overlays/datetime-button.e2e-legacy.ts-snapshots/datetime-overlay-modal-md-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-modal-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/datetime-button/test/overlays/datetime-button.e2e-legacy.ts-snapshots/datetime-overlay-modal-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-modal-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/datetime-button/test/overlays/datetime-button.e2e-legacy.ts-snapshots/datetime-overlay-modal-md-ltr-Mobile-Safari-linux.png b/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-modal-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/datetime-button/test/overlays/datetime-button.e2e-legacy.ts-snapshots/datetime-overlay-modal-md-ltr-Mobile-Safari-linux.png rename to core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-modal-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/datetime-button/test/overlays/datetime-button.e2e-legacy.ts-snapshots/datetime-overlay-modal-md-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-modal-md-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/datetime-button/test/overlays/datetime-button.e2e-legacy.ts-snapshots/datetime-overlay-modal-md-rtl-Mobile-Chrome-linux.png rename to core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-modal-md-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/datetime-button/test/overlays/datetime-button.e2e-legacy.ts-snapshots/datetime-overlay-modal-md-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-modal-md-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/datetime-button/test/overlays/datetime-button.e2e-legacy.ts-snapshots/datetime-overlay-modal-md-rtl-Mobile-Firefox-linux.png rename to core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-modal-md-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/datetime-button/test/overlays/datetime-button.e2e-legacy.ts-snapshots/datetime-overlay-modal-md-rtl-Mobile-Safari-linux.png b/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-modal-md-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/datetime-button/test/overlays/datetime-button.e2e-legacy.ts-snapshots/datetime-overlay-modal-md-rtl-Mobile-Safari-linux.png rename to core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-modal-md-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/datetime-button/test/overlays/datetime-button.e2e-legacy.ts-snapshots/datetime-overlay-popover-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-popover-ios-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/datetime-button/test/overlays/datetime-button.e2e-legacy.ts-snapshots/datetime-overlay-popover-ios-ltr-Mobile-Chrome-linux.png rename to core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-popover-ios-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/datetime-button/test/overlays/datetime-button.e2e-legacy.ts-snapshots/datetime-overlay-popover-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-popover-ios-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/datetime-button/test/overlays/datetime-button.e2e-legacy.ts-snapshots/datetime-overlay-popover-ios-ltr-Mobile-Firefox-linux.png rename to core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-popover-ios-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/datetime-button/test/overlays/datetime-button.e2e-legacy.ts-snapshots/datetime-overlay-popover-ios-ltr-Mobile-Safari-linux.png b/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-popover-ios-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/datetime-button/test/overlays/datetime-button.e2e-legacy.ts-snapshots/datetime-overlay-popover-ios-ltr-Mobile-Safari-linux.png rename to core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-popover-ios-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/datetime-button/test/overlays/datetime-button.e2e-legacy.ts-snapshots/datetime-overlay-popover-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-popover-ios-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/datetime-button/test/overlays/datetime-button.e2e-legacy.ts-snapshots/datetime-overlay-popover-ios-rtl-Mobile-Chrome-linux.png rename to core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-popover-ios-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/datetime-button/test/overlays/datetime-button.e2e-legacy.ts-snapshots/datetime-overlay-popover-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-popover-ios-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/datetime-button/test/overlays/datetime-button.e2e-legacy.ts-snapshots/datetime-overlay-popover-ios-rtl-Mobile-Firefox-linux.png rename to core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-popover-ios-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/datetime-button/test/overlays/datetime-button.e2e-legacy.ts-snapshots/datetime-overlay-popover-ios-rtl-Mobile-Safari-linux.png b/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-popover-ios-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/datetime-button/test/overlays/datetime-button.e2e-legacy.ts-snapshots/datetime-overlay-popover-ios-rtl-Mobile-Safari-linux.png rename to core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-popover-ios-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/datetime-button/test/overlays/datetime-button.e2e-legacy.ts-snapshots/datetime-overlay-popover-md-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-popover-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/datetime-button/test/overlays/datetime-button.e2e-legacy.ts-snapshots/datetime-overlay-popover-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-popover-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/datetime-button/test/overlays/datetime-button.e2e-legacy.ts-snapshots/datetime-overlay-popover-md-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-popover-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/datetime-button/test/overlays/datetime-button.e2e-legacy.ts-snapshots/datetime-overlay-popover-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-popover-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/datetime-button/test/overlays/datetime-button.e2e-legacy.ts-snapshots/datetime-overlay-popover-md-ltr-Mobile-Safari-linux.png b/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-popover-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/datetime-button/test/overlays/datetime-button.e2e-legacy.ts-snapshots/datetime-overlay-popover-md-ltr-Mobile-Safari-linux.png rename to core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-popover-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/datetime-button/test/overlays/datetime-button.e2e-legacy.ts-snapshots/datetime-overlay-popover-md-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-popover-md-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/datetime-button/test/overlays/datetime-button.e2e-legacy.ts-snapshots/datetime-overlay-popover-md-rtl-Mobile-Chrome-linux.png rename to core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-popover-md-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/datetime-button/test/overlays/datetime-button.e2e-legacy.ts-snapshots/datetime-overlay-popover-md-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-popover-md-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/datetime-button/test/overlays/datetime-button.e2e-legacy.ts-snapshots/datetime-overlay-popover-md-rtl-Mobile-Firefox-linux.png rename to core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-popover-md-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/datetime-button/test/overlays/datetime-button.e2e-legacy.ts-snapshots/datetime-overlay-popover-md-rtl-Mobile-Safari-linux.png b/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-popover-md-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/datetime-button/test/overlays/datetime-button.e2e-legacy.ts-snapshots/datetime-overlay-popover-md-rtl-Mobile-Safari-linux.png rename to core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-popover-md-rtl-Mobile-Safari-linux.png