From 67bc58dd60645a9451899e3368ae40a1edd4806c Mon Sep 17 00:00:00 2001 From: Akihiko Odaki Date: Tue, 30 May 2017 19:32:09 +0900 Subject: [PATCH] Use around hook to restore context in Admin::SettingsController spec (#3428) --- .../admin/settings_controller_spec.rb | 36 +++++++++++++------ 1 file changed, 26 insertions(+), 10 deletions(-) diff --git a/spec/controllers/admin/settings_controller_spec.rb b/spec/controllers/admin/settings_controller_spec.rb index 7fd49a0f11..d9dde3c92a 100644 --- a/spec/controllers/admin/settings_controller_spec.rb +++ b/spec/controllers/admin/settings_controller_spec.rb @@ -47,20 +47,36 @@ RSpec.describe Admin::SettingsController, type: :controller do end end - it 'updates a settings value' do - Setting.site_title = 'Original' - patch :update, params: { site_title: 'New title' } + context do + around do |example| + site_title = Setting.site_title + example.run + Setting.site_title = site_title + end - expect(response).to redirect_to(edit_admin_settings_path) - expect(Setting.site_title).to eq 'New title' + it 'updates a settings value' do + Setting.site_title = 'Original' + patch :update, params: { site_title: 'New title' } + + expect(response).to redirect_to(edit_admin_settings_path) + expect(Setting.site_title).to eq 'New title' + end end - it 'typecasts open_registrations to boolean' do - Setting.open_registrations = false - patch :update, params: { open_registrations: 'true' } + context do + around do |example| + open_registrations = Setting.open_registrations + example.run + Setting.open_registrations = open_registrations + end - expect(response).to redirect_to(edit_admin_settings_path) - expect(Setting.open_registrations).to eq true + it 'typecasts open_registrations to boolean' do + Setting.open_registrations = false + patch :update, params: { open_registrations: 'true' } + + expect(response).to redirect_to(edit_admin_settings_path) + expect(Setting.open_registrations).to eq true + end end end end