Sha256: 2ca9b45e5cbc2592fb9675a47d917a42695b2cd95ceae14d935dfe9a9a200043
Contents?: true
Size: 1.79 KB
Versions: 9
Compression:
Stored size: 1.79 KB
Contents
require 'spec_helper' describe ActiveFedora::Model do before(:all) do module ModelIntegrationSpec class Basic < ActiveFedora::Base has_metadata name: "properties", type: ActiveFedora::SimpleDatastream do |m| m.field "foo", :string m.field "bar", :string m.field "baz", :string end Deprecation.silence(ActiveFedora::Attributes) do has_attributes :foo, :bar, :baz, datastream: 'properties', multiple: true end def to_solr(doc = {}) doc = super doc[ActiveFedora.index_field_mapper.solr_name('foo', :sortable)] = doc[ActiveFedora.index_field_mapper.solr_name('foo', type: :string)] doc end end end end after(:all) do Object.send(:remove_const, :ModelIntegrationSpec) end describe "with multiple objects" do let!(:instance1) { ModelIntegrationSpec::Basic.create!(foo: ['Beta'], bar: ['Chips']) } let!(:instance2) { ModelIntegrationSpec::Basic.create!(foo: ['Alpha'], bar: ['Peanuts']) } let!(:instance3) { ModelIntegrationSpec::Basic.create!(foo: ['Sigma'], bar: ['Peanuts']) } subject { ModelIntegrationSpec::Basic.where(bar: 'Peanuts') } it "maps" do expect(subject.map(&:id)).to eq [instance2.id, instance3.id] end it "collects" do expect(subject.collect(&:id)).to eq [instance2.id, instance3.id] end it "has each" do t = double expect(t).to receive(:foo).twice subject.each { t.foo } end it "has all?" do expect(subject.all? { |t| t.foo == ['Alpha'] }).to be false expect(subject.all? { |t| t.bar == ['Peanuts'] }).to be true end it "has include?" do expect(subject.include?(instance1)).to be false expect(subject.include?(instance2)).to be true end end end
Version data entries
9 entries across 9 versions & 1 rubygems