make tests passing in cicd
This commit is contained in:
37
e2e/smoke.test.ts
Normal file
37
e2e/smoke.test.ts
Normal file
@@ -0,0 +1,37 @@
|
||||
import { test, expect } from '@playwright/test';
|
||||
|
||||
test.describe('Smoke Tests', () => {
|
||||
test('landing page loads with sign-in link', async ({ page }) => {
|
||||
await page.goto('/');
|
||||
await expect(page.getByRole('heading', { name: /Vash Esports/i })).toBeVisible();
|
||||
await expect(
|
||||
page.getByRole('banner').getByRole('link', { name: 'Sign in with osu!' })
|
||||
).toBeVisible();
|
||||
});
|
||||
|
||||
test('protected API returns 401 without auth', async ({ request }) => {
|
||||
const response = await request.get('/api/matches');
|
||||
expect(response.status()).toBe(401);
|
||||
});
|
||||
|
||||
test('health endpoint responds', async ({ request }) => {
|
||||
const response = await request.get('/api/health');
|
||||
// 200 if DB is up, 503 if not — both are valid from the endpoint
|
||||
expect([200, 503]).toContain(response.status());
|
||||
const body = await response.json();
|
||||
expect(body).toHaveProperty('status');
|
||||
expect(body).toHaveProperty('timestamp');
|
||||
});
|
||||
|
||||
test('leaderboard page renders', async ({ page }) => {
|
||||
await page.goto('/leaderboard');
|
||||
await expect(page.locator('h1')).toContainText('Leaderboard');
|
||||
});
|
||||
|
||||
test('privacy and terms pages render', async ({ page }) => {
|
||||
for (const path of ['/privacy', '/terms']) {
|
||||
const response = await page.goto(path);
|
||||
expect(response?.ok()).toBe(true);
|
||||
}
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user