Sha256: 276712e9144a1904a1fbb15aa241ae71b10798c577bbfde83b374f6ad7aebaa2

Contents?: true

Size: 1.03 KB

Versions: 2

Compression:

Stored size: 1.03 KB

Contents

module Ddr::Auth
  RSpec.describe Roles do
    describe ".get_role_class" do
      it "should return the class for the role type" do
        expect(Roles.get_role_class(:curator)).to eq(Roles::Curator)
        expect(Roles.get_role_class(:editor)).to eq(Roles::Editor)
        expect(Roles.get_role_class(:contributor)).to eq(Roles::Contributor)
        expect(Roles.get_role_class(:metadata_editor)).to eq(Roles::MetadataEditor)
        expect(Roles.get_role_class(:downloader)).to eq(Roles::Downloader)
        expect(Roles.get_role_class(:viewer)).to eq(Roles::Viewer)
      end
    end
    describe ".build_role" do
      subject {  Roles.build_role(type: :curator, person: "bob@example.com", scope: "resource") }
      it { is_expected.to be_a(Roles::Curator) }
      its(:agent_name) { is_expected.to eq("bob@example.com") }
      it "should have 'resource' scope" do
        expect(subject.scope.first).to eq("resource")
      end
      it "should have a Person agent" do
        expect(subject.agent.first).to be_a(Person)
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ddr-models-1.13.1 spec/auth/roles_spec.rb
ddr-models-1.13.0 spec/auth/roles_spec.rb