guardian / guardian/notifications-tooling

US-09 — Schedule a notification

Open
#46 0 comments 0 reactions 0 assignees View on GitHub
. schedule send feature would
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.