Need to gather all cases where UI disables an action somehow.
For each, identify the condition.
For each condition ensure that
- the condition comes from the business logic and not the UI
- the condition is checked before trying to apply the action (even if UI disables it)
When an API is called and the condition is not satisfied, it should throw either an IllegalArgumentException or (unlikely) an IllegalStateException.
Unit tests should reflect that (repository/use case level, UI model mapper level).
UI tests should reflect that.
Need to gather all cases where UI disables an action somehow.
For each, identify the condition.
For each condition ensure that
When an API is called and the condition is not satisfied, it should throw either an
IllegalArgumentExceptionor (unlikely) anIllegalStateException.Unit tests should reflect that (repository/use case level, UI model mapper level).
UI tests should reflect that.