test(admin): navigate populated Users pagination in responsive checks
This commit is contained in:
@@ -120,12 +120,26 @@ test('[P7-10 Users A01] finite bilingual light/dark widths retain long identitie
|
||||
test.setTimeout(180_000); const administrator=await login(session.requests, page.request, 'e2e@example.test');
|
||||
const email=`long-administrative-identity-${Date.now()}@example.test`;
|
||||
expect((await call(session.requests, page.request, 'POST', '/users', administrator.headers, { email, password, roles: [] })).status()).toBe(200);
|
||||
for (let index=0; index<10; index++) {
|
||||
expect((await call(session.requests, page.request, 'POST', '/users', administrator.headers, { email: `a-page-${index}-${email}`, password, roles: [] })).status()).toBe(200);
|
||||
}
|
||||
const samples=[{ width: 320, language: 'nb', mode: 'dark' }, { width: 390, language: 'en', mode: 'light' }, { width: 768, language: 'nb', mode: 'light' }, { width: 1024, language: 'en', mode: 'dark' }, { width: 1440, language: 'en', mode: 'light' }, { width: 1920, language: 'nb', mode: 'dark' }] as const;
|
||||
for (const sample of samples) {
|
||||
expect((await call(session.requests, page.request, 'PUT', '/auth/preferences/language', administrator.headers, { language: sample.language==='nb' ? 'nb-NO' : 'en' })).status()).toBe(204);
|
||||
await page.addInitScript(value => { localStorage.setItem('uiLanguage', value.language); localStorage.setItem('jobtracker.themeMode', value.mode); }, sample);
|
||||
await start(page, '/admin/users', sample.width);
|
||||
await expect(page.getByRole('heading', { level: 3, name: copy('adminUsersCreateUser', sample.language), exact: true })).toBeVisible();
|
||||
if (sample.width>=768) {
|
||||
const grid=page.getByRole('grid');
|
||||
await expect(grid.getByRole('row').nth(1)).toBeVisible();
|
||||
while (!await page.getByText(email, { exact: true }).first().isVisible()) {
|
||||
const next=page.getByRole('button', { name: 'Go to next page', exact: true });
|
||||
await expect(next).toBeEnabled();
|
||||
const before=await grid.getByRole('row').nth(1).innerText();
|
||||
await next.click();
|
||||
await expect.poll(() => grid.getByRole('row').nth(1).innerText()).not.toBe(before);
|
||||
}
|
||||
}
|
||||
await expect(page.getByText(email, { exact: true }).first()).toBeVisible();
|
||||
if (sample.width>=768) {
|
||||
const region=page.getByRole('region', { name: copy('adminUsersTitle', sample.language), exact: true }); await expect(region).toHaveAttribute('tabindex', '0');
|
||||
|
||||
Reference in New Issue
Block a user