Phase 5 PR 4: e1m playwright variant — UseOneMinuteIntervals=true#1550
Merged
Merged
Conversation
Adds the `e1m` shard to the variant matrix exercising the flag-on (`UseOneMinuteIntervals=1`) rendering / form / picker code paths. Mirrors the merged b1m/c1m/d1m pattern shipped by PR #1545 / PR #1548 / PR #1549: • Same baseline seed (`420_eform-angular-time-planning-plugin.sql` and `420_SDK.sql` are copies of `a/`). • Same `post-migration.sql` flipping `UseOneMinuteIntervals = 1` for every active assigned site (the workflow's generic post-migration step picks this up automatically). • Same multi-shift round-trip shape (fill all 5 ascending shifts, save, reload, assert every value round-tripped). What's new in e1m: a fresh off-grid time block (`OFFGRID_TIMES_E1M`) parked in the small-hour outer-ring 01-11 of the timepicker clock face, mirroring d1m on the opposite side of the dial. b1m sweeps a narrower mid-morning band (08-16), c1m straddles the outer→inner transition (17-19), d1m parks every shift inside the inner ring (13-23); e1m sweeps the small-hour outer ring (01-11). The variant matrix as a whole now touches every quadrant of the 24-hour clock surface. The e shard's original `e/dashboard-edit-a.spec.ts` (which only fills shift 1 with edge values 01:00 / 00:00) is intentionally NOT cloned — that partial-shift / midnight-wrap shape hits the still-unresolved `success:false` path inside `TimePlanningPlanningService.Update`. Per the brainstorm map, e1m therefore ships the proven multishift-shape clone that b1m/c1m/d1m already ship. Workflow change: adds `e1m` to `matrix.test:` in both `.github/ workflows/dotnet-core-master.yml` and `dotnet-core-pr.yml` so the new shard runs in CI. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Adds the e1m Playwright shard variant to expand coverage of the UseOneMinuteIntervals=1 (“1-minute gap”) code paths by exercising off-grid times in the small-hour outer-ring portion of the timepicker, continuing the b1m/c1m/d1m variant-matrix rollout.
Changes:
- Introduces new
e1m/shard assets (seed SQL copies, post-migration patch flippingUseOneMinuteIntervals, and a multishift round-trip spec). - Extends
one-minute-times.tswithOFFGRID_TIMES_E1Mfor shared off-grid literals used by the new shard. - Adds
e1mto the Playwright matrix in both PR and master GitHub Actions workflows.
Reviewed changes
Copilot reviewed 5 out of 7 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| eform-client/playwright/helpers/one-minute-times.ts | Adds OFFGRID_TIMES_E1M constant bundle for the new shard’s off-grid time literals. |
| eform-client/playwright/e2e/plugins/time-planning-pn/e1m/post-migration.sql | Flips UseOneMinuteIntervals=1 for created AssignedSites after migrations. |
| eform-client/playwright/e2e/plugins/time-planning-pn/e1m/dashboard-edit-multishift.spec.ts | New multishift planned-hours save/reload round-trip regression test using E1M times. |
| eform-client/playwright/e2e/plugins/time-planning-pn/e1m/420_SDK.sql | Shard-owned seed SQL (copy of baseline seed). |
| eform-client/playwright/e2e/plugins/time-planning-pn/e1m/420_eform-angular-time-planning-plugin.sql | Shard-owned plugin DB seed SQL (copy of baseline seed). |
| .github/workflows/dotnet-core-pr.yml | Adds e1m to the PR Playwright matrix. |
| .github/workflows/dotnet-core-master.yml | Adds e1m to the master Playwright matrix. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+81
to
+85
| * outer-ring 1-10 (and 11-12) hour selectors of the timepicker clock face, | ||
| * deliberately crossing the inner→outer boundary at hour 12. b1m sweeps a | ||
| * narrower mid-morning band (08-16), c1m straddles outer→inner around 17-19, | ||
| * d1m parks inside the inner ring (13-23). e1m mirrors d1m on the opposite | ||
| * side of the clock by sweeping the small-hour outer ring (01-10) so the |
Comment on lines
+8
to
+13
| * small-hour outer-ring (01-10) hour positions of the timepicker clock face, | ||
| * deliberately crossing the 12 boundary. b1m sweeps a narrower mid-morning | ||
| * band (08-16), c1m straddles the outer→inner transition around 17-19, d1m | ||
| * parks every shift inside the inner ring (13-23); e1m mirrors d1m on the | ||
| * opposite side by sweeping the small-hour outer ring (01-11). The variant | ||
| * matrix as a whole now exercises every quadrant of the 24-hour clock surface. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Phase 5 PR 4 of 9 — adds the
e1mshard to the variant matrix that exercises the flag-on (UseOneMinuteIntervals=1) code paths. Direct continuation of PR #1545 (b1m), PR #1548 (c1m), PR #1549 (d1m).e1m/with 4 files:420_SDK.sqland420_eform-angular-time-planning-plugin.sql(copies ofa/),post-migration.sql(flips the flag for every active assigned site), anddashboard-edit-multishift.spec.ts(multi-shift round-trip test).OFFGRID_TIMES_E1Mtoeform-client/playwright/helpers/one-minute-times.tsparked in the small-hour outer ring 01-11 of the timepicker clock face. Mirrors d1m on the opposite side of the dial: b1m=mid-morning band, c1m=outer→inner transition, d1m=inner-ring 13-23, e1m=outer-ring 01-11. Matrix as a whole now touches every quadrant.e1mtomatrix.test:in both.github/workflows/dotnet-core-master.ymlanddotnet-core-pr.yml.Why this shape, not e/dashboard-edit-a clone
The e shard's original specs (
e/dashboard-edit-a.spec.ts) only fill shift 1 with edge values (01:00 / 00:00) — the partial-shift / midnight-wrap shape that hits the still-unresolvedsuccess:falsepath insideTimePlanningPlanningService.Update(see PR #1545 / PR #1548 / PR #1549 lessons). Per the brainstorm map, e1m therefore ships the proven multishift-shape clone that b1m/c1m/d1m ship.Test plan
e1mmatrix entrya..q,b1m,c1m,d1mmatrix entries🤖 Generated with Claude Code