Files
nairobi/spec/features/users_spec.rb
2015-08-10 20:24:56 +02:00

71 lines
2.2 KiB
Ruby

require 'rails_helper'
feature 'Users' do
scenario 'Sign up' do
visit '/'
click_link 'Sign up'
fill_in 'user_first_name', with: 'Manuela'
fill_in 'user_last_name', with: 'Carmena'
fill_in 'user_email', with: 'manuela@madrid.es'
fill_in 'user_password', with: 'judgementday'
fill_in 'user_password_confirmation', with: 'judgementday'
fill_in 'user_captcha', with: correct_captcha_text
click_button 'Sign up'
expect(page).to have_content "A message with a confirmation link has been sent to your email address. Please follow the link to activate your account."
sent_token = /.*confirmation_token=(.*)".*/.match(ActionMailer::Base.deliveries.last.body.to_s)[1]
visit user_confirmation_path(confirmation_token: sent_token)
expect(page).to have_content "Your email address has been successfully confirmed"
end
scenario 'Sign in' do
user = create(:user, email: 'manuela@madrid.es', password: 'judgementday')
visit '/'
click_link 'Log in'
fill_in 'user_email', with: 'manuela@madrid.es'
fill_in 'user_password', with: 'judgementday'
click_button 'Log in'
expect(page).to have_content 'Signed in successfully.'
end
scenario 'Sign out' do
user = create(:user)
login_as(user)
visit "/"
click_link 'Logout'
expect(page).to have_content 'Signed out successfully.'
end
scenario 'Reset password' do
create(:user, email: 'manuela@madrid.es')
visit '/'
click_link 'Log in'
click_link 'Forgot your password?'
fill_in 'user_email', with: 'manuela@madrid.es'
click_button 'Send me reset password instructions'
expect(page).to have_content "You will receive an email with instructions on how to reset your password in a few minutes."
sent_token = /.*reset_password_token=(.*)".*/.match(ActionMailer::Base.deliveries.last.body.to_s)[1]
visit edit_user_password_path(reset_password_token: sent_token)
fill_in 'user_password', with: 'new password'
fill_in 'user_password_confirmation', with: 'new password'
click_button 'Change my password'
expect(page).to have_content "Your password has been changed successfully. You are now signed in."
end
end