Sha256: 14bd76a31748620e932e336c035bfcc377d1cb03d0e6010f6beb07170ec9ba69

Contents?: true

Size: 827 Bytes

Versions: 31

Compression:

Stored size: 827 Bytes

Contents

module Ddr::Auth
  RSpec.describe EffectiveRoles do
    
    let(:resource) { FactoryGirl.build(:item) }
    let(:policy) { Collection.new(id: "coll-1") }
    let(:agents) { [ "Editors", "bob@example.com", "public" ] }
    let(:editor) { Roles::Role.new role_type: "Editor", agent: "Editors", scope: "policy" }
    let(:downloader) { FactoryGirl.build(:role, :downloader, :public) }
    
    before do
      resource.admin_policy = policy
      resource.roles.grant downloader
      policy.roles.grant editor
    end

    it "returns the list of roles granted to the agents on the resource in resource scope, plus the roles granted to the agents on the resource's policy in policy scope" do
      expect(described_class.call(resource, agents))
        .to eq(Roles::RoleSet.new(roles: [downloader, editor]))
    end

  end
end

Version data entries

31 entries across 31 versions & 1 rubygems

Version Path
ddr-models-3.0.8 spec/auth/effective_roles_spec.rb
ddr-models-3.0.7 spec/auth/effective_roles_spec.rb
ddr-models-3.0.6 spec/auth/effective_roles_spec.rb
ddr-models-3.0.5 spec/auth/effective_roles_spec.rb
ddr-models-3.0.4 spec/auth/effective_roles_spec.rb
ddr-models-3.0.3 spec/auth/effective_roles_spec.rb
ddr-models-3.0.2 spec/auth/effective_roles_spec.rb
ddr-models-3.0.1 spec/auth/effective_roles_spec.rb
ddr-models-3.0.0 spec/auth/effective_roles_spec.rb
ddr-models-3.0.0.rc6 spec/auth/effective_roles_spec.rb
ddr-models-3.0.0.rc5 spec/auth/effective_roles_spec.rb
ddr-models-3.0.0.rc4 spec/auth/effective_roles_spec.rb
ddr-models-3.0.0.rc3 spec/auth/effective_roles_spec.rb
ddr-models-3.0.0.rc2 spec/auth/effective_roles_spec.rb
ddr-models-3.0.0.rc1 spec/auth/effective_roles_spec.rb
ddr-models-3.0.0.beta.22 spec/auth/effective_roles_spec.rb
ddr-models-3.0.0.beta.21 spec/auth/effective_roles_spec.rb
ddr-models-3.0.0.beta.20 spec/auth/effective_roles_spec.rb
ddr-models-3.0.0.beta.18 spec/auth/effective_roles_spec.rb
ddr-models-3.0.0.beta.17 spec/auth/effective_roles_spec.rb