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.