Spec coverage for settings/preferences/* controllers (#24825)
This commit is contained in:
		
							parent
							
								
									2c6c398c60
								
							
						
					
					
						commit
						08fb9d300a
					
				
					 6 changed files with 22 additions and 5 deletions
				
			
		| 
						 | 
				
			
			@ -1,6 +1,6 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
class Settings::Preferences::AppearanceController < Settings::PreferencesController
 | 
			
		||||
class Settings::Preferences::AppearanceController < Settings::Preferences::BaseController
 | 
			
		||||
  private
 | 
			
		||||
 | 
			
		||||
  def after_update_redirect_path
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,6 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
class Settings::PreferencesController < Settings::BaseController
 | 
			
		||||
class Settings::Preferences::BaseController < Settings::BaseController
 | 
			
		||||
  def show; end
 | 
			
		||||
 | 
			
		||||
  def update
 | 
			
		||||
| 
						 | 
				
			
			@ -15,7 +15,7 @@ class Settings::PreferencesController < Settings::BaseController
 | 
			
		|||
  private
 | 
			
		||||
 | 
			
		||||
  def after_update_redirect_path
 | 
			
		||||
    settings_preferences_path
 | 
			
		||||
    raise 'Override in controller'
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def user_params
 | 
			
		||||
| 
						 | 
				
			
			@ -1,6 +1,6 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
class Settings::Preferences::NotificationsController < Settings::PreferencesController
 | 
			
		||||
class Settings::Preferences::NotificationsController < Settings::Preferences::BaseController
 | 
			
		||||
  private
 | 
			
		||||
 | 
			
		||||
  def after_update_redirect_path
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,6 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
class Settings::Preferences::OtherController < Settings::PreferencesController
 | 
			
		||||
class Settings::Preferences::OtherController < Settings::Preferences::BaseController
 | 
			
		||||
  private
 | 
			
		||||
 | 
			
		||||
  def after_update_redirect_path
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -31,5 +31,11 @@ describe Settings::Preferences::AppearanceController do
 | 
			
		|||
 | 
			
		||||
      expect(response).to redirect_to(settings_preferences_appearance_path)
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    it 'renders show on failure' do
 | 
			
		||||
      put :update, params: { user: { locale: 'fake option' } }
 | 
			
		||||
 | 
			
		||||
      expect(response).to render_template('preferences/appearance/show')
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,11 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
require 'rails_helper'
 | 
			
		||||
 | 
			
		||||
describe Settings::Preferences::BaseController do
 | 
			
		||||
  describe 'after_update_redirect_path' do
 | 
			
		||||
    it 'raises error when called' do
 | 
			
		||||
      expect { described_class.new.send(:after_update_redirect_path) }.to raise_error(/Override/)
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
		Reference in a new issue