Align missing-episode searches and permit reviewed profile overrides
Magent CI/CD / deploy-beta (push) Successful in 50s
Magent CI/CD / verify (push) Successful in 2m4s
Magent CI/CD / deploy-prod (push) Skipped

This commit is contained in:
2026-09-11 20:26:57 +12:00
parent de25255ea8
commit 4f7853b17b
13 changed files with 376 additions and 200 deletions
+7 -2
View File
@@ -7,7 +7,7 @@ const base = process.env.REVIEW_BASE || 'http://localhost:3114';
try {
const context = await browser.newContext();
await context.addCookies([{ name: 'magent_logged_in', value: '1', url: base }]);
const all = { stats: true, requests: true, new_requests: true, issues: true, invites: true };
const all = { stats: true, requests: true, new_requests: true, issues: true, invites: true, ignore_profile_limits: false };
const viewer = { id: 2, username: 'Georgia', role: 'user', email: 'georgia@example.test', features: { ...all }, stats: { total: 12, ready: 7, in_progress: 5 } };
const other = { ...viewer, id: 3, username: 'Other viewer', features: { ...all, issues: false } };
let signedIn = { username: 'Admin', role: 'admin', features: all };
@@ -38,16 +38,21 @@ const base = process.env.REVIEW_BASE || 'http://localhost:3114';
const dialog = page.getByRole('dialog');
await dialog.getByRole('checkbox', { name: /My Stats/ }).waitFor();
assert(await dialog.evaluate((element) => element.scrollWidth <= element.clientWidth), `No modal overflow at ${width}`);
assert.equal(await dialog.getByRole('checkbox').count(), 7);
assert.equal(await dialog.getByRole('checkbox').count(), 8);
assert(await dialog.getByText('Restrict access or delete accounts', { exact: true }).count());
await dialog.getByRole('checkbox', { name: /^Issues/ }).uncheck();
await dialog.getByRole('button', { name: 'Save feature access', exact: true }).click();
await dialog.getByRole('status').filter({ hasText: 'Feature access saved.' }).waitFor();
assert.deepEqual(writes.at(-1).payload, { issues: false });
await dialog.getByRole('checkbox', { name: /^Ignore profile limits/ }).check();
await dialog.getByRole('button', { name: 'Save feature access', exact: true }).click();
await dialog.getByRole('status').filter({ hasText: 'Feature access saved.' }).waitFor();
assert.deepEqual(writes.at(-1).payload, { ignore_profile_limits: true });
await page.keyboard.press('Escape');
await dialog.waitFor({ state: 'hidden' });
assert(await page.getByRole('button', { name: 'Manage this user', exact: true }).evaluate((element) => element === document.activeElement));
viewer.features.issues = true;
viewer.features.ignore_profile_limits = false;
}
await page.goto(`${base}/users`);
await page.getByRole('button', { name: 'Manage users', exact: true }).click();