Sha256: 980674200a641658c54789fe48ce491f53941ccdb2620f86ae2e2ca148b48ee5

Contents?: true

Size: 1.26 KB

Versions: 23

Compression:

Stored size: 1.26 KB

Contents

require 'spec_helper'

RSpec.describe 'PowerConverter', no_clean: true do
  context 'role' do
    it "converts Sipity::Role" do
      object = Sipity::Role.new
      expect(PowerConverter.convert(object, to: :sipity_role)).to eq(object)
    end

    it "converts a #to_sipity_role object" do
      object = double(to_sipity_role: Sipity::Role.new)
      expect(PowerConverter.convert(object, to: :sipity_role)).to eq(object.to_sipity_role)
    end

    it "converts a string to a Sipity::Role if there exists a Sipity::Role with a name equal to the string" do
      Sipity::Role.create!(name: 'hello')
      expect(PowerConverter.convert('hello', to: :sipity_role)).to be_a(Sipity::Role)
    end

    it "creates a new role if given a string and no Sipity::Role exists with that name" do
      expect { PowerConverter.convert('hello', to: :sipity_role) }.to change { Sipity::Role.count }.by(1)
    end

    it "converts a base object with composed attributes delegator" do
      base_object = Sipity::Role.new
      expect(PowerConverter.convert(base_object, to: :sipity_role)).to eq(base_object)
    end

    it 'does not convert an arbitrary object' do
      expect { PowerConverter.convert(double, to: :sipity_role) }.to raise_error(PowerConverter::ConversionError)
    end
  end
end

Version data entries

23 entries across 23 versions & 3 rubygems

Version Path
hyrax-1.1.1 spec/conversions/power_converters/sipity_role_spec.rb
hyrax-1.1.0 spec/conversions/power_converters/sipity_role_spec.rb
hyrax-1.0.5 spec/conversions/power_converters/sipity_role_spec.rb
curation_concerns-1.7.8 spec/conversions/power_converters/sipity_role_spec.rb
hyrax-1.0.4 spec/conversions/power_converters/sipity_role_spec.rb
hyrax-1.0.3 spec/conversions/power_converters/sipity_role_spec.rb
hyrax-1.0.2 spec/conversions/power_converters/sipity_role_spec.rb
hyrax-1.0.1 spec/conversions/power_converters/sipity_role_spec.rb
hyrax-1.0.0.rc2 spec/conversions/power_converters/sipity_role_spec.rb
curation_concerns-1.7.7 spec/conversions/power_converters/sipity_role_spec.rb
curation_concerns-2.0.0 spec/conversions/power_converters/sipity_role_spec.rb
curation_concerns-2.0.0.rc2 spec/conversions/power_converters/sipity_role_spec.rb
hyrax-1.0.0.rc1 spec/conversions/power_converters/sipity_role_spec.rb
curation_concerns-1.7.6 spec/conversions/power_converters/sipity_role_spec.rb
curation_concerns-1.7.5 spec/conversions/power_converters/sipity_role_spec.rb
test_hyrax-0.0.1.alpha spec/conversions/power_converters/sipity_role_spec.rb
curation_concerns-1.7.4 spec/conversions/power_converters/sipity_role_spec.rb
curation_concerns-1.7.3 spec/conversions/power_converters/sipity_role_spec.rb
curation_concerns-1.7.2 spec/conversions/power_converters/sipity_role_spec.rb
curation_concerns-2.0.0.rc1 spec/conversions/power_converters/sipity_role_spec.rb