Sha256: 46616d94e3b88b103aa82a75b78cbaec5e3f86101d0441d29eee1e5c14c6d6c0

Contents?: true

Size: 1.4 KB

Versions: 27

Compression:

Stored size: 1.4 KB

Contents

require 'spec_helper'

describe Spotlight::Role, type: :model do
  describe 'validations' do
    subject { described_class.new(args) }
    describe 'with nothing' do
      let(:args) { { user_key: '' } }
      it 'does not be valid' do
        expect(subject).not_to be_valid
        expect(subject.errors.messages).to eq(role: ['is not included in the list'], user_key: ["can't be blank"])
      end
    end
    describe 'with user_key' do
      let(:user) { FactoryGirl.create(:user) }
      describe "that doesn't point at a user" do
        let(:args) { { role: 'curator', user_key: 'bob' } }
        it 'does not be valid' do
          expect(subject).not_to be_valid
          expect(subject.errors.messages).to eq(user_key: ['User must sign up first.'])
        end
      end
      describe 'that points at a user' do
        let(:args) { { role: 'curator', user_key: user.email } }
        it 'is valid' do
          expect(subject).to be_valid
          expect(subject.errors.messages).to be_empty
        end
      end
      describe 'that points at a user with an existing role' do
        before { described_class.create!(role: 'curator', user: user) }
        let(:args) { { role: 'curator', user_key: user.email } }
        it 'is valid' do
          expect(subject).not_to be_valid
          expect(subject.errors.messages).to eq(user_key: ['already a member of this exhibit'])
        end
      end
    end
  end
end

Version data entries

27 entries across 27 versions & 1 rubygems

Version Path
blacklight-spotlight-0.18.0 spec/models/spotlight/role_spec.rb
blacklight-spotlight-0.17.1 spec/models/spotlight/role_spec.rb
blacklight-spotlight-0.17.0 spec/models/spotlight/role_spec.rb
blacklight-spotlight-0.16.0 spec/models/spotlight/role_spec.rb
blacklight-spotlight-0.15.0 spec/models/spotlight/role_spec.rb
blacklight-spotlight-0.14.2 spec/models/spotlight/role_spec.rb
blacklight-spotlight-0.14.1 spec/models/spotlight/role_spec.rb
blacklight-spotlight-0.14.0 spec/models/spotlight/role_spec.rb
blacklight-spotlight-0.13.0 spec/models/spotlight/role_spec.rb
blacklight-spotlight-0.12.1 spec/models/spotlight/role_spec.rb
blacklight-spotlight-0.12.0 spec/models/spotlight/role_spec.rb
blacklight-spotlight-0.11.0 spec/models/spotlight/role_spec.rb
blacklight-spotlight-0.10.3 spec/models/spotlight/role_spec.rb
blacklight-spotlight-0.10.2 spec/models/spotlight/role_spec.rb
blacklight-spotlight-0.10.1 spec/models/spotlight/role_spec.rb
blacklight-spotlight-0.10.0 spec/models/spotlight/role_spec.rb
blacklight-spotlight-0.9.2 spec/models/spotlight/role_spec.rb
blacklight-spotlight-0.9.1 spec/models/spotlight/role_spec.rb
blacklight-spotlight-0.9.0 spec/models/spotlight/role_spec.rb
blacklight-spotlight-0.8.2 spec/models/spotlight/role_spec.rb