diff options
| author | Luc Donnet | 2015-01-16 14:17:17 +0100 |
|---|---|---|
| committer | Luc Donnet | 2015-01-16 14:17:17 +0100 |
| commit | 5ba8a9cb838c4036ae978763236baae5af37f758 (patch) | |
| tree | 3a35913855dbfe74816e3bf50a9eabb2470c886a /spec | |
| parent | a6d7ea54328aaa405c0401b69f866c0450de5d83 (diff) | |
| download | chouette-core-5ba8a9cb838c4036ae978763236baae5af37f758.tar.bz2 | |
Add spec features for user edit
Diffstat (limited to 'spec')
| -rw-r--r-- | spec/features/users/user_edit_spec.rb | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/spec/features/users/user_edit_spec.rb b/spec/features/users/user_edit_spec.rb new file mode 100644 index 000000000..b437b241d --- /dev/null +++ b/spec/features/users/user_edit_spec.rb @@ -0,0 +1,48 @@ +require 'spec_helper' + +include Warden::Test::Helpers +Warden.test_mode! + +# Feature: User edit +# As a user +# I want to edit my user profile +# So I can change my email address +feature 'User edit', :devise do + + after(:each) do + Warden.test_reset! + end + + # Scenario: User changes email address + # Given I am signed in + # When I change my email address + # Then I see an account updated message + scenario 'user changes email address' do + user = FactoryGirl.create(:user) + user.confirm! + login_as(user, :scope => :user) + visit edit_user_registration_path(user) + fill_in 'user_email', :with => 'newemail@example.com' + fill_in 'user_current_password', :with => user.password + click_button 'Modifier' + txts = [I18n.t( 'devise.registrations.updated'), I18n.t( 'devise.registrations.update_needs_confirmation')] + save_and_open_page + expect(page).to have_content(/.*#{txts[0]}.*|.*#{txts[1]}.*/) + end + + # Scenario: User cannot edit another user's profile + # Given I am signed in + # When I try to edit another user's profile + # Then I see my own 'edit profile' page + scenario "user cannot cannot edit another user's profile", :me do + me = FactoryGirl.create(:user) + me.confirm! + other = FactoryGirl.create(:user, email: 'other@example.com') + other.confirm! + login_as(me, :scope => :user) + visit edit_user_registration_path(other) + expect(page).to have_content 'Votre Profil' + expect(page).to have_field('Email', with: me.email) + end + +end |
