@ -65,6 +65,20 @@ RSpec.describe Auth::SessionsController, type: :controller do
end
end
end
end
context 'using email with uppercase letters' do
before do
post :create , params : { user : { email : user . email . upcase , password : user . password } }
end
it 'redirects to home' do
expect ( response ) . to redirect_to ( root_path )
end
it 'logs the user in' do
expect ( controller . current_user ) . to eq user
end
end
context 'using an invalid password' do
context 'using an invalid password' do
before do
before do
post :create , params : { user : { email : user . email , password : 'wrongpw' } }
post :create , params : { user : { email : user . email , password : 'wrongpw' } }
@ -129,6 +143,26 @@ RSpec.describe Auth::SessionsController, type: :controller do
return codes
return codes
end
end
context 'using email and password' do
before do
post :create , params : { user : { email : user . email , password : user . password } }
end
it 'renders two factor authentication page' do
expect ( controller ) . to render_template ( " two_factor " )
end
end
context 'using upcase email and password' do
before do
post :create , params : { user : { email : user . email . upcase , password : user . password } }
end
it 'renders two factor authentication page' do
expect ( controller ) . to render_template ( " two_factor " )
end
end
context 'using a valid OTP' do
context 'using a valid OTP' do
before do
before do
post :create , params : { user : { otp_attempt : user . current_otp } } , session : { otp_user_id : user . id }
post :create , params : { user : { otp_attempt : user . current_otp } } , session : { otp_user_id : user . id }