For controller-level confidence, I add a request spec that sets Accept: text/vnd.turbo-stream.html and asserts the response includes a turbo stream action. This is faster than a system test and catches accidental template name changes (create.turbo_stream.erb). It also verifies status codes (422 vs 200) and redirect behavior (303). I don’t overdo these, but for a few key actions—create, update, destroy—it’s worth it. One thing to remember: Turbo Streams are just HTML with a different content type. In tests, you can treat them as a string and look for <turbo-stream tags, targets, and actions. That keeps tests simple and avoids brittle DOM parsing.