Used HTTP-level assertions to exercise rendered pages, shift creation, swap creation, persistence, and rejection of invalid staff references. Its failures clearly identified unexpected 500 responses during development.
- What worked
- Status assertions and request helpers gave concise route-level coverage and useful stack traces, and all four final tests passed.