From f77be256e3dedd5bdf73cf28d2acf3e5bba8c750 Mon Sep 17 00:00:00 2001 From: Linus Gasser Date: Thu, 15 Feb 2024 10:42:27 +0100 Subject: [PATCH] Fixing some warnings I don't know why they show up in WebStorm but not with eslint... --- web/frontend/tests/formIndex.spec.ts | 15 ++++++++------- web/frontend/tests/forms.spec.ts | 16 ++++++++-------- web/frontend/tests/navbar.spec.ts | 1 + web/frontend/tests/shared.ts | 16 ++++++++-------- 4 files changed, 25 insertions(+), 23 deletions(-) diff --git a/web/frontend/tests/formIndex.spec.ts b/web/frontend/tests/formIndex.spec.ts index 00decec35..0b6a9b10a 100644 --- a/web/frontend/tests/formIndex.spec.ts +++ b/web/frontend/tests/formIndex.spec.ts @@ -1,4 +1,4 @@ -import { expect, test } from '@playwright/test'; +import { Locator, Page, expect, test } from '@playwright/test'; import { default as i18n } from 'i18next'; import { assertHasFooter, assertHasNavBar, initI18n, logIn, setUp, translate } from './shared'; import { SCIPER_ADMIN, SCIPER_USER, mockPersonalInfo } from './mocks/api'; @@ -9,7 +9,7 @@ import Admin from './json/api/personal_info/123456.json'; initI18n(); -async function goForward(page: page) { +async function goForward(page: Page) { await page.getByRole('button', { name: i18n.t('next') }).click(); } @@ -85,7 +85,7 @@ test('Assert no forms are displayed for empty list', async ({ page }) => { .toHaveLength(1); }); -async function assertQuickAction(row: locator, form: object, sciper?: string) { +async function assertQuickAction(row: Locator, form: any, sciper?: string) { const user = sciper === SCIPER_USER ? User : (sciper === SCIPER_ADMIN ? Admin : undefined); // eslint-disable-line const quickAction = row.getByTestId('quickAction'); switch (form.Status) { @@ -94,6 +94,7 @@ async function assertQuickAction(row: locator, form: object, sciper?: string) { if ( user !== undefined && form.FormID in user.authorization && + // @ts-ignore user.authorization[form.FormID].includes('vote') ) { await expect(quickAction).toHaveText(i18n.t('vote')); @@ -134,9 +135,9 @@ test('Assert forms are displayed correctly for unauthenticated user', async ({ p await assertQuickAction(row, form); } await goForward(page); - let row = await table.getByRole('row', { name: translate(Forms.Forms.at(-1).Title) }); + let row = await table.getByRole('row', { name: translate(Forms.Forms.at(-1)!.Title) }); await expect(row).toBeVisible(); - await assertQuickAction(row, Forms.Forms.at(-1)); + await assertQuickAction(row, Forms.Forms.at(-1)!); }); test('Assert quick actions are displayed correctly for authenticated users', async ({ page }) => { @@ -151,8 +152,8 @@ test('Assert quick actions are displayed correctly for authenticated users', asy } await goForward(page); await assertQuickAction( - await table.getByRole('row', { name: translate(Forms.Forms.at(-1).Title) }), - Forms.Forms.at(-1) + await table.getByRole('row', { name: translate(Forms.Forms.at(-1)!.Title) }), + Forms.Forms.at(-1)! ); } }); diff --git a/web/frontend/tests/forms.spec.ts b/web/frontend/tests/forms.spec.ts index f69916b8c..a4a8e5a6b 100644 --- a/web/frontend/tests/forms.spec.ts +++ b/web/frontend/tests/forms.spec.ts @@ -1,4 +1,4 @@ -import { expect, test } from '@playwright/test'; +import { Locator, Page, expect, test } from '@playwright/test'; import { default as i18n } from 'i18next'; import { assertHasFooter, assertHasNavBar, initI18n, logIn, setUp } from './shared'; import { @@ -36,7 +36,7 @@ const prettyFormStates = [ // main elements async function setUpMocks( - page: page, + page: Page, formStatus: number, dkgActorsStatus: number, initialized?: boolean @@ -69,7 +69,7 @@ test('Assert footer is present', async ({ page }) => { await assertHasFooter(page); }); -async function assertIsOnlyVisibleToOwner(page: page, locator: locator) { +async function assertIsOnlyVisibleToOwner(page: Page, locator: Locator) { await test.step('Assert is hidden to unauthenticated user', async () => { await expect(locator).toBeHidden(); }); @@ -88,9 +88,9 @@ async function assertIsOnlyVisibleToOwner(page: page, locator: locator) { } async function assertIsOnlyVisibleInStates( - page: page, - locator: locator, - states: Array, + page: Page, + locator: Locator, + states: Array, assert: Function, dkgActorsStatus?: number, initialized?: boolean @@ -112,7 +112,7 @@ async function assertIsOnlyVisibleInStates( } async function assertRouteIsCalled( - page: page, + page: Page, url: string, key: string, action: string, @@ -387,7 +387,7 @@ test('Assert "Vote" button is visible to admin/non-admin voter user', async ({ p page.getByRole('button', { name: i18n.t('vote'), exact: true }), // by default name is not matched exactly which returns both the "Vote" and the "Add voters" button [1], // eslint-disable-next-line @typescript-eslint/no-shadow - async function (page: page, locator: locator) { + async function (page: Page, locator: Locator) { await test.step('Assert is hidden to unauthenticated user', async () => { await expect(locator).toBeHidden(); }); diff --git a/web/frontend/tests/navbar.spec.ts b/web/frontend/tests/navbar.spec.ts index b340efcc8..6226ff5e3 100644 --- a/web/frontend/tests/navbar.spec.ts +++ b/web/frontend/tests/navbar.spec.ts @@ -61,6 +61,7 @@ test('Assert "Logout" calls logout API', async ({ page, baseURL }) => { ['menuitem', 'logout'], ['button', 'continue'], ]) { + // @ts-ignore await page.getByRole(role, { name: i18n.t(key) }).click(); } }); diff --git a/web/frontend/tests/shared.ts b/web/frontend/tests/shared.ts index 81852c2f3..7849f7177 100644 --- a/web/frontend/tests/shared.ts +++ b/web/frontend/tests/shared.ts @@ -1,5 +1,5 @@ import { default as i18n } from 'i18next'; -import { expect } from '@playwright/test'; +import { Locator, Page, expect } from '@playwright/test'; import en from './../src/language/en.json'; import fr from './../src/language/fr.json'; import de from './../src/language/de.json'; @@ -21,7 +21,7 @@ export function initI18n() { }); } -export async function setUp(page: page, url: string) { +export async function setUp(page: Page, url: string) { await mockProxy(page); await mockGetDevLogin(page); await mockLogout(page); @@ -30,18 +30,18 @@ export async function setUp(page: page, url: string) { await expect(page).toHaveURL(url); } -export async function logIn(page: page, sciper: string) { +export async function logIn(page: Page, sciper: string) { await mockPersonalInfo(page, sciper); await page.reload({ waitUntil: 'networkidle' }); } -export async function assertOnlyVisibleToAuthenticated(page: page, locator: locator) { +export async function assertOnlyVisibleToAuthenticated(page: Page, locator: Locator) { await expect(locator).toBeHidden(); // assert is hidden to unauthenticated user await logIn(page, SCIPER_USER); await expect(locator).toBeVisible(); // assert is visible to authenticated user } -export async function assertOnlyVisibleToAdmin(page: page, locator: locator) { +export async function assertOnlyVisibleToAdmin(page: Page, locator: Locator) { await expect(locator).toBeHidden(); // assert is hidden to unauthenticated user await logIn(page, SCIPER_USER); await expect(locator).toBeHidden(); // assert is hidden to authenticated non-admin user @@ -49,15 +49,15 @@ export async function assertOnlyVisibleToAdmin(page: page, locator: locator) { await expect(locator).toBeVisible(); // assert is visible to admin user } -export async function assertHasNavBar(page: page) { +export async function assertHasNavBar(page: Page) { await expect(page.getByTestId('navBar')).toBeVisible(); } -export async function assertHasFooter(page: page) { +export async function assertHasFooter(page: Page) { await expect(page.getByTestId('footer')).toBeVisible(); } -export function translate(internationalizable: object) { +export function translate(internationalizable: any) { switch (i18n.language) { case 'en': return internationalizable.En;