feat: persist weekly availability defaults (Closes #1256)
CI / lint (pull_request) Successful in 3m37s
CI / build-release (pull_request) Successful in 8s
CI / browser-journey (pull_request) Successful in 5m47s
CI / release-candidate (pull_request) Has been skipped

This commit is contained in:
timmy committed 2026-08-22 08:10:24 +00:00
1 parent ea3204c78c
commit 1ae8533702
8 files changed
+255 -17

No files matched your search

@@ -65,6 +65,8 @@ def test_release_artifact_plans_seven_touch_safe_mobile_dates(
route.fulfill(status=200, content_type="application/json", body=json.dumps({
"revision": body["base_revision"] + 1,
"timezone": body["timezone"], "days": body["days"],
**({"availability_defaults": body["availability_defaults"]}
if "availability_defaults" in body else {}),
}))
return
route.fulfill(status=200, content_type="application/json", body=json.dumps({
@@ -107,6 +109,29 @@ def test_release_artifact_plans_seven_touch_safe_mobile_dates(
"Week Ahead overview · no changes made."
)
expect(page.locator("#confirm-week-plan")).to_be_hidden()
availability = page.locator("#open-week-availability")
expect(availability).to_be_visible()
availability_bounds = availability.bounding_box()
assert availability_bounds and availability_bounds["height"] >= 44
availability.click()
editor = page.locator("#week-availability-editor")
expect(editor).to_be_visible()
capacities = editor.locator("[data-weekday-capacity]")
expect(capacities).to_have_count(7)
for index, minutes in enumerate((480, 480, 480, 480, 360, 0, 0)):
capacities.nth(index).fill(str(minutes))
bounds = capacities.nth(index).bounding_box()
assert bounds and bounds["height"] >= 44
assert page.evaluate("document.documentElement.scrollWidth <= window.innerWidth")
page.locator("#save-week-availability").click()
expect(editor).to_be_hidden()
expect(page.locator("#week-review-status")).to_have_text("Weekly availability saved.")
assert saved[-1]["availability_defaults"] == [480, 480, 480, 480, 360, 0, 0]
availability.click()
page.locator("#disable-week-availability").click()
expect(editor).to_be_hidden()
expect(page.locator("#week-review-status")).to_have_text("Weekly availability disabled.")
assert "availability_defaults" not in saved[-1]
edit_week = page.locator("#edit-week-plan")
expect(edit_week).to_be_visible()
remove_actions = cards.first.locator("[data-week-unplan]")