サンプルプログラムでは、ユーザー認証に Devise を使っています。
テストコードからコントローラのアクションにアクセスする際も作用するため、
アクセス前に「ログイン」操作の挿入が必要です。
Devise 用のヘルパーライブラリを導入します。
\test\test_helper.rb に、
class ActionDispatch::IntegrationTest
include Devise::Test::IntegrationHelpers
end
を追記します。
アドミンなら全ての操作が可能なので、
\test\fixtures\users.yml に
is_admin が true のユーザー “admin” を追加します。
各テストファイルの setup メソッドに、
@user = users(:admin)
sign_in @user
を追記します。
sign_in が Devise でのログインです。
とりあえずアドミンにしておいて、
別権限の確認が必要な時は、該当ユーザーで sign_in し直します。
上記 controllers と同様です。
System Test 用については、こちら で説明します。