From 5b3a30628441b482c32fb26ca8bcb7aff36f9e89 Mon Sep 17 00:00:00 2001 From: Sander Date: Sat, 14 Jan 2023 03:15:43 +0100 Subject: [PATCH] test(ct): react vite slice by feature (#20098) --- .../ct-react-vite/playwright.config.ts | 10 +- .../ct-react-vite/src/tests.spec.tsx | 153 ------------------ .../ct-react-vite/tests/callbacks.spec.tsx | 28 ++++ .../ct-react-vite/tests/children.spec.tsx | 44 +++++ .../ct-react-vite/tests/react-router.spec.tsx | 14 ++ .../ct-react-vite/tests/render.spec.tsx | 20 +++ .../ct-react-vite/tests/unmount.spec.tsx | 19 +++ .../ct-react-vite/tests/update.spec.tsx | 41 +++++ tests/components/ct-react-vite/tsconfig.json | 8 +- .../ct-svelte-vite/playwright.config.ts | 3 +- 10 files changed, 182 insertions(+), 158 deletions(-) delete mode 100644 tests/components/ct-react-vite/src/tests.spec.tsx create mode 100644 tests/components/ct-react-vite/tests/callbacks.spec.tsx create mode 100644 tests/components/ct-react-vite/tests/children.spec.tsx create mode 100644 tests/components/ct-react-vite/tests/react-router.spec.tsx create mode 100644 tests/components/ct-react-vite/tests/render.spec.tsx create mode 100644 tests/components/ct-react-vite/tests/unmount.spec.tsx create mode 100644 tests/components/ct-react-vite/tests/update.spec.tsx diff --git a/tests/components/ct-react-vite/playwright.config.ts b/tests/components/ct-react-vite/playwright.config.ts index e9d7c8469f..adbf89ee70 100644 --- a/tests/components/ct-react-vite/playwright.config.ts +++ b/tests/components/ct-react-vite/playwright.config.ts @@ -15,14 +15,22 @@ */ import { defineConfig, devices } from '@playwright/experimental-ct-react'; +import { resolve } from 'path'; export default defineConfig({ - testDir: 'src', + testDir: 'tests', forbidOnly: !!process.env.CI, retries: process.env.CI ? 2 : 0, reporter: 'html', use: { trace: 'on-first-retry', + ctViteConfig: { + resolve: { + alias: { + '@': resolve(__dirname, './src'), + } + } + } }, projects: [ { diff --git a/tests/components/ct-react-vite/src/tests.spec.tsx b/tests/components/ct-react-vite/src/tests.spec.tsx deleted file mode 100644 index da802c030d..0000000000 --- a/tests/components/ct-react-vite/src/tests.spec.tsx +++ /dev/null @@ -1,153 +0,0 @@ -import { test, expect } from '@playwright/experimental-ct-react'; -import App from './App'; -import Button from './components/Button'; -import DefaultChildren from './components/DefaultChildren'; -import MultipleChildren from './components/MultipleChildren'; -import MultiRoot from './components/MultiRoot'; -import Counter from './components/Counter'; -import EmptyFragment from './components/EmptyFragment'; -import type { HooksConfig } from '../playwright'; - -test.use({ viewport: { width: 500, height: 500 } }); - -test('render props', async ({ mount }) => { - const component = await mount() - await component.click() - expect(messages).toEqual(['hello']) -}) - -test('render a default child', async ({ mount }) => { - const component = await mount( - Main Content - ) - await expect(component).toContainText('Main Content') -}) - -test('render a component as slot', async ({ mount }) => { - const component = await mount( - + ); + await component.click(); + expect(messages).toEqual(['hello']); +}); + +test('execute callback when a child node is clicked', async ({ mount }) => { + let clickFired = false; + const component = await mount( + + (clickFired = true)}>Main Content + + ); + await component.locator('text=Main Content').click(); + expect(clickFired).toBeTruthy(); +}); diff --git a/tests/components/ct-react-vite/tests/children.spec.tsx b/tests/components/ct-react-vite/tests/children.spec.tsx new file mode 100644 index 0000000000..ca68979c95 --- /dev/null +++ b/tests/components/ct-react-vite/tests/children.spec.tsx @@ -0,0 +1,44 @@ +import { test, expect } from '@playwright/experimental-ct-react'; +import Button from '@/components/Button'; +import DefaultChildren from '@/components/DefaultChildren'; +import MultipleChildren from '@/components/MultipleChildren'; + +test('render a default child', async ({ mount }) => { + const component = await mount( + Main Content + ); + await expect(component).toContainText('Main Content'); +}); + +test('render a component as child', async ({ mount }) => { + const component = await mount( + +