Sha256: 7a59e445c9e58d45c842a0136d09382f504194b38023c48f3635b45e1a24f622

Contents?: true

Size: 1.26 KB

Versions: 7

Compression:

Stored size: 1.26 KB

Contents

require 'spec_helper'

RSpec.describe Sufia::Admin::PermissionTemplateAccessesController do
  routes { Sufia::Engine.routes }
  before do
    sign_in create(:user)
  end
  let(:sufia) { Sufia::Engine.routes.url_helpers }
  let(:permission_template_access) { create(:permission_template_access) }
  let(:admin_set_id) { permission_template_access.permission_template.admin_set_id }

  context "without admin privleges" do
    describe "destroy" do
      before do
        allow(controller.current_ability).to receive(:test_edit).with(admin_set_id).and_return(false)
      end
      it "is unauthorized" do
        delete :destroy, params: { id: permission_template_access }
        expect(response).to be_unauthorized
      end
    end
  end

  context "when signed in as an admin" do
    describe "update" do
      it "is successful" do
        expect(controller).to receive(:authorize!).with(:destroy, permission_template_access)
        expect do
          delete :destroy, params: { id: permission_template_access }
        end.to change { Sufia::PermissionTemplateAccess.count }.by(-1)
        expect(response).to redirect_to(sufia.edit_admin_admin_set_path(admin_set_id, anchor: 'participants'))
        expect(flash[:notice]).to eq 'Permissions updated'
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
sufia-7.4.1 spec/controllers/sufia/admin/permission_template_accesses_controller_spec.rb
sufia-7.4.0 spec/controllers/sufia/admin/permission_template_accesses_controller_spec.rb
sufia-7.3.1 spec/controllers/sufia/admin/permission_template_accesses_controller_spec.rb
sufia-7.3.0 spec/controllers/sufia/admin/permission_template_accesses_controller_spec.rb
sufia-7.3.0.rc3 spec/controllers/sufia/admin/permission_template_accesses_controller_spec.rb
sufia-7.3.0.rc2 spec/controllers/sufia/admin/permission_template_accesses_controller_spec.rb
sufia-7.3.0.rc1 spec/controllers/sufia/admin/permission_template_accesses_controller_spec.rb