Hello!
Welcome back to the Ruby community!
There seems to be a bit of confusion in your post, which hopefully I can clarify.
The parts of Rails testing stack we used for controller specs was deprecated by the Rails team due to being “only part of the story” of a request, they were an incomplete part of the controller request life cycle and so were never really unit tests, you can still use them with the addition of the `rails-controller-tests` gem but the suggested replacement is request specs.
A request spec runs the entire rack stack so can be entirely Ruby based, but offers a realistic insight into the full request life cycle as an integration test.
This sounds like what you want for testing your API.
System tests (and thus specs) are an end to end testing solution, allowing testing of browsers and Javascript against your web server of choice, but equally, you could choose to use to have a complete acceptance style test. Where you send full on JSON to the web server and have it passed to Rails. Wether the extra boot time is enough to discourage you from this for the extra gain is up to you.
Additionally, although capybara is used to talk HTML to rails in tests, you still have access to the raw `rack-test` helpers to send JSON or params etc.
So the two things are different, and can still be used together, or not, as you decide.
Hope that helps!
Cheers
Jon Rowe
---------------------------