~cytrogen/masto-fe

08fb9d300a01e48559ec4a9239a15dbc4ac6414c — Matt Jankowski 2 years ago 2c6c398
Spec coverage for settings/preferences/* controllers (#24825)

M app/controllers/settings/preferences/appearance_controller.rb => app/controllers/settings/preferences/appearance_controller.rb +1 -1
@@ 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

R app/controllers/settings/preferences_controller.rb => app/controllers/settings/preferences/base_controller.rb +2 -2
@@ 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

M app/controllers/settings/preferences/notifications_controller.rb => app/controllers/settings/preferences/notifications_controller.rb +1 -1
@@ 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

M app/controllers/settings/preferences/other_controller.rb => app/controllers/settings/preferences/other_controller.rb +1 -1
@@ 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

M spec/controllers/settings/preferences/appearance_controller_spec.rb => spec/controllers/settings/preferences/appearance_controller_spec.rb +6 -0
@@ 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

A spec/controllers/settings/preferences/base_controller_spec.rb => spec/controllers/settings/preferences/base_controller_spec.rb +11 -0
@@ 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