#125 Test Devise authentication with Controller and System tests

17/04/2023
devise rails testing tdd

When setting up a new Rails app with Devise, you should set up your test suite to work with authentication and write controller (integration) and system tests for the authentication flow.

Here’s a reusable approach to setting up your test suite for the long run!

Episode source code: https://github.com/corsego/125-test-devise-authentication/commits/main
Based on this blogpost: https://blog.corsego.com/minitest-faker-factory-bot-devise

0:00 tests in generated controllers
1:34 update routes and make tests work
3:49 install devise
6:15 fix duplicate index users on email in fixtures
7:03 test unauthenticated access
9:15 devise login in tests
10:48 system (browser) tests
19:43 run system tests without browser popup
20:20 test, test:system, test:all

0
Join the conversation
Sign in to access PRO lessons, access private repos, leave comments, create watch lists.
We collect your email address, name and username to create your account. We do not share your email address with anyone else.