Sha256: 0ee6c182e75de1e8f3b5d8a87ae7c69d7e11282663901ae642ae76f76e0e6a33
Contents?: true
Size: 1.43 KB
Versions: 2
Compression:
Stored size: 1.43 KB
Contents
class ActionDispatch::IntegrationTest include Warden::Test::Helpers def warden request.env['warden'] end def create_full_user @user ||= begin user = User.create!( email: 'user@email.invalid', password: '12345678', password_confirmation: '12345678' ) user end end def enable_otp_and_sign_in_with_otp enable_otp_and_sign_in.tap do |user| fill_in 'user_token', with: ROTP::TOTP.new(user.otp_auth_secret).at(Time.now) click_button 'Submit Token' end end def enable_otp_and_sign_in user = create_full_user sign_user_in(user) visit user_token_path check 'user_otp_enabled' click_button 'Continue...' Capybara.reset_sessions! sign_user_in(user) user end def otp_challenge_for(user) fill_in 'user_token', with: ROTP::TOTP.new(user.otp_auth_secret).at(Time.now) click_button 'Submit Token' end def disable_otp visit user_token_path uncheck 'user_otp_enabled' click_button 'Continue...' end def sign_out logout :user end def sign_user_in(user = nil) user ||= create_full_user resource_name = user.class.name.underscore visit send("new_#{resource_name}_session_path") fill_in "#{resource_name}_email", with: user.email fill_in "#{resource_name}_password", with: user.password page.has_content?('Log in') ? click_button('Log in') : click_button('Sign in') user end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
devise-2fa-0.1.1 | test/integration_tests_helper.rb |
devise-2fa-0.1.0 | test/integration_tests_helper.rb |