19 lines
827 B
TypeScript
19 lines
827 B
TypeScript
import type { Page } from '@playwright/test';
|
|
import { ACCESS_TOKEN_KEY, REFRESH_TOKEN_KEY } from '../../src/utils/constants';
|
|
import { installAdminApiMocks, MOCK_ADMIN, type MockAdmin } from '../mocks/adminApi';
|
|
|
|
export async function seedAuthenticatedSession(page: Page, admin: Partial<MockAdmin> = {}) {
|
|
const user: MockAdmin = { ...MOCK_ADMIN, ...admin };
|
|
await installAdminApiMocks(page, { user });
|
|
// Origin + localStorage before app boot (addInitScript alone races under load).
|
|
await page.goto('/login');
|
|
await page.evaluate(
|
|
([accessKey, refreshKey]) => {
|
|
localStorage.setItem(accessKey, 'e2e-access-token');
|
|
localStorage.setItem(refreshKey, 'e2e-refresh-token');
|
|
},
|
|
[ACCESS_TOKEN_KEY, REFRESH_TOKEN_KEY] as [string, string]
|
|
);
|
|
return user;
|
|
}
|