Files
2026-09-09 15:19:03 +02:00

77 lines
3.1 KiB
Gherkin

Feature: Device-local work reminders
@WJ-028 @service
Scenario: Remind only an opted-in smartphone
Given Alice enabled reminders on her smartphone but not her tablet
And it is Monday at 20:00 in the smartphone's last known timezone
And Alice has no work entry or day-off marker for that date
When the scheduler evaluates due reminders
Then one logical reminder is sent to the smartphone subscription
And none is sent to the tablet
@WJ-029 @service
Scenario Outline: Suppress an ineligible reminder
Given it is a weekday at 20:00 in the device's last known timezone
And <condition>
When the scheduler evaluates due reminders
Then no reminder is sent
Examples:
| condition |
| work is already recorded for that date |
| the date is marked as a day off |
| the work tracker is disabled |
| the account is disabled |
| the subscription is disabled |
@WJ-030 @service
Scenario: Catch up after maintenance
Given a reminder was due at 20:00 during maintenance
And it is now 21:00 on the same local date
And no work or day-off marker exists for that date
When the released application resumes scheduling
Then that reminder is sent
And another scheduler run does not create another logical reminder
@WJ-031 @service
Scenario: Do not catch up after the window closes
Given a reminder was missed during an outage
And it is after 22:00 in the device's last known timezone
When scheduling resumes
Then that missed reminder is discarded
@WJ-032 @service
Scenario: Use the last observed timezone while the app is closed
Given the smartphone last reported Europe/Berlin
And its owner travels without reopening the app
When the server schedules the reminder
Then it uses Europe/Berlin
When the app opens and reports a new valid timezone
Then subsequent scheduling uses the newly reported timezone
@WJ-033 @browser
Scenario: Open an old notification
Given a reminder refers to 2026-09-08
When Alice taps it on 2026-09-09
Then the work entry form opens for 2026-09-08
And the normal customer and project defaults apply
@WJ-034 @service
Scenario: Do not remind at weekends
Given an opted-in device has no recorded work or day-off marker today
And today is Saturday or Sunday in its last known timezone
When the scheduler evaluates reminders at 20:00
Then no reminder is sent
@WJ-035 @service
Scenario: Work recorded on another device suppresses a reminder
Given Alice's smartphone is opted in for reminders
And Alice records work on her desktop for the smartphone's current date
When the smartphone reminder becomes due
Then no reminder is sent
@WJ-060 @service
Scenario: Removing a day-off marker restores reminder eligibility
Given Alice's smartphone is opted in for reminders
And Alice marks the current date as a day off and then removes the marker
When the smartphone reminder becomes due
Then one logical reminder is sent to the smartphone subscription