Sha256: 96d9f73bc148939d158580e07d05afbd05125e517c0de326bbc9d5a2e3133d36

Contents?: true

Size: 1.43 KB

Versions: 34

Compression:

Stored size: 1.43 KB

Contents

require "spec_helper"
require 'ostruct'
require "active_fedora/rspec_matchers/belong_to_associated_active_fedora_object_matcher"

describe RSpec::Matchers, ".belong_to_associated_active_fedora_object" do
  subject { OpenStruct.new(id: id) }
  let(:id) { 123 }
  let(:object1) { Object.new }
  let(:object2) { Object.new }
  let(:association) { :association }

  it 'matches when association is properly stored in fedora' do
    expect(subject.class).to receive(:find).with(id).and_return(subject)
    expect(subject).to receive(association).and_return(object1)
    expect(subject).to belong_to_associated_active_fedora_object(association).with_object(object1)
  end

  it 'does not match when association is different' do
    expect(subject.class).to receive(:find).with(id).and_return(subject)
    expect(subject).to receive(association).and_return(object1)
    expect {
      expect(subject).to belong_to_associated_active_fedora_object(association).with_object(object2)
    }.to raise_error RSpec::Expectations::ExpectationNotMetError,
                     /expected #{subject.class} ID=#{id} association: #{association.inspect}/
  end

  it 'requires :with_object option' do
    expect {
      expect(subject).to belong_to_associated_active_fedora_object(association)
    }.to(
      raise_error(
        ArgumentError,
        "expect(subject).to belong_to_associated_active_fedora_object(<association_name>).with_object(<object>)"
      )
    )
  end
end

Version data entries

34 entries across 34 versions & 1 rubygems

Version Path
active-fedora-10.3.0 spec/unit/rspec_matchers/belong_to_associated_active_fedora_object_matcher_spec.rb
active-fedora-9.7.3 spec/unit/rspec_matchers/belong_to_associated_active_fedora_object_matcher_spec.rb
active-fedora-10.3.0.rc2 spec/unit/rspec_matchers/belong_to_associated_active_fedora_object_matcher_spec.rb
active-fedora-10.3.0.rc1 spec/unit/rspec_matchers/belong_to_associated_active_fedora_object_matcher_spec.rb
active-fedora-10.2.1 spec/unit/rspec_matchers/belong_to_associated_active_fedora_object_matcher_spec.rb
active-fedora-10.2.0 spec/unit/rspec_matchers/belong_to_associated_active_fedora_object_matcher_spec.rb
active-fedora-11.0.0.rc1 spec/unit/rspec_matchers/belong_to_associated_active_fedora_object_matcher_spec.rb
active-fedora-10.1.0 spec/unit/rspec_matchers/belong_to_associated_active_fedora_object_matcher_spec.rb
active-fedora-10.1.0.rc1 spec/unit/rspec_matchers/belong_to_associated_active_fedora_object_matcher_spec.rb
active-fedora-9.7.2 spec/unit/rspec_matchers/belong_to_associated_active_fedora_object_matcher_spec.rb
active-fedora-10.0.0 spec/unit/rspec_matchers/belong_to_associated_active_fedora_object_matcher_spec.rb
active-fedora-10.0.0.beta4 spec/unit/rspec_matchers/belong_to_associated_active_fedora_object_matcher_spec.rb
active-fedora-10.0.0.beta3 spec/unit/rspec_matchers/belong_to_associated_active_fedora_object_matcher_spec.rb
active-fedora-10.0.0.beta2 spec/unit/rspec_matchers/belong_to_associated_active_fedora_object_matcher_spec.rb
active-fedora-10.0.0.beta1 spec/unit/rspec_matchers/belong_to_associated_active_fedora_object_matcher_spec.rb
active-fedora-9.13.0 spec/unit/rspec_matchers/belong_to_associated_active_fedora_object_matcher_spec.rb
active-fedora-9.12.0 spec/unit/rspec_matchers/belong_to_associated_active_fedora_object_matcher_spec.rb
active-fedora-9.11.0 spec/unit/rspec_matchers/belong_to_associated_active_fedora_object_matcher_spec.rb
active-fedora-9.10.4 spec/unit/rspec_matchers/belong_to_associated_active_fedora_object_matcher_spec.rb
active-fedora-9.10.3 spec/unit/rspec_matchers/belong_to_associated_active_fedora_object_matcher_spec.rb