branding_controller_spec.rb 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. # frozen_string_literal: true
  2. require 'rails_helper'
  3. RSpec.describe Admin::Settings::BrandingController do
  4. render_views
  5. describe 'When signed in as an admin' do
  6. before do
  7. sign_in Fabricate(:user, role: UserRole.find_by(name: 'Admin')), scope: :user
  8. end
  9. describe 'GET #show' do
  10. it 'returns http success' do
  11. get :show
  12. expect(response).to have_http_status(200)
  13. end
  14. end
  15. describe 'PUT #update' do
  16. it 'cannot create a setting value for a non-admin key' do
  17. expect(Setting.new_setting_key).to be_blank
  18. patch :update, params: { form_admin_settings: { new_setting_key: 'New key value' } }
  19. expect(response).to redirect_to(admin_settings_branding_path)
  20. expect(Setting.new_setting_key).to be_nil
  21. end
  22. it 'creates a settings value that didnt exist before for eligible key' do
  23. expect(Setting.site_short_description).to be_blank
  24. patch :update, params: { form_admin_settings: { site_short_description: 'New key value' } }
  25. expect(response).to redirect_to(admin_settings_branding_path)
  26. expect(Setting.site_short_description).to eq 'New key value'
  27. end
  28. end
  29. end
  30. end