diff options
author | Timothy Andrew <mail@timothyandrew.net> | 2016-04-18 09:49:11 +0300 |
---|---|---|
committer | Timothy Andrew <mail@timothyandrew.net> | 2016-04-18 09:49:11 +0300 |
commit | 40bc8e7677cb27f87fef7d4362fbd17bee8980ef (patch) | |
tree | 227d98f1a39f2d9e19fd630ca268532f450cde49 /spec/features/signup_spec.rb | |
parent | ed1be10087e0bffc9a9b4c27d9c7dc8dfba9b427 (diff) |
Add acceptance test to check if the user password persists after form redisplays.
- While signing up.
Diffstat (limited to 'spec/features/signup_spec.rb')
-rw-r--r-- | spec/features/signup_spec.rb | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/spec/features/signup_spec.rb b/spec/features/signup_spec.rb new file mode 100644 index 00000000000..01472743b2a --- /dev/null +++ b/spec/features/signup_spec.rb @@ -0,0 +1,55 @@ +require 'spec_helper' + +feature 'Signup', feature: true do + describe 'signup with no errors' do + it 'creates the user account and sends a confirmation email' do + user = build(:user) + + visit root_path + + fill_in 'user_name', with: user.name + fill_in 'user_username', with: user.username + fill_in 'user_email', with: user.email + fill_in 'user_password_sign_up', with: user.password + click_button "Sign up" + + expect(current_path).to eq user_session_path + expect(page).to have_content("A message with a confirmation link has been sent to your email address.") + end + end + + describe 'signup with errors' do + it "displays the errors" do + existing_user = create(:user) + user = build(:user) + + visit root_path + + fill_in 'user_name', with: user.name + fill_in 'user_username', with: user.username + fill_in 'user_email', with: existing_user.email + fill_in 'user_password_sign_up', with: user.password + click_button "Sign up" + + expect(current_path).to eq user_registration_path + expect(page).to have_content("error prohibited this user from being saved") + expect(page).to have_content("Email has already been taken") + end + + it 'does not redisplay the password' do + existing_user = create(:user) + user = build(:user) + + visit root_path + + fill_in 'user_name', with: user.name + fill_in 'user_username', with: user.username + fill_in 'user_email', with: existing_user.email + fill_in 'user_password_sign_up', with: user.password + click_button "Sign up" + + expect(current_path).to eq user_registration_path + expect(page.body).not_to match(/#{user.password}/) + end + end +end |