|
|
|
@ -2,6 +2,14 @@ require 'spec_helper'
|
|
|
|
|
|
|
|
|
|
describe Devise::TwoFactorAuthenticationController, type: :controller do |
|
|
|
|
describe 'is_fully_authenticated? helper' do |
|
|
|
|
def post_code(code) |
|
|
|
|
if Rails::VERSION::MAJOR >= 5 |
|
|
|
|
post :update, params: { code: code } |
|
|
|
|
else |
|
|
|
|
post :update, code: code |
|
|
|
|
end |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
before do |
|
|
|
|
sign_in |
|
|
|
|
end |
|
|
|
@ -9,7 +17,7 @@ describe Devise::TwoFactorAuthenticationController, type: :controller do
|
|
|
|
|
context 'after user enters valid OTP code' do |
|
|
|
|
it 'returns true' do |
|
|
|
|
controller.current_user.send_new_otp |
|
|
|
|
post :update, code: controller.current_user.direct_otp |
|
|
|
|
post_code controller.current_user.direct_otp |
|
|
|
|
expect(subject.is_fully_authenticated?).to eq true |
|
|
|
|
end |
|
|
|
|
end |
|
|
|
@ -24,7 +32,7 @@ describe Devise::TwoFactorAuthenticationController, type: :controller do
|
|
|
|
|
|
|
|
|
|
context 'when user enters an invalid OTP' do |
|
|
|
|
it 'returns false' do |
|
|
|
|
post :update, code: '12345' |
|
|
|
|
post_code '12345' |
|
|
|
|
|
|
|
|
|
expect(subject.is_fully_authenticated?).to eq false |
|
|
|
|
end |
|
|
|
|