39 lines
1.2 KiB
TypeScript
39 lines
1.2 KiB
TypeScript
import { test, expect } from '@playwright/test';
|
|
|
|
/**
|
|
* EN: E2E tests for settings pages.
|
|
* VI: E2E tests cho các trang settings.
|
|
*/
|
|
test.describe('Settings', () => {
|
|
test.beforeEach(async ({ page }) => {
|
|
// EN: Seed persisted auth state before app hydration.
|
|
// VI: Seed trạng thái auth đã persist trước khi app hydrate.
|
|
await page.addInitScript(() => {
|
|
localStorage.setItem(
|
|
'auth-storage',
|
|
JSON.stringify({
|
|
state: {
|
|
user: {
|
|
id: '9d7bb2f8-4a68-4aa4-9b73-530a06039ee3',
|
|
email: 'tester@goodgo.dev',
|
|
},
|
|
isAuthenticated: true,
|
|
},
|
|
version: 0,
|
|
})
|
|
);
|
|
});
|
|
});
|
|
|
|
test('should render profile settings page', async ({ page }) => {
|
|
await page.goto('/settings/profile');
|
|
await expect(page.getByRole('heading', { level: 2, name: 'Profile' })).toBeVisible();
|
|
});
|
|
|
|
test('should render api keys settings page', async ({ page }) => {
|
|
await page.goto('/settings/api-keys');
|
|
await expect(page.getByRole('heading', { level: 2, name: 'API Keys' })).toBeVisible();
|
|
await expect(page.getByRole('button', { name: /Create API Key/i }).first()).toBeVisible();
|
|
});
|
|
});
|