В Rails 5,2 очень простой системный тест:
require 'test_helper'
class AdminSignsInTest < ActionDispatch::SystemTestCase
driven_by :selenium, using: :firefox
test 'admin can sign in' do
@user = users(:admin)
visit new_user_session_path
fill_in 'user_username', with: @user.username
fill_in 'user_password', with: @user.encrypted_password
click_button I18n.t("devise.login")
assert_equal I18n.t('devise.failure.invalid'), flash[:alert]
end
end
возвращает ошибку:
NoMethodError: undefined method `flash' for nil:NilClass
Согласно документации Rails http://guides.rubyonrails.org/testing.html#testing-flash-notices этот синтаксис должен работать, например:
assert_equal 'Article was successfully created.', flash[:notice]