diff --git a/tests/components/ct-react/playwright.config.ts b/tests/components/ct-react/playwright.config.ts index e9d7c8469f..adbf89ee70 100644 --- a/tests/components/ct-react/playwright.config.ts +++ b/tests/components/ct-react/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/src/tests.spec.tsx b/tests/components/ct-react/src/tests.spec.tsx deleted file mode 100644 index d17b4d171b..0000000000 --- a/tests/components/ct-react/src/tests.spec.tsx +++ /dev/null @@ -1,187 +0,0 @@ -import { test, expect } from '@playwright/experimental-ct-react'; -const { serverFixtures } = require('../../../../tests/config/serverFixtures'); -import App from './App'; -import Fetch from './components/Fetch'; -import DelayedData from './components/DelayedData'; -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/tests/children.spec.tsx b/tests/components/ct-react/tests/children.spec.tsx new file mode 100644 index 0000000000..ca68979c95 --- /dev/null +++ b/tests/components/ct-react/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( + +