Skip to main content

Rooms Rooms Management Admin Creates Renames Deletes A Room

EPIC: rooms
Admin · Rooms (inside a house)
STORY: rooms_management
As an admin, I can create, rename and delete a house's rooms (places) after opening that house from the Houses hub.
AC: admin_creates_renames_deletes_a_room
An admin opens a house, adds a room (it appears), renames it, then deletes it (it goes) — each write reloads the house room list.

open the Admin hub and the Houses list

User Actions:
  • Tapped: widget with text "Profile"
  • Tapped: widget with key [<'MorePage.adminEntry'>]
  • Tapped: widget with key [<'AdminHubPage.housesEntry'>]
Expect:
  • AdminGuard admits the admin to /houses
  • the seeded house is listed
Events:
  • [ANALYTIC] [page]: ProfileRoute
  • MoreStarted
  • MoreCurrentMemberChanged
  • [ANALYTIC] [page]: AdminRoute
  • [ANALYTIC] [page]: HousesRoute
  • HousesStarted

open the Home house — its rooms are empty to start

User Actions:
  • Tapped: widget with key [<'HousesPage.houseTile_house-home'>]
Expect:
  • AdminGuard admits the admin to /rooms
  • no rooms in this house yet → the empty state
Events:
  • [ANALYTIC] [page]: RoomsRoute
  • RoomsStarted

add a room with a floor/area label — Kitchen appears

User Actions:
  • Tapped: widget with key [<'RoomsPage.addButton'>]
  • Entered text: Kitchen
  • Entered text: Upstairs
  • Tapped: widget with key [<'RoomEditor.saveButton'>]
Expect:
  • the new room appears after the reload
Events:
  • RoomsCreated
  • [ANALYTIC] [page_popped]: RoomsRoute

rename Kitchen → Galley (floor preserved)

User Actions:
  • Tapped: widget with key [<'RoomsPage.roomTile_room-kitchen'>]
  • Entered text: Galley
  • Tapped: widget with key [<'RoomEditor.saveButton'>]
Expect:
  • the edited room id is forwarded
  • the new name is forwarded
  • the pre-filled floor/area label is preserved on rename
  • the row shows the new name after the reload
Events:
  • RoomsRenamed
  • [ANALYTIC] [page_popped]: RoomsRoute

delete the room — it goes

User Actions:
  • Tapped: widget with key [<'RoomsPage.roomTile_room-kitchen'>]
  • Tapped: widget with key [<'RoomEditor.deleteButton'>]
Expect:
  • the deleted room is gone
  • back to the empty state
Events:
  • RoomsDeleted
  • [ANALYTIC] [page_popped]: RoomsRoute