Skip to content

Commit 2321f85

Browse files
committed
test(e2e): cover upload from all personnel entry points
1 parent 59551f4 commit 2321f85

1 file changed

Lines changed: 24 additions & 3 deletions

File tree

test/e2e/personnel-visibility.spec.js

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { test, expect } from "@playwright/test";
2-
import { loginAs, readE2EState } from "./helpers/agiladmin.js";
2+
import { loginAs, readE2EState, uploadTimesheet } from "./helpers/agiladmin.js";
33

44
test("admin sees personnel list including multiple people", async ({ page }) => {
55
await loginAs(page, "admin");
@@ -10,6 +10,28 @@ test("admin sees personnel list including multiple people", async ({ page }) =>
1010
await expect(page.getByRole("button", { name: "Guest", exact: true })).toBeVisible();
1111
});
1212

13+
test("admin can upload from the personnel list", async ({ page }) => {
14+
const state = await readE2EState();
15+
await loginAs(page, "admin");
16+
await page.goto("/persons/list");
17+
18+
await uploadTimesheet(page, state.fixtures.admin);
19+
20+
await expect(page.getByText("Uploaded: 2016_timesheet_Luca-Pacioli.xlsx")).toBeVisible();
21+
});
22+
23+
test("admin can upload from an individual person page", async ({ page }) => {
24+
const state = await readE2EState();
25+
await loginAs(page, "admin");
26+
await page.goto("/persons/list");
27+
28+
await page.getByRole("button", { name: "Manager", exact: true }).click();
29+
await expect(page.getByRole("heading", { name: /Manager$/ })).toBeVisible();
30+
await uploadTimesheet(page, state.fixtures.manager);
31+
32+
await expect(page.getByText("Uploaded: 2016_timesheet_Manager.xlsx")).toBeVisible();
33+
});
34+
1335
test("manager sees own person page instead of the personnel list", async ({ page }) => {
1436
await loginAs(page, "manager");
1537
await page.goto("/persons/list");
@@ -25,8 +47,7 @@ test("manager can upload from their person page", async ({ page }) => {
2547
await loginAs(page, "manager");
2648
await page.goto("/persons/list");
2749

28-
await page.locator('input[type="file"][name="file"]').setInputFiles(state.fixtures.manager);
29-
await page.locator("#field-submit").click();
50+
await uploadTimesheet(page, state.fixtures.manager);
3051

3152
await expect(page.getByText("Uploaded: 2016_timesheet_Manager.xlsx")).toBeVisible();
3253
});

0 commit comments

Comments
 (0)