11import { test , expect } from "@playwright/test" ;
2- import { loginAs , readE2EState } from "./helpers/agiladmin.js" ;
2+ import { loginAs , readE2EState , uploadTimesheet } from "./helpers/agiladmin.js" ;
33
44test ( "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 : / M a n a g e r $ / } ) ) . toBeVisible ( ) ;
30+ await uploadTimesheet ( page , state . fixtures . manager ) ;
31+
32+ await expect ( page . getByText ( "Uploaded: 2016_timesheet_Manager.xlsx" ) ) . toBeVisible ( ) ;
33+ } ) ;
34+
1335test ( "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