forked from kevadesu/forgejo
Migrate playwright to typescript
This commit is contained in:
parent
30f795d925
commit
3a3416c069
25 changed files with 42 additions and 79 deletions
45
tests/e2e/explore.test.e2e.ts
Normal file
45
tests/e2e/explore.test.e2e.ts
Normal file
|
@ -0,0 +1,45 @@
|
|||
// document is a global in evaluate, so it's safe to ignore here
|
||||
// eslint playwright/no-conditional-in-test: 0
|
||||
|
||||
// @watch start
|
||||
// templates/explore/**
|
||||
// web_src/modules/fomantic/**
|
||||
// @watch end
|
||||
|
||||
import {expect} from '@playwright/test';
|
||||
import {test} from './utils_e2e.ts';
|
||||
|
||||
test('Explore view taborder', async ({page}) => {
|
||||
await page.goto('/explore/repos');
|
||||
|
||||
const l1 = page.locator('[href="https://forgejo.org"]');
|
||||
const l2 = page.locator('[href="/assets/licenses.txt"]');
|
||||
const l3 = page.locator('[href*="/stars"]').first();
|
||||
const l4 = page.locator('[href*="/forks"]').first();
|
||||
let res = 0;
|
||||
const exp = 15; // 0b1111 = four passing tests
|
||||
|
||||
for (let i = 0; i < 150; i++) {
|
||||
await page.keyboard.press('Tab');
|
||||
if (await l1.evaluate((node) => document.activeElement === node)) {
|
||||
res |= 1;
|
||||
continue;
|
||||
}
|
||||
if (await l2.evaluate((node) => document.activeElement === node)) {
|
||||
res |= 1 << 1;
|
||||
continue;
|
||||
}
|
||||
if (await l3.evaluate((node) => document.activeElement === node)) {
|
||||
res |= 1 << 2;
|
||||
continue;
|
||||
}
|
||||
if (await l4.evaluate((node) => document.activeElement === node)) {
|
||||
res |= 1 << 3;
|
||||
continue;
|
||||
}
|
||||
if (res === exp) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
expect(res).toBe(exp);
|
||||
});
|
Loading…
Add table
Add a link
Reference in a new issue