diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-02-18 13:34:06 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-02-18 13:34:06 +0300 |
commit | 859a6fb938bb9ee2a317c46dfa4fcc1af49608f0 (patch) | |
tree | d7f2700abe6b4ffcb2dcfc80631b2d87d0609239 /spec/controllers/profiles | |
parent | 446d496a6d000c73a304be52587cd9bbc7493136 (diff) |
Add latest changes from gitlab-org/gitlab@13-9-stable-eev13.9.0-rc42
Diffstat (limited to 'spec/controllers/profiles')
-rw-r--r-- | spec/controllers/profiles/notifications_controller_spec.rb | 3 | ||||
-rw-r--r-- | spec/controllers/profiles/preferences_controller_spec.rb | 35 |
2 files changed, 16 insertions, 22 deletions
diff --git a/spec/controllers/profiles/notifications_controller_spec.rb b/spec/controllers/profiles/notifications_controller_spec.rb index 90df7cc0991..03749366703 100644 --- a/spec/controllers/profiles/notifications_controller_spec.rb +++ b/spec/controllers/profiles/notifications_controller_spec.rb @@ -119,10 +119,11 @@ RSpec.describe Profiles::NotificationsController do it 'updates only permitted attributes' do sign_in(user) - put :update, params: { user: { notification_email: 'new@example.com', notified_of_own_activity: true, admin: true } } + put :update, params: { user: { notification_email: 'new@example.com', email_opted_in: true, notified_of_own_activity: true, admin: true } } user.reload expect(user.notification_email).to eq('new@example.com') + expect(user.email_opted_in).to eq(true) expect(user.notified_of_own_activity).to eq(true) expect(user.admin).to eq(false) expect(controller).to set_flash[:notice].to('Notification settings saved') diff --git a/spec/controllers/profiles/preferences_controller_spec.rb b/spec/controllers/profiles/preferences_controller_spec.rb index 4a68475c37f..b7870a63f9d 100644 --- a/spec/controllers/profiles/preferences_controller_spec.rb +++ b/spec/controllers/profiles/preferences_controller_spec.rb @@ -24,7 +24,7 @@ RSpec.describe Profiles::PreferencesController do end describe 'PATCH update' do - def go(params: {}, format: :js) + def go(params: {}, format: :json) params.reverse_merge!( color_scheme_id: '1', dashboard: 'stars', @@ -35,9 +35,12 @@ RSpec.describe Profiles::PreferencesController do end context 'on successful update' do - it 'sets the flash' do + it 'responds with success' do go - expect(flash[:notice]).to eq _('Preferences saved.') + + expect(response).to have_gitlab_http_status(:ok) + expect(response.parsed_body['message']).to eq _('Preferences saved.') + expect(response.parsed_body['type']).to eq('notice') end it "changes the user's preferences" do @@ -59,36 +62,26 @@ RSpec.describe Profiles::PreferencesController do end context 'on failed update' do - it 'sets the flash' do + it 'responds with error' do expect(user).to receive(:save).and_return(false) go - expect(flash[:alert]).to eq(_('Failed to save preferences.')) + expect(response).to have_gitlab_http_status(:bad_request) + expect(response.parsed_body['message']).to eq _('Failed to save preferences.') + expect(response.parsed_body['type']).to eq('alert') end end context 'on invalid dashboard setting' do - it 'sets the flash' do + it 'responds with error' do prefs = { dashboard: 'invalid' } go params: prefs - expect(flash[:alert]).to match(/\AFailed to save preferences \(.+\)\.\z/) - end - end - - context 'as js' do - it 'renders' do - go - expect(response).to render_template :update - end - end - - context 'as html' do - it 'redirects' do - go format: :html - expect(response).to redirect_to(profile_preferences_path) + expect(response).to have_gitlab_http_status(:bad_request) + expect(response.parsed_body['message']).to match(/\AFailed to save preferences \(.+\)\.\z/) + expect(response.parsed_body['type']).to eq('alert') end end end |