Files
Immich/web/test/medium/global-setup.ts
T
Jason Rasmussen e14fcd0a52 feat: web medium tests (#32817)
* feat: web medium tests

* chore: pr feedback

* fix: merge
2026-11-03 19:39:30 +03:00

41 lines
1.2 KiB
TypeScript

import { Route } from '#lib/route.ts';
import { factory } from '#test/medium/mock/factories.ts';
import { Mock } from '#test/medium/mock/mock.ts';
import { chromium, type FullConfig } from '@playwright/test';
const warmUp = async (config: FullConfig) => {
if (!process.env.PLAYWRIGHT_DEV_SERVER) {
return;
}
const baseURL = config.projects[0].use.baseURL!;
const browser = await chromium.launch();
const context = await browser.newContext({ baseURL, serviceWorkers: 'block' });
await context.addInitScript(() => {
localStorage.setItem('lang', 'dev');
});
await context.addCookies([{ name: 'immich_is_authenticated', value: 'true', url: baseURL }]);
const mock = new Mock(context);
await mock.install();
const asset = factory.asset();
mock.data.addAsset(asset);
const page = await context.newPage();
const routes = [
Route.photos(),
Route.viewAsset({ id: asset.id }),
Route.favorites(),
Route.archive(),
Route.trash(),
Route.albums(),
Route.memories(),
Route.search({ originalFileName: 'warm-up' }),
];
for (const route of routes) {
await page.goto(route, { waitUntil: 'networkidle' });
}
await browser.close();
};
export default warmUp;