101 lines
2.5 KiB
Ruby
101 lines
2.5 KiB
Ruby
require 'rails_helper'
|
|
|
|
feature 'Account' do
|
|
|
|
background do
|
|
@user = create(:user, username: "Manuela Colau")
|
|
login_as(@user)
|
|
end
|
|
|
|
scenario 'Show' do
|
|
visit root_path
|
|
|
|
click_link "My account"
|
|
|
|
expect(current_path).to eq(account_path)
|
|
|
|
expect(page).to have_selector("input[value='Manuela Colau']")
|
|
expect(page).to have_selector(avatar('Manuela Colau'), count: 1)
|
|
end
|
|
|
|
scenario 'Show organization' do
|
|
create(:organization, user: @user, name: "Manuela Corp")
|
|
|
|
visit account_path
|
|
|
|
expect(page).to have_selector("input[value='Manuela Corp']")
|
|
expect(page).to_not have_selector("input[value='Manuela Colau']")
|
|
|
|
expect(page).to have_selector(avatar('Manuela Corp'), count: 1)
|
|
end
|
|
|
|
scenario 'Edit' do
|
|
visit account_path
|
|
|
|
fill_in 'account_username', with: 'Larry Bird'
|
|
check 'account_email_on_comment'
|
|
check 'account_email_on_comment_reply'
|
|
click_button 'Save changes'
|
|
|
|
expect(page).to have_content "Saved"
|
|
|
|
visit account_path
|
|
|
|
expect(page).to have_selector("input[value='Larry Bird']")
|
|
expect(page).to have_selector("input[id='account_email_on_comment'][value='1']")
|
|
expect(page).to have_selector("input[id='account_email_on_comment_reply'][value='1']")
|
|
end
|
|
|
|
scenario 'Edit Organization' do
|
|
create(:organization, user: @user, name: "Manuela Corp")
|
|
visit account_path
|
|
|
|
fill_in 'account_organization_attributes_name', with: 'Google'
|
|
check 'account_email_on_comment'
|
|
check 'account_email_on_comment_reply'
|
|
click_button 'Save changes'
|
|
|
|
expect(page).to have_content "Saved"
|
|
|
|
visit account_path
|
|
|
|
expect(page).to have_selector("input[value='Google']")
|
|
expect(page).to have_selector("input[id='account_email_on_comment'][value='1']")
|
|
expect(page).to have_selector("input[id='account_email_on_comment_reply'][value='1']")
|
|
end
|
|
|
|
scenario "Errors on edit" do
|
|
visit account_path
|
|
|
|
fill_in 'account_username', with: ''
|
|
click_button 'Save changes'
|
|
|
|
expect(page).to have_content error_message
|
|
end
|
|
|
|
scenario 'Errors editing credentials' do
|
|
visit account_path
|
|
|
|
click_link 'Change my credentials'
|
|
click_button 'Update'
|
|
|
|
expect(page).to have_content error_message
|
|
end
|
|
|
|
scenario 'Erasing account' do
|
|
visit account_path
|
|
|
|
click_link 'Erase my account'
|
|
|
|
fill_in 'user_erase_reason', with: 'a test'
|
|
|
|
click_button 'Erase my account'
|
|
|
|
expect(page).to have_content "Your account has been successfully cancelled"
|
|
|
|
login_through_form_as(@user)
|
|
|
|
expect(page).to have_content "Invalid email or password"
|
|
end
|
|
end
|