Files
Immich/web/test/medium/global-setup.ts
T
Jason Rasmussen 8e77a8c6f8 refactor: web tests (#32983)
* refactor: web tests

* fix: e2e ratelimits

* fix: prefer data-testid

* chore: pr feedback
2026-11-05 20:36:37 +03:00

39 lines
1.1 KiB
TypeScript

import { Route } from '#lib/route.ts';
import { factory } from '#test/common/factories.ts';
import { Mock } from '#test/medium/mocks/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');
});
const mock = new Mock(context);
await mock.setup({ baseURL });
const asset = factory.asset();
mock.data.addAssets(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;