Actually drop the quota override from the comments pack (#92)
All checks were successful
CD / Build and push images (push) Successful in 1m8s
CD / Deploy to Test (push) Successful in 10s
CD / Smoke tests against Test (push) Successful in 1m9s
CD / Promote to Int (push) Successful in 10s
CI / Lint, typecheck, test (push) Successful in 3m18s
CI / Build container images (push) Has been skipped
CI / Auth e2e pack (push) Successful in 5m24s
CI / Import/export fidelity gate (push) Successful in 46s

The previous commit's automated edit silently missed the beforeAll block;
the pack still lowered the seeded additional_ponds override to 10, which
CI's accumulated fixture ponds exceed. The pack now relies on the seeded
headroom and reports the create-pond response on failure.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EwZ4jR4KFAPvpjWevfUGX1
This commit is contained in:
Claude Fable 5 2026-07-11 22:36:53 +02:00
parent c8afe7c8d6
commit 30992a2e6d

View File

@ -13,29 +13,20 @@ const BASE_URL = process.env.E2E_BASE_URL ?? 'http://localhost:5173';
let pondId: string; let pondId: string;
let pageUrl: string; let pageUrl: string;
let ownerId: string;
// The pack provisions its OWN pond: the shared fixture pond accumulates // The pack provisions its OWN pond: the shared fixture pond accumulates
// grants from earlier packs in the same CI job (access-rules & friends), so // grants from earlier packs in the same CI job (access-rules & friends), so
// "fixture-editor is only a reader here" would not hold there. A Site Admin // "fixture-editor is only a reader here" would not hold there. The seed
// lifts fixture-user's additional-pond quota for the run. // already gives fixture users additional-pond headroom (override 100) —
// never lower it here: in CI the earlier packs' ponds count against it.
test.beforeAll(async ({ browser }) => { test.beforeAll(async ({ browser }) => {
const admin = await contextForUser(browser, BASE_URL, 'fixture-admin');
const lookup = (await (await admin.request.get('/api/v1/admin/users?q=fixture-user')).json()) as {
users: { id: string; username: string }[];
};
ownerId = lookup.users.find((u) => u.username === 'fixture-user')!.id;
const quota = await admin.request.put(`/api/v1/admin/quotas/user/${ownerId}/additional_ponds`, {
data: { value: 10 },
});
expect(quota.ok()).toBe(true);
await admin.close();
const owner = await contextForUser(browser, BASE_URL, 'fixture-user'); const owner = await contextForUser(browser, BASE_URL, 'fixture-user');
const pondRes = await owner.request.post('/api/v1/ponds', { const pondRes = await owner.request.post('/api/v1/ponds', {
data: { name: `Comments stage ${Date.now()}` }, data: { name: `Comments stage ${Date.now()}` },
}); });
expect(pondRes.ok()).toBe(true); if (!pondRes.ok()) {
throw new Error(`create pond failed: ${pondRes.status()} ${await pondRes.text()}`);
}
const pond = (await pondRes.json()) as { id: string; slug: string }; const pond = (await pondRes.json()) as { id: string; slug: string };
pondId = pond.id; pondId = pond.id;