Test Cases 500 instead of 404ing when record not found
Summary
Test Cases should 404 when they 500 instead.
This fails because the record is not found but instead raising an exception, the @test_case ivar is assigned nil and the first method called on it fails. This happens to be ee/app/views/projects/quality/test_cases/show.html.haml:3 and undefined method 'to_reference' for nil:NilClass.
Steps to reproduce
- Go to any test case URL with an
iidthat doesn't exist, see example project.
Example Project
https://gitlab.com/gitlab-org/plan/-/quality/test_cases/3773333
What is the current bug behavior?
A 500 error is shown.
What is the expected correct behavior?
A 404 is shown.
Possible fixes
Raise a RecordNotFound exception and let Rails handle the 404 instead of assigning nil to @test_case.
Edited by John Hope