---
title: "Verify multi-day all-day events keep their final day"
description: "Test a sandbox all-day event spanning several dates, checking inclusive user-facing dates against the product canonical end-date representation."
canonical_url: "https://vostride.com/agent-library/scheduling/all-day-exclusive-end.md"
md_url: "https://vostride.com/agent-library/scheduling/all-day-exclusive-end.md"
content_kind: "recipe"
topic: "scheduling"
---

# Verify multi-day all-day events keep their final day

Test a sandbox all-day event spanning several dates, checking inclusive user-facing dates against the product canonical end-date representation.

## Risk

Calendar APIs often represent an all-day range differently from its visible last day. Establish the product boundary contract before testing so an off-by-one error cannot hide behind a plausible span label.

## Fixtures

- An owned sandbox calendar with a disposable all-day event covering three specific dates across a month boundary.
- A product fixture documenting its canonical start and exclusive or inclusive end representation, independently of the UI formatter.
- A read-only event oracle and a test viewer with no other events on the surrounding four dates.

## Steps

1. Create the all-day event with the prepared first and last visible dates and verify the review states the full three-day span.
2. Save and inspect each covered calendar day, verifying the event is present on all three and absent on the adjacent fourth day.
3. Open the event from its final visible day and verify the detail retains the intended first and last dates without a time-of-day field.
4. Inspect the independent oracle and verify its stored boundaries follow the documented representation; reload the month view and verify the event still spans exactly three days.

## Expected results

- The event occupies precisely the three intended calendar dates.
- Canonical boundaries match the documented all-day representation.
- Opening from the final day preserves the same event identity and full date span.

## False-pass traps

- A single range label can conceal the event being absent from its intended final day.
- Applying timed-event timezone conversion to an all-day date can introduce a false extra or missing day.

## Cleanup

- Delete the disposable all-day event and restore the calendar view baseline.

## Use with agent-qa

Adapt this test design to your application's acceptance criteria and configured target using the [recipe execution guide](/agent-library/software-factory/turn-a-recipe-into-an-agent-qa-test.md). External fixture setup and non-UI checks require your own supported hooks or test tooling. Validate the authored test, execute it, and inspect the completed evidence; this recipe is not a recorded test result.

## References

- [agent-qa first test](/docs/agent-qa/guides/first-test.md)
- [agent-qa hooks](/docs/agent-qa/guides/hooks.md)
- [agent-qa test](/docs/agent-qa/configuration/test.md)

- [Scheduling and calendar QA recipes](/agent-library/scheduling.md)
- [Software factory QA library](/agent-library.md)
