diff --git a/.changeset/ninety-taxis-beg.md b/.changeset/ninety-taxis-beg.md new file mode 100644 index 000000000..765215346 --- /dev/null +++ b/.changeset/ninety-taxis-beg.md @@ -0,0 +1,5 @@ +--- +'sv': patch +--- + +feat(playwright): use `**/*.e2e.{ts,js}` files by default diff --git a/packages/sv/src/addons/playwright.ts b/packages/sv/src/addons/playwright.ts index d886ec498..0b11d88e0 100644 --- a/packages/sv/src/addons/playwright.ts +++ b/packages/sv/src/addons/playwright.ts @@ -7,7 +7,7 @@ export default defineAddon({ shortDescription: 'browser testing', homepage: 'https://playwright.dev', options: {}, - run: ({ sv, language, files }) => { + run: ({ sv, language, files, kit }) => { sv.devDependency('@playwright/test', '^1.58.2'); sv.file(files.package, (content) => { @@ -24,7 +24,11 @@ export default defineAddon({ return text.upsert(content, 'test-results', { comment: 'Playwright' }); }); - sv.file(`e2e/demo.test.${language}`, (content) => { + const testFile = kit + ? `${kit.routesDirectory}/page.svelte.e2e.${language}` + : `src/app.svelte.e2e.${language}`; + + sv.file(testFile, (content) => { if (content) return content; return dedent` @@ -47,7 +51,7 @@ export default defineAddon({ command: 'npm run build && npm run preview', port: 4173 }, - testDir: 'e2e' + testMatch: '**/*.e2e.{ts,js}' }; if ( diff --git a/packages/sv/src/cli/tests/snapshots/create-with-all-addons/playwright.config.ts b/packages/sv/src/cli/tests/snapshots/create-with-all-addons/playwright.config.ts index 8f5062c2f..9eea31bb5 100644 --- a/packages/sv/src/cli/tests/snapshots/create-with-all-addons/playwright.config.ts +++ b/packages/sv/src/cli/tests/snapshots/create-with-all-addons/playwright.config.ts @@ -2,5 +2,5 @@ import { defineConfig } from '@playwright/test'; export default defineConfig({ webServer: { command: 'npm run build && npm run preview', port: 4173 }, - testDir: 'e2e' + testMatch: '**/*.e2e.{ts,js}' }); diff --git a/packages/sv/src/cli/tests/snapshots/create-with-all-addons/src/routes/page.svelte.e2e.ts b/packages/sv/src/cli/tests/snapshots/create-with-all-addons/src/routes/page.svelte.e2e.ts new file mode 100644 index 000000000..9985ce113 --- /dev/null +++ b/packages/sv/src/cli/tests/snapshots/create-with-all-addons/src/routes/page.svelte.e2e.ts @@ -0,0 +1,6 @@ +import { expect, test } from '@playwright/test'; + +test('home page has expected h1', async ({ page }) => { + await page.goto('/'); + await expect(page.locator('h1')).toBeVisible(); +});