From 7eec279c7fb0350974fea4456c5c3bab7b457376 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sun, 17 Jun 2018 13:54:02 +0200 Subject: Change language opt-out to language opt-in (#7823) * Switch filtered_languages to chosen_languages * Adjust interface * Remove unused translations --- spec/controllers/settings/preferences_controller_spec.rb | 4 ++-- spec/models/status_spec.rb | 16 ++++++++-------- spec/models/user_spec.rb | 4 ++-- 3 files changed, 12 insertions(+), 12 deletions(-) (limited to 'spec') diff --git a/spec/controllers/settings/preferences_controller_spec.rb b/spec/controllers/settings/preferences_controller_spec.rb index 7877c7362..f2028cf39 100644 --- a/spec/controllers/settings/preferences_controller_spec.rb +++ b/spec/controllers/settings/preferences_controller_spec.rb @@ -18,12 +18,12 @@ describe Settings::PreferencesController do describe 'PUT #update' do it 'updates the user record' do - put :update, params: { user: { locale: 'en', filtered_languages: ['es', 'fr', ''] } } + put :update, params: { user: { locale: 'en', chosen_languages: ['es', 'fr', ''] } } expect(response).to redirect_to(settings_preferences_path) user.reload expect(user.locale).to eq 'en' - expect(user.filtered_languages).to eq ['es', 'fr'] + expect(user.chosen_languages).to eq ['es', 'fr'] end it 'updates user settings' do diff --git a/spec/models/status_spec.rb b/spec/models/status_spec.rb index 5113b652f..b3e475d99 100644 --- a/spec/models/status_spec.rb +++ b/spec/models/status_spec.rb @@ -259,18 +259,18 @@ RSpec.describe Status, type: :model do end end - describe '.not_in_filtered_languages' do + describe '.in_chosen_languages' do context 'for accounts with language filters' do - let(:user) { Fabricate(:user, filtered_languages: ['en']) } + let(:user) { Fabricate(:user, chosen_languages: ['en']) } - it 'does not include statuses in filtered languages' do - status = Fabricate(:status, language: 'en') - expect(Status.not_in_filtered_languages(user.account)).not_to include status + it 'does not include statuses in not in chosen languages' do + status = Fabricate(:status, language: 'de') + expect(Status.in_chosen_languages(user.account)).not_to include status end it 'includes status with unknown language' do status = Fabricate(:status, language: nil) - expect(Status.not_in_filtered_languages(user.account)).to include status + expect(Status.in_chosen_languages(user.account)).to include status end end end @@ -518,7 +518,7 @@ RSpec.describe Status, type: :model do context 'with language preferences' do it 'excludes statuses in languages not allowed by the account user' do - user = Fabricate(:user, filtered_languages: [:fr]) + user = Fabricate(:user, chosen_languages: [:en, :es]) @account.update(user: user) en_status = Fabricate(:status, language: 'en') es_status = Fabricate(:status, language: 'es') @@ -531,7 +531,7 @@ RSpec.describe Status, type: :model do end it 'includes all languages when user does not have a setting' do - user = Fabricate(:user, filtered_languages: []) + user = Fabricate(:user, chosen_languages: nil) @account.update(user: user) en_status = Fabricate(:status, language: 'en') diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index cc8d88cc8..93a6c26fb 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -41,9 +41,9 @@ RSpec.describe User, type: :model do end it 'cleans out empty string from languages' do - user = Fabricate.build(:user, filtered_languages: ['']) + user = Fabricate.build(:user, chosen_languages: ['']) user.valid? - expect(user.filtered_languages).to eq [] + expect(user.chosen_languages).to eq nil end end -- cgit From 63b05096c78521560516b0f5c7e900f33957fb8f Mon Sep 17 00:00:00 2001 From: Shuhei Kitagawa Date: Mon, 18 Jun 2018 10:45:20 +0900 Subject: Add tests for shares_controller (#7835) --- spec/controllers/shares_controller_spec.rb | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 spec/controllers/shares_controller_spec.rb (limited to 'spec') diff --git a/spec/controllers/shares_controller_spec.rb b/spec/controllers/shares_controller_spec.rb new file mode 100644 index 000000000..a74e9af56 --- /dev/null +++ b/spec/controllers/shares_controller_spec.rb @@ -0,0 +1,22 @@ +require 'rails_helper' + +describe SharesController do + render_views + + let(:user) { Fabricate(:user) } + before { sign_in user } + + describe 'GTE #show' do + subject(:initial_state_json) { JSON.parse(assigns(:initial_state_json), symbolize_names: true) } + subject(:body_classes) { assigns(:body_classes) } + + before { get :show, params: { title: 'test title', text: 'test text', url: 'url1 url2' } } + + it 'assigns json' do + expect(response).to have_http_status :ok + expect(initial_state_json[:compose][:text]).to eq 'test title test text url1 url2' + expect(initial_state_json[:meta][:me]).to eq user.account.id.to_s + expect(body_classes).to eq 'modal-layout compose-standalone' + end + end +end -- cgit From 459394a02021ae927d135669e7472a4c7c32eaec Mon Sep 17 00:00:00 2001 From: Shuhei Kitagawa Date: Thu, 21 Jun 2018 10:40:23 +0900 Subject: Add missing tests for confirmations controller (#7866) --- .../auth/confirmations_controller_spec.rb | 43 ++++++++++++++++++++++ 1 file changed, 43 insertions(+) (limited to 'spec') diff --git a/spec/controllers/auth/confirmations_controller_spec.rb b/spec/controllers/auth/confirmations_controller_spec.rb index b3af5e0ec..35eed4f51 100644 --- a/spec/controllers/auth/confirmations_controller_spec.rb +++ b/spec/controllers/auth/confirmations_controller_spec.rb @@ -3,6 +3,8 @@ require 'rails_helper' describe Auth::ConfirmationsController, type: :controller do + render_views + describe 'GET #new' do it 'returns http success' do @request.env['devise.mapping'] = Devise.mappings[:user] @@ -48,4 +50,45 @@ describe Auth::ConfirmationsController, type: :controller do end end end + + describe 'GET #finish_signup' do + subject { get :finish_signup } + + let(:user) { Fabricate(:user) } + before do + sign_in user, scope: :user + @request.env['devise.mapping'] = Devise.mappings[:user] + end + + it 'renders finish_signup' do + is_expected.to render_template :finish_signup + expect(assigns(:user)).to have_attributes id: user.id + end + end + + describe 'PATCH #finish_signup' do + subject { patch :finish_signup, params: { user: { email: email }} } + + let(:user) { Fabricate(:user) } + before do + sign_in user, scope: :user + @request.env['devise.mapping'] = Devise.mappings[:user] + end + + context 'when email is valid' do + let(:email) { 'new_' + user.email } + + it 'redirects to root_path' do + is_expected.to redirect_to root_path + end + end + + context 'when email is invalid' do + let(:email) { '' } + + it 'renders finish_signup' do + is_expected.to render_template :finish_signup + end + end + end end -- cgit