Skip to main content

Rewards Rewards Management Admin Creates Edits Archives A Reward

EPIC: rewards
Admin · Rewards catalog CRUD
STORY: rewards_management
As an admin, I can create, edit and archive the household rewards so members have a working catalog to spend tokens on.
AC: admin_creates_edits_archives_a_reward
An admin adds a reward (it appears), edits its token cost, then archives it — each write reloads the reward list via the facade.

open the Admin hub and the Manage page (Rewards tab)

User Actions:
  • Tapped: widget with text "Profile"
  • Tapped: widget with key [<'MorePage.adminEntry'>]
  • Tapped: widget with key [<'AdminHubPage.manageEntry'>]
Expect:
  • AdminGuard admits the admin to /manage
  • Rewards tab (default) shows the empty state
Events:
  • [ANALYTIC] [page]: ProfileRoute
  • MoreStarted
  • MoreCurrentMemberChanged
  • [ANALYTIC] [page]: AdminRoute
  • [ANALYTIC] [page]: ManageRoute
  • RewardsStarted
  • ActivitiesStarted
  • ChoresManagementStarted
  • ChoreRequestsManageStarted

add a reward — Movie night appears

User Actions:
  • Tapped: widget with key [<'RewardsPage.addButton'>]
  • Entered text: Movie night
  • Entered text: Friday film with popcorn
  • Entered text: 30
  • Tapped: widget with key [<'RewardEditor.saveButton'>]
Expect:
  • the new reward appears after the reload
Events:
  • RewardsCreated
  • [ANALYTIC] [page_popped]: ManageRoute

edit Movie night — bump the token cost to 40

User Actions:
  • Tapped: widget with key [<'RewardsPage.rewardTile_reward-movie'>]
  • Entered text: 40
  • Tapped: widget with key [<'RewardEditor.saveButton'>]
Expect:
  • the row shows the new token cost after the reload
Events:
  • RewardsUpdated
  • [ANALYTIC] [page_popped]: ManageRoute

archive Movie night — it shows as archived

User Actions:
  • Tapped: widget with key [<'RewardsPage.archiveButton_reward-movie'>]
Expect:
  • an archived reward offers a restore affordance
Events:
  • RewardsArchived