Sha256: e684cbd8bd740d992a4ef8ccf17e9d97c40234252627ca8a7269a7e9e04f5191

Contents?: true

Size: 1.29 KB

Versions: 13

Compression:

Stored size: 1.29 KB

Contents

require 'spec_helper'

describe RoleMapper do
  before do
    allow(Devise).to receive(:authentication_keys).and_return(['uid'])
  end

  it "defines the 4 roles" do
    expect(RoleMapper.role_names.sort).to eq %w(admin_policy_object_editor archivist donor patron researcher)
  end
  it "is quer[iy]able for roles for a given user" do
    expect(RoleMapper.roles('leland_himself@example.com').sort).to eq ['archivist', 'donor', 'patron']
    expect(RoleMapper.roles('archivist2@example.com')).to eq ['archivist']
  end

  it "doesn't change its response when it's called repeatedly" do
    u = User.new(:uid=>'leland_himself@example.com')
    allow(u).to receive(:new_record?).and_return(false)
    expect(RoleMapper.roles(u).sort).to eq ['archivist', 'donor', 'patron', "registered"]
    expect(RoleMapper.roles(u).sort).to eq ['archivist', 'donor', 'patron', "registered"]
  end

  it "returns an empty array if there are no roles" do
    expect(RoleMapper.roles('zeus@olympus.mt')).to be_empty
  end

  it "knows who is what" do
    expect(RoleMapper.whois('archivist').sort).to eq %w(archivist1@example.com archivist2@example.com leland_himself@example.com)
    expect(RoleMapper.whois('salesman')).to be_empty
    expect(RoleMapper.whois('admin_policy_object_editor').sort).to eq %w(archivist1@example.com)
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
hydra-access-controls-10.3.4 spec/unit/role_mapper_spec.rb
hydra-access-controls-10.3.3 spec/unit/role_mapper_spec.rb
hydra-access-controls-10.3.2 spec/unit/role_mapper_spec.rb
hydra-access-controls-10.3.0 spec/unit/role_mapper_spec.rb
hydra-access-controls-10.2.0 spec/unit/role_mapper_spec.rb
hydra-access-controls-10.1.0 spec/unit/role_mapper_spec.rb
hydra-access-controls-10.0.2 spec/unit/role_mapper_spec.rb
hydra-access-controls-10.0.1 spec/unit/role_mapper_spec.rb
hydra-access-controls-10.0.0 spec/unit/role_mapper_spec.rb
hydra-access-controls-10.0.0.beta4 spec/unit/role_mapper_spec.rb
hydra-access-controls-10.0.0.beta3 spec/unit/role_mapper_spec.rb
hydra-access-controls-10.0.0.beta2 spec/unit/role_mapper_spec.rb
hydra-access-controls-10.0.0.beta1 spec/unit/role_mapper_spec.rb