Currently there are some bad habits in how the scenarios are constructed.
- We are not following the Given-When-Then rule by adding more Given-steps after some Then-step. We should consider splitting these scenarios into several.
- Given-steps should only be used for setting something up for a test; for simulating user-actions we should use When-steps instead.
- The purpose of givens is to put the system in a known state before the user starts interacting with the system.
- The purpose of When steps is to describe the key action the user performs.
- The purpose of Then steps is to observe outcomes.