Это мой контроллер с устройством:
class UsersController < ApplicationController
before_action :authenticate_user!, only: [:mypage]
и маршрут:
get "/mypage", to: "users#mypage"
Теперь я хочу проверить вход и выход. Мой тест:
class RorIntegrationTest < ActionDispatch::IntegrationTest
include Devise::Test::IntegrationHelpers
test "sign_in then sign_out" do
get "/mypage"
user = users(:someuser)
assert_response :redirect
sign_in(user)
get "/mypage"
assert_response :success
sign_out(user)
get "/mypage"
assert_response :redirect # this is line 17
end
но результат:
Failure:
RorIntegrationTest#test_sign_in_then_sign_out [/ror/test/integration/ror_integration_test.rb:17]:
Expected response to be a <3XX: redirect>, but was a <200: OK>
bin/rails test test/integration/ror_integration_test.rb:6
Кажется, что первый get "/mypage"
правильно перенаправлен, но почему второй не перенаправлен после sign_out
?