NEXUS // LaundryLog Walking Skeleton
Vertical
Horizontal
OpenApp
Command
Origin
Splash Screen
Command
OpenApp
▸
no fields
Event
AppOpened
▸
openedAt
: datetime
GWT
1 rule
▸
OpenApp
Given
Unit
When
OpenApp
Then
AppOpened
No prior state needed. App opened.
SetLocation
Command
Origin
Get Location Screen
▸
PNG
get-location-screen.png
Command
SetLocation
▸
location
: string
Event
LocationSet
▸
location
: string
GWT
1 rule
▸
SetLocation
Given
[AppOpened]
When
SetLocation
Then
LocationSet
App has been opened, driver provides location.
CurrentLocation
View
Origin
NoScreen
View
CurrentLocation
▸
location
: string
Events
feeding this view
▸
LocationSet
GWT
1 rule
▸
LocationAvailable
Given
[LocationSet]
Then
CurrentLocation
Location has been set, provide it for expense entry.
LogExpense
Command
Origin
Expense Entry Screen
▸
PNG
expense-entry-screen.png
Command
LogExpense
▸
machineType
: string
quantity
: int
pricePerMachine
: decimal
paymentMethod
: string
location
: string
Event
LaundryExpenseLogged
▸
expenseId
: guid
machineType
: string
quantity
: int
pricePerMachine
: decimal
totalCost
: decimal
paymentMethod
: string
location
: string
loggedAt
: datetime
GWT
1 rule
▸
LogNewExpense
Given
[LocationSet]
When
LogExpense
Then
LaundryExpenseLogged
Location must be established. Driver logs expense details.
RecentExpenses
View
Origin
NoScreen
View
RecentExpenses
▸
expenses
: list
totalSpent
: decimal
expenseCount
: int
location
: string
Events
feeding this view
▸
LaundryExpenseLogged
GWT
1 rule
▸
RecentExpensesWithinWindow
Given
[LaundryExpenseLogged]
When
loggedAt within 3 hours
Then
RecentExpenses
Shows all expenses logged within the last 3 hours.
OpenApp
C
origin
Splash Screen
command
OpenApp
event
AppOpened
G
Unit
W
OpenApp
T
AppOpened
SetLocation
C
origin
Get Location Screen
command
SetLocation
event
LocationSet
G
[AppOpened]
W
SetLocation
T
LocationSet
CurrentLocation
V
view
CurrentLocation
reads
LocationSet
G
[LocationSet]
T
CurrentLocation
LogExpense
C
origin
Expense Entry
command
LogExpense
event
LaundryExpenseLogged
G
[LocationSet]
W
LogExpense
T
LaundryExpenseLogged
RecentExpenses
V
view
RecentExpenses
reads
LaundryExpenseLogged
G
[LaundryExpenseLogged]
W
within 3hrs
T
RecentExpenses