test(release): allow full live asset inventory (#218)
## Summary - give the complete public asset inventory gate a five-minute test budget - keep the API and rendered guest-flow smoke tests on the existing default timeout ## Rationale The production manifest contains the full release inventory. Sequentially downloading and hashing it takes longer than the global 60-second Playwright timeout from GitHub-hosted runners, causing false failures even though release identity, API, and guest-flow checks pass. ## Verification - ESLint on the changed spec - Playwright live configuration test discovery --------- Co-authored-by: Jeppe Bundgaard <jb@truckwash.dk>
This commit is contained in:
co-authored by
Jeppe Bundgaard
parent
fc67e7cf0b
commit
41b3be926a
@@ -16,6 +16,7 @@ type ReleaseManifest = {
|
||||
const baseURL = process.env.PLAYWRIGHT_BASE_URL || "";
|
||||
const staticBaseURL = process.env.PLAYWRIGHT_RELEASE_STATIC_BASE_URL || process.env.RELEASE_BASE_URL || baseURL;
|
||||
const appBaseURL = process.env.PLAYWRIGHT_APP_BASE_URL || baseURL;
|
||||
const releaseAssetTestTimeoutMs = 300_000;
|
||||
|
||||
function liveUrl(assetPath: string, base = staticBaseURL) {
|
||||
const normalizedBase = base.endsWith("/") ? base : `${base}/`;
|
||||
@@ -94,6 +95,8 @@ async function expectApiPing(request: APIRequestContext, apiBaseUrl: string, pat
|
||||
}
|
||||
|
||||
test("@public-live release manifest, shell, and static assets are available", async ({ request }) => {
|
||||
test.setTimeout(releaseAssetTestTimeoutMs);
|
||||
|
||||
const manifest = await expectJson<ReleaseManifest>(request, "release-manifest.json");
|
||||
const releaseEntry = await expectJson<{ entry?: string; css?: string[] }>(request, "release-entry.json");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user