566 — Should aggregate API-created time records into the matching timesheet rows¶
Description¶
Verifies that time records the user creates outside the timesheet (here, seeded via API for the current week against several different client/project combinations) are automatically grouped into the right timesheet rows, with per-row and per-day totals reflecting the seeded durations.
Preconditions¶
- Signed-in user on a fresh organization.
- Two seeded clients (original "Client 1" and a second "Client 2"), one project under Client 1.
- A set of time records is seeded via API for the current week covering: Client 1 + Project, Client 1 only, Client 2 only, and a record with no client/project at all.
- After seeding, the page is reloaded and Timesheet is reopened.
Steps¶
- Open the timesheet on the current week. Expected: the seeded records are aggregated into 4 distinct rows.
- Inspect the rows. Expected: there is a Client 1 + Project (Billable) row, a Client 1 only (Billable) row, a Client 2 only (Billable) row, and a Billable-only row with no client/project.
- Check each row's "Total" cell. Expected: every row shows a per-row total that matches the sum of the seeded durations for that row's config.
- Check the per-day column totals at the bottom of the grid. Expected: each weekday column sum matches the sum of all seeded records on that day.
Related¶
- Spec:
playwright/tests/integration/timesheet.spec.ts(line 341)