]> cat aescling's git repositories - mastodon.git/blob - spec/controllers/settings/preferences_controller_spec.rb
Separate notifications preferences from general preferences (#4447)
[mastodon.git] / spec / controllers / settings / preferences_controller_spec.rb
1 require 'rails_helper'
2
3 describe Settings::PreferencesController do
4 render_views
5
6 let(:user) { Fabricate(:user, filtered_languages: []) }
7
8 before do
9 sign_in user, scope: :user
10 end
11
12 describe 'GET #show' do
13 it 'returns http success' do
14 get :show
15 expect(response).to have_http_status(:success)
16 end
17 end
18
19 describe 'PUT #update' do
20 it 'updates the user record' do
21 put :update, params: { user: { locale: 'en', filtered_languages: ['es', 'fr', ''] } }
22
23 expect(response).to redirect_to(settings_preferences_path)
24 user.reload
25 expect(user.locale).to eq 'en'
26 expect(user.filtered_languages).to eq ['es', 'fr']
27 end
28
29 it 'updates user settings' do
30 user.settings['boost_modal'] = false
31 user.settings['delete_modal'] = true
32
33 put :update, params: {
34 user: {
35 setting_boost_modal: '1',
36 setting_delete_modal: '0',
37 }
38 }
39
40 expect(response).to redirect_to(settings_preferences_path)
41 user.reload
42 expect(user.settings['boost_modal']).to be true
43 expect(user.settings['delete_modal']).to be false
44 end
45 end
46 end
This page took 0.092678 seconds and 4 git commands to generate.