Sha256: 2213021ff1e8497d5740f3bb210234f4424c3810bbf7ec1d66f99b6b48e6c76d

Contents?: true

Size: 1.36 KB

Versions: 2

Compression:

Stored size: 1.36 KB

Contents

require 'spec_helper'

describe UploadSet do
  let(:user) { FactoryGirl.find_or_create(:jill) }
  let(:upload_set) { described_class.create(title: ["test collection"], creator: [user.user_key]) }
  subject { upload_set }

  it "has dc metadata" do
    expect(subject.creator).to eq [user.user_key]
    expect(subject.title).to eq ["test collection"]
  end

  it "responds to .file_sets" do
    expect(subject).to respond_to(:file_sets)
  end

  it "supports to_solr" do
    expect(subject.to_solr).to_not be_nil
    expect(subject.to_solr["upload_set__title_t"]).to be_nil
    expect(subject.to_solr["upload_set__creator_t"]).to be_nil
  end

  describe "find_or_create" do
    describe "when the object exists" do
      let!(:upload_set) { described_class.create(title: ["test collection"], creator: [user.user_key]) }
      it "finds upload_set instead of creating" do
        expect(described_class).to_not receive(:create)
        described_class.find_or_create(subject.id)
      end
    end
    describe "when the object does not exist" do
      it "creates a new Batch" do
        expect { described_class.find("upload_set-123") }.to raise_error(ActiveFedora::ObjectNotFoundError)
        expect(described_class).to receive(:create).once.and_return("the upload_set")
        expect(described_class.find_or_create("upload_set-123")).to eq "the upload_set"
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
curation_concerns-0.3.0 spec/models/upload_set_spec.rb
curation_concerns-0.2.0 spec/models/upload_set_spec.rb