Files
Aniworld/tests/frontend/e2e/setup.spec.js
Lukas aceaba5849 feat: Set up JavaScript testing framework (Vitest + Playwright)
- Created package.json with Vitest and Playwright dependencies
- Configured vitest.config.js with happy-dom environment
- Configured playwright.config.js with Chromium browser
- Created test directory structure (tests/frontend/unit and e2e)
- Added setup.test.js with 10 Vitest validation tests
- Added setup.spec.js with 6 Playwright E2E validation tests
- Created FRONTEND_SETUP.md with Node.js installation guide
- Updated instructions.md marking task complete

Note: Requires Node.js installation before running tests
2026-02-01 09:37:55 +01:00

66 lines
2.1 KiB
JavaScript

/**
* Sample E2E test to verify Playwright setup
* This test validates that the E2E testing framework can connect to the server
*/
import { expect, test } from '@playwright/test';
test.describe('Playwright Setup Validation', () => {
test('should load the home page', async ({ page }) => {
// Navigate to the home page
await page.goto('/');
// Wait for page to load
await page.waitForLoadState('networkidle');
// Verify the page has loaded (check for common elements)
// Note: Adjust these selectors based on your actual HTML structure
const title = await page.title();
expect(title).toBeTruthy();
});
test('should have working navigation', async ({ page }) => {
await page.goto('/');
// Check if the page responds
const response = await page.goto('/');
expect(response?.status()).toBeLessThan(400);
});
test('should load JavaScript resources', async ({ page }) => {
await page.goto('/');
// Check if window object is available (JavaScript is running)
const hasWindow = await page.evaluate(() => typeof window !== 'undefined');
expect(hasWindow).toBe(true);
});
test('should handle basic interactions', async ({ page }) => {
await page.goto('/');
await page.waitForLoadState('networkidle');
// Verify page is interactive
const body = page.locator('body');
await expect(body).toBeVisible();
});
});
test.describe('Server Connection Tests', () => {
test('should connect to API endpoint', async ({ request }) => {
// Test API connectivity
const response = await request.get('/api/health');
// Either endpoint exists with 200 or returns 404 (but server is running)
expect([200, 404]).toContain(response.status());
});
test('should serve static files', async ({ page }) => {
await page.goto('/');
// Check if CSS is loaded (indicates static file serving works)
const stylesheets = await page.locator('link[rel="stylesheet"]').count();
// We expect at least some stylesheets, or the page should load anyway
expect(stylesheets).toBeGreaterThanOrEqual(0);
});
});