Sha256: a8d60504877fefb4c0fee1827057ba02217a8e391d39ef2ceb83e63092082249

Contents?: true

Size: 1.34 KB

Versions: 11

Compression:

Stored size: 1.34 KB

Contents

require 'spec_helper'

describe ActiveFedora::Reflection::AssociationReflection do
  describe "#derive_foreign_key" do
    let(:name) { 'dummy' }
    let(:options) { { inverse_of: :default_permissions } }
    let(:active_fedora) { double }
    let(:instance) { described_class.new(macro, name, options, active_fedora) }
    subject { instance.send :derive_foreign_key }

    context "when a has_many" do
      let(:macro) { :has_many }

      context "and the inverse is a collection association" do
        let(:inverse) { double(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) }
    let(:name) { 'dummy' }
    let(:options) { { as: 'foothing' } }
    let(:active_fedora) { double }
    let(:instance) { described_class.new(macro, name, options, active_fedora) }
    subject { instance.send :automatic_inverse_of }

    context "when a has_many" do
      let(:macro) { :has_many }

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

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
active-fedora-9.7.3 spec/unit/reflection_spec.rb
active-fedora-9.7.2 spec/unit/reflection_spec.rb
active-fedora-9.10.0.pre2 spec/unit/reflection_spec.rb
active-fedora-9.10.0.pre1 spec/unit/reflection_spec.rb
active-fedora-9.9.1 spec/unit/reflection_spec.rb
active-fedora-9.9.0 spec/unit/reflection_spec.rb
active-fedora-9.8.2 spec/unit/reflection_spec.rb
active-fedora-9.8.1 spec/unit/reflection_spec.rb
active-fedora-9.8.0 spec/unit/reflection_spec.rb
active-fedora-9.7.1 spec/unit/reflection_spec.rb
active-fedora-9.7.0 spec/unit/reflection_spec.rb