Making the Capybara Test Pass
Let’s go through the integration-test process. One quick note: you’re using factory_bot (see Chapter 6, Adding Data to Tests) to create the projects and tasks with let!. You could also use fixtures, but for this go-around I’ve decided the factories are more readable, if slower.
The first failure is that you don’t have a show method in the ProjectsController. The show method is easy enough, and probably doesn’t need additional testing:
| def show |
| @project = Project.find(params[:id]) |
| end |
You’ll also want a template. You know it’s going to need a table for the tasks as well as a form to create a new task. Here’s one. It’s unstyled, but it’s got the table ...
Get Rails 5 Test Prescriptions now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.