Sha256: e756914e326f2e9eeae581739f91facb197551a215cbb6fd66c1c8eb640b7ba0

Contents?: true

Size: 1.46 KB

Versions: 28

Compression:

Stored size: 1.46 KB

Contents

require 'spec_helper'

describe ActiveFedora::Reflection::AssociationReflection do
  describe "#derive_foreign_key" do
    subject { instance.send :derive_foreign_key }
    let(:name) { 'dummy' }
    let(:options) { { inverse_of: :default_permissions } }
    let(:active_fedora) { instance_double(ActiveFedora::Base) }

    context "when a has_many" do
      let(:instance) { ActiveFedora::Reflection::HasManyReflection.new(name, nil, options, active_fedora) }

      context "and the inverse is a collection association" do
        let(:inverse) { instance_double(ActiveFedora::Reflection::HasAndBelongsToManyReflection, collection?: true) }
        before { allow(instance).to receive(:inverse_of).and_return(inverse) }
        it { is_expected.to eq 'default_permission_ids' }
      end
    end
  end

  describe "#automatic_inverse_of" do
    before do
      class Dummy < ActiveFedora::Base
        belongs_to :foothing, predicate: ::RDF::Vocab::DC.extent
      end
    end

    after { Object.send(:remove_const, :Dummy) }
    subject { instance.send :automatic_inverse_of }
    let(:name) { 'dummy' }
    let(:options) { { as: 'foothing' } }
    let(:active_fedora) { instance_double(ActiveFedora::Base) }

    context "when a has_many" do
      let(:instance) { ActiveFedora::Reflection::HasManyReflection.new(name, nil, options, active_fedora) }

      context "and the inverse is a collection association" do
        it { is_expected.to eq :foothing }
      end
    end
  end
end

Version data entries

28 entries across 28 versions & 1 rubygems

Version Path
active-fedora-12.2.4 spec/unit/reflection_spec.rb
active-fedora-12.2.3 spec/unit/reflection_spec.rb
active-fedora-11.5.6 spec/unit/reflection_spec.rb
active-fedora-12.2.2 spec/unit/reflection_spec.rb
active-fedora-11.2.1 spec/unit/reflection_spec.rb
active-fedora-12.2.1 spec/unit/reflection_spec.rb
active-fedora-12.0.3 spec/unit/reflection_spec.rb
active-fedora-11.5.5 spec/unit/reflection_spec.rb
active-fedora-13.1.2 spec/unit/reflection_spec.rb
active-fedora-13.1.1 spec/unit/reflection_spec.rb
active-fedora-13.1.0 spec/unit/reflection_spec.rb
active-fedora-13.0.0 spec/unit/reflection_spec.rb
active-fedora-12.1.1 spec/unit/reflection_spec.rb
active-fedora-12.1.0 spec/unit/reflection_spec.rb
active-fedora-11.5.4 spec/unit/reflection_spec.rb
active-fedora-11.5.3 spec/unit/reflection_spec.rb
active-fedora-12.0.2 spec/unit/reflection_spec.rb
active-fedora-12.0.1 spec/unit/reflection_spec.rb
active-fedora-11.5.2 spec/unit/reflection_spec.rb
active-fedora-12.0.0 spec/unit/reflection_spec.rb