guardian / guardian/notifications-tooling
US-09 — Schedule a notification
- Dominant language
- TypeScript
- Stars
- 3
- Forks
- 0
- Avg merge
- 1d 6h
- Merged PRs (30d)
- 108
Description
OUT OF SCOPE FOR V1
## User story
As a notification author, I want to schedule a notification for a future date and time so that it is delivered at the intended moment.
## Acceptance scenarios
```gherkin
Feature: Schedule a notification
Background:
Given the author has completed all mandatory notification fields
And the author has selected at least one communication channel
And the author has selected "Scheduled"
Scenario: Schedule a notification for a future time
When the author selects a valid future date and time
And confirms the schedule
Then the notification status should become "scheduled"
And the scheduled date and time should be recorded
Scenario: Schedule an App-only notification
Given the author has selected "App Notification"
And the author has not selected "Email Newsletter"
When the author confirms a valid future delivery time
Then the notification should be scheduled for the App Notification channel
And the dispatch channels should be recorded as "app"
Scenario: Schedule an Email-only notification
Given the author has selected "Email Newsletter"
And the author has not selected "App Notification"
When the author confirms a valid future delivery time
Then the notification should be scheduled for the Email Newsletter channel
And the dispatch channels should be recorded as "email"
Scenario: Schedule for both channels
Given the author has selected "App Notification"
And the author has selected "Email Newsletter"
When the author confirms a valid future delivery time
Then the notification should be scheduled for both communication channels
And the dispatch channels should be recorded as "app, email"
Scenario: Attempt to schedule in the past
When the author selects a date and time in the past
And attempts to confirm the schedule
Then the notification should not be scheduled
And the author should be asked to select a future date and time
Scenario: Display the scheduling timezone
When the scheduling controls are displayed
Then the timezone used for the scheduled time should be clearly identified
Scenario: Deliver a scheduled notification
Given a notification has status "scheduled"
And its scheduled delivery time has been reached
When the scheduling process runs
Then the notification should be submitted to its selected communication channels
And its status should become "dispatched" following successful delivery
And the actual dispatch date and time should be recorded
Scenario: Scheduled delivery fails
Given a scheduled notification has reached its delivery time
And the delivery service is unavailable
When the scheduling process attempts delivery
Then the notification should not be marked as successfully dispatched
And the delivery failure should be recorded
And the author is notified
```
Contributor guide
No contributing guide indexed for this repository
Research direction
The issue names no files, tests, or entry points to inspect. Use its acceptance scenarios as the completion checklist: future-time validation, timezone display, channel recording, scheduled delivery, dispatch status and timestamp updates, failure recording, and author notification.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100