Sha256: 017a2c528666e4205e853a3cada0064b092e6285497116a7d4a34f285e2ff794

Contents?: true

Size: 1.55 KB

Versions: 11

Compression:

Stored size: 1.55 KB

Contents

require 'spec_helper'

describe DepositorsController, :type => :controller do
  let (:user) { FactoryGirl.find_or_create(:jill) }
  let (:grantee) { FactoryGirl.find_or_create(:archivist) }

  describe "as a logged in user" do
    before do
      sign_in user
    end

    describe "create" do
      it "should be successful" do
        expect { post :create, user_id: user.user_key, grantee_id: grantee.user_key, format: 'json' }.to change{ ProxyDepositRights.count }.by(1)
        expect(response).to be_success
      end

      it "should not add current user" do
        expect { post :create, user_id: user.user_key, grantee_id: user.user_key, format: 'json' }.to change{ ProxyDepositRights.count }.by(0)
        expect(response).to be_success
        expect(response.body).to be_blank
      end
    end

    describe "destroy" do
      before do
        user.can_receive_deposits_from << grantee
      end
      it "should be successful" do
        expect { delete :destroy, user_id: user.user_key, id: grantee.user_key, format: 'json' }.to change{ ProxyDepositRights.count }.by(-1)
      end
    end
  end

  describe "as a user without access" do
    before do
      sign_in FactoryGirl.create(:curator)
    end
    describe "create" do
      it "should not be successful" do
        expect { post :create, user_id: user, grantee_id: grantee, format: 'json' }.to raise_error
      end
    end
    describe "destroy" do
      it "should not be successful" do
        expect { delete :destroy, user_id: user, id: grantee, format: 'json' }.to raise_error
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
sufia-5.0.0 spec/controllers/depositors_controller_spec.rb
sufia-6.0.0 spec/controllers/depositors_controller_spec.rb
sufia-6.0.0.rc4 spec/controllers/depositors_controller_spec.rb
sufia-6.0.0.rc3 spec/controllers/depositors_controller_spec.rb
sufia-5.0.0.rc1 spec/controllers/depositors_controller_spec.rb
sufia-6.0.0.rc2 spec/controllers/depositors_controller_spec.rb
sufia-6.0.0.rc1 spec/controllers/depositors_controller_spec.rb
sufia-4.3.1 spec/controllers/depositors_controller_spec.rb
sufia-6.0.0.beta1 spec/controllers/depositors_controller_spec.rb
sufia-4.2.0 spec/controllers/depositors_controller_spec.rb
sufia-4.1.0 spec/controllers/depositors_controller_spec.rb