aboutsummaryrefslogtreecommitdiffstats
path: root/spec
diff options
context:
space:
mode:
Diffstat (limited to 'spec')
-rw-r--r--spec/features/users/user_delete_spec.rb35
-rw-r--r--spec/features/users/user_index_spec.rb28
-rw-r--r--spec/features/users/user_show_spec.rb44
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