More Access-Control Testing

The advantage of splitting responsibility and testing into separate controller and model concerns becomes even more clear when you add another requirement. Let’s allow for the possibility of administrative users who can see any project, as well as public projects that can be seen by any user.

You’ll want to represent these properties in the database—in this case, you’re doing the design work based on planning your test. You’ll generate a migration using the command rake generate migration add_public_fields, which gives a skeleton file. Add the following and then run rake db:migrate:

 $ ​​rails​​ ​​generate​​ ​​migration​​ ​​add_public_fields
 class​ AddPublicFields ...

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.