diff --git a/core/src/components/reorder-group/test/basic/reorder-group.e2e-legacy.ts b/core/src/components/reorder-group/test/basic/reorder-group.e2e-legacy.ts
deleted file mode 100644
index d944a52782..0000000000
--- a/core/src/components/reorder-group/test/basic/reorder-group.e2e-legacy.ts
+++ /dev/null
@@ -1,33 +0,0 @@
-import { expect } from '@playwright/test';
-import { test } from '@utils/test/playwright';
-
-test.describe('reorder group: basic', () => {
- test.beforeEach(({ skip }) => {
- skip.rtl();
- skip.mode('ios', 'Reorder group does not have per-mode styles');
- });
- test('should render the handle when reorder group is enabled', async ({ page }) => {
- await page.setContent(`
-
-
- Item
-
-
-
- `);
- const reorder = page.locator('ion-reorder');
- await expect(reorder).toBeVisible();
- });
- test('should not render the handle when reorder group is disabled', async ({ page }) => {
- await page.setContent(`
-
-
- Item
-
-
-
- `);
- const reorder = page.locator('ion-reorder');
- await expect(reorder).toBeHidden();
- });
-});
diff --git a/core/src/components/reorder-group/test/basic/reorder-group.e2e.ts b/core/src/components/reorder-group/test/basic/reorder-group.e2e.ts
new file mode 100644
index 0000000000..38fc40873e
--- /dev/null
+++ b/core/src/components/reorder-group/test/basic/reorder-group.e2e.ts
@@ -0,0 +1,40 @@
+import { expect } from '@playwright/test';
+import { configs, test } from '@utils/test/playwright';
+
+/**
+ * Reorder group does not have per-mode styles
+ */
+configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
+ test.describe(title('reorder group: basic'), () => {
+ test('should render the handle when reorder group is enabled', async ({ page }) => {
+ await page.setContent(
+ `
+
+
+ Item
+
+
+
+ `,
+ config
+ );
+ const reorder = page.locator('ion-reorder');
+ await expect(reorder).toBeVisible();
+ });
+ test('should not render the handle when reorder group is disabled', async ({ page }) => {
+ await page.setContent(
+ `
+
+
+ Item
+
+
+
+ `,
+ config
+ );
+ const reorder = page.locator('ion-reorder');
+ await expect(reorder).toBeHidden();
+ });
+ });
+});
diff --git a/core/src/components/reorder-group/test/interactive/reorder-group.e2e-legacy.ts b/core/src/components/reorder-group/test/interactive/reorder-group.e2e-legacy.ts
deleted file mode 100644
index 781af1a955..0000000000
--- a/core/src/components/reorder-group/test/interactive/reorder-group.e2e-legacy.ts
+++ /dev/null
@@ -1,41 +0,0 @@
-import { expect } from '@playwright/test';
-import { test, dragElementBy } from '@utils/test/playwright';
-
-// TODO FW-3079
-test.describe.skip('reorder group: interactive', () => {
- test.beforeEach(({ skip }) => {
- skip.rtl();
- skip.mode('ios', 'Reorder group does not have per-mode styles');
- skip.browser(
- (browserName: string) => browserName !== 'chromium',
- 'dragElementBy is flaky outside of Chrome browsers.'
- );
- });
- test('should drag and drop when ion-reorder wraps ion-item', async ({ page }) => {
- await page.goto(`/src/components/reorder-group/test/interactive`);
-
- const items = page.locator('ion-item');
- const ionItemReorderComplete = await page.spyOnEvent('ionItemReorderComplete');
-
- await expect(items).toContainText(['Item 1', 'Item 2', 'Item 3', 'Item 4']);
-
- await dragElementBy(items.nth(1), page, 0, 300);
- await ionItemReorderComplete.next();
-
- await expect(items).toContainText(['Item 1', 'Item 3', 'Item 4', 'Item 2']);
- });
- test('should drag and drop when ion-item wraps ion-reorder', async ({ page }) => {
- await page.goto(`/src/components/reorder-group/test/interactive`);
-
- const reorderHandle = page.locator('ion-reorder');
- const items = page.locator('ion-item');
- const ionItemReorderComplete = await page.spyOnEvent('ionItemReorderComplete');
-
- await expect(items).toContainText(['Item 1', 'Item 2', 'Item 3', 'Item 4']);
-
- await dragElementBy(reorderHandle.nth(0), page, 0, 300);
- await ionItemReorderComplete.next();
-
- await expect(items).toContainText(['Item 2', 'Item 3', 'Item 4', 'Item 1']);
- });
-});
diff --git a/core/src/components/reorder-group/test/interactive/reorder-group.e2e.ts b/core/src/components/reorder-group/test/interactive/reorder-group.e2e.ts
new file mode 100644
index 0000000000..c585185181
--- /dev/null
+++ b/core/src/components/reorder-group/test/interactive/reorder-group.e2e.ts
@@ -0,0 +1,42 @@
+import { expect } from '@playwright/test';
+import { configs, test, dragElementBy } from '@utils/test/playwright';
+
+// TODO FW-3079
+/**
+ * Reorder group does not have per-mode styles
+ */
+configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
+ test.describe.skip(title('reorder group: interactive'), () => {
+ test.beforeEach(async ({ skip }) => {
+ skip.browser(
+ (browserName: string) => browserName !== 'chromium',
+ 'dragElementBy is flaky outside of Chrome browsers.'
+ );
+
+ await page.goto(`/src/components/reorder-group/test/interactive`, config);
+ });
+ test('should drag and drop when ion-reorder wraps ion-item', async ({ page }) => {
+ const items = page.locator('ion-item');
+ const ionItemReorderComplete = await page.spyOnEvent('ionItemReorderComplete');
+
+ await expect(items).toContainText(['Item 1', 'Item 2', 'Item 3', 'Item 4']);
+
+ await dragElementBy(items.nth(1), page, 0, 300);
+ await ionItemReorderComplete.next();
+
+ await expect(items).toContainText(['Item 1', 'Item 3', 'Item 4', 'Item 2']);
+ });
+ test('should drag and drop when ion-item wraps ion-reorder', async ({ page }) => {
+ const reorderHandle = page.locator('ion-reorder');
+ const items = page.locator('ion-item');
+ const ionItemReorderComplete = await page.spyOnEvent('ionItemReorderComplete');
+
+ await expect(items).toContainText(['Item 1', 'Item 2', 'Item 3', 'Item 4']);
+
+ await dragElementBy(reorderHandle.nth(0), page, 0, 300);
+ await ionItemReorderComplete.next();
+
+ await expect(items).toContainText(['Item 2', 'Item 3', 'Item 4', 'Item 1']);
+ });
+ });
+});
diff --git a/core/src/components/reorder-group/test/nested/reorder-group.e2e-legacy.ts b/core/src/components/reorder-group/test/nested/reorder-group.e2e-legacy.ts
deleted file mode 100644
index a980daa956..0000000000
--- a/core/src/components/reorder-group/test/nested/reorder-group.e2e-legacy.ts
+++ /dev/null
@@ -1,41 +0,0 @@
-import { expect } from '@playwright/test';
-import { test, dragElementBy } from '@utils/test/playwright';
-
-// TODO FW-3079
-test.describe.skip('reorder group: nested', () => {
- test.beforeEach(({ skip }) => {
- skip.rtl();
- skip.mode('ios', 'Reorder group does not have per-mode styles');
- skip.browser(
- (browserName: string) => browserName !== 'chromium',
- 'dragElementBy is flaky outside of Chrome browsers.'
- );
- });
- test('should drag and drop when ion-reorder wraps ion-item', async ({ page }) => {
- await page.goto(`/src/components/reorder-group/test/nested`);
-
- const items = page.locator('app-reorder');
- const ionItemReorderComplete = await page.spyOnEvent('ionItemReorderComplete');
-
- await expect(items).toContainText(['Item 1', 'Item 2', 'Item 3', 'Item 4']);
-
- await dragElementBy(items.nth(1), page, 0, 300);
- await ionItemReorderComplete.next();
-
- await expect(items).toContainText(['Item 1', 'Item 3', 'Item 4', 'Item 2']);
- });
- test('should drag and drop when ion-item wraps ion-reorder', async ({ page }) => {
- await page.goto(`/src/components/reorder-group/test/nested`);
-
- const reorderHandle = page.locator('app-reorder ion-reorder');
- const items = page.locator('app-reorder');
- const ionItemReorderComplete = await page.spyOnEvent('ionItemReorderComplete');
-
- await expect(items).toContainText(['Item 1', 'Item 2', 'Item 3', 'Item 4']);
-
- await dragElementBy(reorderHandle.nth(0), page, 0, 300);
- await ionItemReorderComplete.next();
-
- await expect(items).toContainText(['Item 2', 'Item 3', 'Item 4', 'Item 1']);
- });
-});
diff --git a/core/src/components/reorder-group/test/nested/reorder-group.e2e.ts b/core/src/components/reorder-group/test/nested/reorder-group.e2e.ts
new file mode 100644
index 0000000000..13cad060a4
--- /dev/null
+++ b/core/src/components/reorder-group/test/nested/reorder-group.e2e.ts
@@ -0,0 +1,41 @@
+import { expect } from '@playwright/test';
+import { configs, test, dragElementBy } from '@utils/test/playwright';
+
+// TODO FW-3079
+/**
+ * Reorder group does not have per-mode styles
+ */
+configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
+ test.describe.skip(title('reorder group: nested'), () => {
+ test.beforeEach(async ({ skip }) => {
+ skip.browser(
+ (browserName: string) => browserName !== 'chromium',
+ 'dragElementBy is flaky outside of Chrome browsers.'
+ );
+ await page.goto(`/src/components/reorder-group/test/nested`, config);
+ });
+ test('should drag and drop when ion-reorder wraps ion-item', async ({ page }) => {
+ const items = page.locator('app-reorder');
+ const ionItemReorderComplete = await page.spyOnEvent('ionItemReorderComplete');
+
+ await expect(items).toContainText(['Item 1', 'Item 2', 'Item 3', 'Item 4']);
+
+ await dragElementBy(items.nth(1), page, 0, 300);
+ await ionItemReorderComplete.next();
+
+ await expect(items).toContainText(['Item 1', 'Item 3', 'Item 4', 'Item 2']);
+ });
+ test('should drag and drop when ion-item wraps ion-reorder', async ({ page }) => {
+ const reorderHandle = page.locator('app-reorder ion-reorder');
+ const items = page.locator('app-reorder');
+ const ionItemReorderComplete = await page.spyOnEvent('ionItemReorderComplete');
+
+ await expect(items).toContainText(['Item 1', 'Item 2', 'Item 3', 'Item 4']);
+
+ await dragElementBy(reorderHandle.nth(0), page, 0, 300);
+ await ionItemReorderComplete.next();
+
+ await expect(items).toContainText(['Item 2', 'Item 3', 'Item 4', 'Item 1']);
+ });
+ });
+});
diff --git a/core/src/components/reorder-group/test/scroll-target/reorder-group.e2e-legacy.ts b/core/src/components/reorder-group/test/scroll-target/reorder-group.e2e-legacy.ts
deleted file mode 100644
index 7209a59331..0000000000
--- a/core/src/components/reorder-group/test/scroll-target/reorder-group.e2e-legacy.ts
+++ /dev/null
@@ -1,41 +0,0 @@
-import { expect } from '@playwright/test';
-import { test, dragElementBy } from '@utils/test/playwright';
-
-// TODO FW-3079
-test.describe.skip('reorder group: scroll-target', () => {
- test.beforeEach(({ skip }) => {
- skip.rtl();
- skip.mode('ios', 'Reorder group does not have per-mode styles');
- skip.browser(
- (browserName: string) => browserName !== 'chromium',
- 'dragElementBy is flaky outside of Chrome browsers.'
- );
- });
- test('should drag and drop when ion-reorder wraps ion-item', async ({ page }) => {
- await page.goto(`/src/components/reorder-group/test/scroll-target`);
-
- const items = page.locator('ion-item');
- const ionItemReorderComplete = await page.spyOnEvent('ionItemReorderComplete');
-
- await expect(items).toContainText(['Item 1', 'Item 2', 'Item 3', 'Item 4']);
-
- await dragElementBy(items.nth(1), page, 0, 300);
- await ionItemReorderComplete.next();
-
- await expect(items).toContainText(['Item 1', 'Item 3', 'Item 4', 'Item 2']);
- });
- test('should drag and drop when ion-item wraps ion-reorder', async ({ page }) => {
- await page.goto(`/src/components/reorder-group/test/scroll-target`);
-
- const reorderHandle = page.locator('ion-reorder');
- const items = page.locator('ion-item');
- const ionItemReorderComplete = await page.spyOnEvent('ionItemReorderComplete');
-
- await expect(items).toContainText(['Item 1', 'Item 2', 'Item 3', 'Item 4']);
-
- await dragElementBy(reorderHandle.nth(0), page, 0, 300);
- await ionItemReorderComplete.next();
-
- await expect(items).toContainText(['Item 2', 'Item 3', 'Item 4', 'Item 1']);
- });
-});
diff --git a/core/src/components/reorder-group/test/scroll-target/reorder-group.e2e.ts b/core/src/components/reorder-group/test/scroll-target/reorder-group.e2e.ts
new file mode 100644
index 0000000000..d1560fe15f
--- /dev/null
+++ b/core/src/components/reorder-group/test/scroll-target/reorder-group.e2e.ts
@@ -0,0 +1,41 @@
+import { expect } from '@playwright/test';
+import { configs, test, dragElementBy } from '@utils/test/playwright';
+
+// TODO FW-3079
+/**
+ * Reorder group does not have per-mode styles
+ */
+configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
+ test.describe.skip(title('reorder group: scroll-target'), () => {
+ test.beforeEach(async ({ skip }) => {
+ skip.browser(
+ (browserName: string) => browserName !== 'chromium',
+ 'dragElementBy is flaky outside of Chrome browsers.'
+ );
+ await page.goto(`/src/components/reorder-group/test/scroll-target`, config);
+ });
+ test('should drag and drop when ion-reorder wraps ion-item', async ({ page }) => {
+ const items = page.locator('ion-item');
+ const ionItemReorderComplete = await page.spyOnEvent('ionItemReorderComplete');
+
+ await expect(items).toContainText(['Item 1', 'Item 2', 'Item 3', 'Item 4']);
+
+ await dragElementBy(items.nth(1), page, 0, 300);
+ await ionItemReorderComplete.next();
+
+ await expect(items).toContainText(['Item 1', 'Item 3', 'Item 4', 'Item 2']);
+ });
+ test('should drag and drop when ion-item wraps ion-reorder', async ({ page }) => {
+ const reorderHandle = page.locator('ion-reorder');
+ const items = page.locator('ion-item');
+ const ionItemReorderComplete = await page.spyOnEvent('ionItemReorderComplete');
+
+ await expect(items).toContainText(['Item 1', 'Item 2', 'Item 3', 'Item 4']);
+
+ await dragElementBy(reorderHandle.nth(0), page, 0, 300);
+ await ionItemReorderComplete.next();
+
+ await expect(items).toContainText(['Item 2', 'Item 3', 'Item 4', 'Item 1']);
+ });
+ });
+});