e2e test builder

Use this skill when creating Playwright end-to-end tests for this project.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "e2e test builder" with this command: npx skills add svelte-society/sveltesociety.dev/svelte-society-sveltesociety-dev-e2e-test-builder

E2E Test Builder

Use this skill when creating Playwright end-to-end tests for this project.

When to Use

  • Adding tests for a new feature

  • Testing user flows (authentication, content submission, admin actions)

  • Validating UI interactions and navigation

Key Concepts

Database Isolation

Each test file gets its own isolated database copy:

  • Call setupDatabaseIsolation(page) in beforeEach

  • Auto-detects test file name from stack trace

  • Ensures complete test independence

Page Object Model (POM)

All tests use POMs to encapsulate page interactions:

  • POMs live in tests/pages/

  • Extend BasePage for common functionality

  • Use data-testid attributes for element selection

Test Users

Three users with different permission levels:

  • admin

  • Full access (use for admin tests)

  • contributor

  • Moderator role (can moderate content)

  • viewer

  • Member role (read-only access)

Quick Start

import { test, expect } from '@playwright/test' import { HomePage, ContentListPage } from '../../pages' import { setupDatabaseIsolation } from '../../helpers/database-isolation' import { loginAs } from '../../helpers/auth'

test.describe('My Feature', () => { test.beforeEach(async ({ page }) => { await setupDatabaseIsolation(page) await loginAs(page, 'admin') // if auth needed })

test('can do something', async ({ page }) => {
	const homePage = new HomePage(page)
	await homePage.goto()
	// ... test logic
})

})

Reference Files

  • PAGE-OBJECTS.md - Creating Page Object Model classes

  • TEST-PATTERNS.md - Test structure, assertions, helpers

  • TEMPLATES.md - Copy-paste starter templates

Commands

bun run test:integration # Run all tests bun run test:integration:ui # Interactive UI mode bun run test:integration:headed # See browser bun test:integration tests/e2e/path # Run specific file

Directory Structure

tests/ ├── e2e/ # Test suites by category │ ├── public/ # Public user flows │ ├── auth/ # Authentication flows │ ├── content/ # Content submission │ └── admin/ # Admin workflows ├── pages/ # Page Object Models ├── helpers/ # Auth, database isolation ├── fixtures/ # Test data definitions └── setup/ # Global setup/teardown

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

using-remote-functions

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

component-builder

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

page builder

No summary provided by upstream source.

Repository SourceNeeds Review