Sha256: db2bcb0c115a17031a81a3bcf1ab9b04f6dbe037cb4dd06d1798c456c0e10b34

Contents?: true

Size: 1.26 KB

Versions: 12

Compression:

Stored size: 1.26 KB

Contents

# frozen_string_literal: true

RSpec.describe Spotlight::AdminUsersController, type: :controller do
  routes { Spotlight::Engine.routes }

  before { sign_in(user) }

  context 'by a non-admin' do
    let(:user) { FactoryBot.create(:exhibit_visitor) }
    it 'redirects with an error message' do
      get :index
      expect(response).to redirect_to '/'
      expect(flash[:alert]).to eq 'You are not authorized to access this page.'
    end
  end

  context 'by an admin user' do
    before { request.env['HTTP_REFERER'] = 'http://example.com' }

    let(:user) { FactoryBot.create(:site_admin) }
    describe 'GET index' do
      it 'is successful' do
        get :index
        expect(response).to be_successful
      end
    end

    describe 'DELETE destroy' do
      let(:user) { FactoryBot.create(:user) }
      let!(:admin_role) { FactoryBot.create(:role, role: 'admin', user: user, resource: Spotlight::Site.instance) }
      it 'removes the site admin role from the given user' do
        delete :destroy, params: { id: user.id }
        expect(response).to redirect_to(admin_users_path)
        expect(flash[:notice]).to eq 'User removed from site adminstrator role'
        expect(Spotlight::Site.instance.roles.where(user_id: user.id)).to be_none
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
blacklight-spotlight-2.10.0 spec/controllers/spotlight/admin_users_controller_spec.rb
blacklight-spotlight-2.9.0 spec/controllers/spotlight/admin_users_controller_spec.rb
blacklight-spotlight-2.8.0 spec/controllers/spotlight/admin_users_controller_spec.rb
blacklight-spotlight-2.7.2 spec/controllers/spotlight/admin_users_controller_spec.rb
blacklight-spotlight-2.7.1 spec/controllers/spotlight/admin_users_controller_spec.rb
blacklight-spotlight-2.7.0 spec/controllers/spotlight/admin_users_controller_spec.rb
blacklight-spotlight-2.6.1.1 spec/controllers/spotlight/admin_users_controller_spec.rb
blacklight-spotlight-2.6.1 spec/controllers/spotlight/admin_users_controller_spec.rb
blacklight-spotlight-2.6.0 spec/controllers/spotlight/admin_users_controller_spec.rb
blacklight-spotlight-2.5.2 spec/controllers/spotlight/admin_users_controller_spec.rb
blacklight-spotlight-2.5.1 spec/controllers/spotlight/admin_users_controller_spec.rb
blacklight-spotlight-2.5.0 spec/controllers/spotlight/admin_users_controller_spec.rb