Для тестирования действий, требующих аутентифицированного пользователя, вы можете использовать помощники Devise sign_in
и sign_out
.Они приходят от Devise::Test::ControllerHelpers
в вашем тестовом примере или его родительском классе (или Devise::Test::IntegrationHelpers
для Rails 5 +):
class CustomersControllerTest < ActionController::TestCase
include Devise::Test::ControllerHelpers # <-- Include helpers
test "should get index" do
sign_in User.create(...) # <-- Create and authenticate a user
get customers_url
assert_response :success
end
end
См. Раздел тесты контроллера в REISME Devise дляподробности.