diff options
Diffstat (limited to 'spec')
| -rw-r--r-- | spec/features/users/user_delete_spec.rb | 35 | ||||
| -rw-r--r-- | spec/features/users/user_index_spec.rb | 28 | ||||
| -rw-r--r-- | spec/features/users/user_show_spec.rb | 44 |
3 files changed, 107 insertions, 0 deletions
diff --git a/spec/features/users/user_delete_spec.rb b/spec/features/users/user_delete_spec.rb new file mode 100644 index 000000000..48f4e35d1 --- /dev/null +++ b/spec/features/users/user_delete_spec.rb @@ -0,0 +1,35 @@ +require 'spec_helper' + +include Warden::Test::Helpers +Warden.test_mode! + +# Feature: User delete +# As a user +# I want to delete my user profile +# So I can close my account +feature 'User delete', :devise, :js do + + after(:each) do + Warden.test_reset! + end + + # Scenario: User can delete own account + # Given I am signed in + # When I delete my account + # Then I should see an account deleted message + # scenario 'user can delete own account' do + # skip 'skip a slow test' + # user = FactoryGirl.create(:user) + # user.confirm! + # login_as(user, :scope => :user) + # visit edit_user_registration_path(user) + # click_button 'Cancel my account' + # page.driver.browser.switch_to.alert.accept + # expect(page).to have_content I18n.t 'devise.registrations.destroyed' + # end + +end + + + + diff --git a/spec/features/users/user_index_spec.rb b/spec/features/users/user_index_spec.rb new file mode 100644 index 000000000..249b41ce6 --- /dev/null +++ b/spec/features/users/user_index_spec.rb @@ -0,0 +1,28 @@ +require 'spec_helper' + +include Warden::Test::Helpers +Warden.test_mode! + +# Feature: User index page +# As a user +# I want to see a list of users +# So I can see who has registered +feature 'User index page', :devise do + + after(:each) do + Warden.test_reset! + end + + # Scenario: User listed on index page + # Given I am signed in + # When I visit the user index page + # Then I see my own email address + scenario 'user sees own email address' do + user = create(:user) + user.confirm! + login_as(user, scope: :user) + visit organisation_path + expect(page).to have_content user.email.truncate(20) + end + +end diff --git a/spec/features/users/user_show_spec.rb b/spec/features/users/user_show_spec.rb new file mode 100644 index 000000000..fdc48a279 --- /dev/null +++ b/spec/features/users/user_show_spec.rb @@ -0,0 +1,44 @@ +require 'spec_helper' + +include Warden::Test::Helpers +Warden.test_mode! + +# Feature: User profile page +# As a user +# I want to visit my user profile page +# So I can see my personal account data +feature 'User profile page', :devise do + + after(:each) do + Warden.test_reset! + end + + # Scenario: User sees own profile + # Given I am signed in + # When I visit the user profile page + # Then I see my own email address + scenario 'user sees own profile' do + user = FactoryGirl.create(:user) + user.confirm! + login_as(user, :scope => :user) + visit organisation_user_path(user) + expect(page).to have_content 'Mon Profil' + expect(page).to have_content user.email + end + + # Scenario: User cannot see another user's profile + # Given I am signed in + # When I visit another user's profile + # Then I see an 'access denied' message + scenario "user cannot see another user's profile" do + me = FactoryGirl.create(:user) + me.confirm! + other = FactoryGirl.create(:user, email: 'other@example.com', :organisation => me.organisation) + other.confirm! + login_as(me, :scope => :user) + Capybara.current_session.driver.header 'Referer', authenticated_root_path + visit organisation_user_path(other) + expect(page).to have_content 'Access denied.' + end + +end |
