Sha256: 7da8fcfbe361d3ae096b8d88d1fd11483291b78437cc9b3df4649cf9943d314b

Contents?: true

Size: 1.28 KB

Versions: 24

Compression:

Stored size: 1.28 KB

Contents

describe Spotlight::AddUploadsFromCSV do
  subject(:job) { described_class.new(data, exhibit, user) }
  let(:exhibit) { FactoryBot.create(:exhibit) }
  let(:user) { FactoryBot.create(:exhibit_curator, exhibit: exhibit) }
  let(:data) do
    [
      { 'url' => 'x' },
      { 'url' => 'y' }
    ]
  end

  let(:resource_x) { instance_double(Spotlight::Resource) }
  let(:resource_y) { instance_double(Spotlight::Resource) }

  before do
    allow(Spotlight::IndexingCompleteMailer).to receive(:documents_indexed).and_return(double(deliver_now: true))
  end

  context 'with empty data' do
    let(:data) { [] }

    it 'sends the user an email after the indexing job is complete' do
      expect(Spotlight::IndexingCompleteMailer).to receive(:documents_indexed).and_return(double(deliver_now: true))
      job.perform_now
    end
  end

  it 'creates uploaded resources for each row of data' do
    upload = FactoryBot.create(:uploaded_resource)
    expect(Spotlight::Resources::Upload).to receive(:new).at_least(:once).and_return(upload)

    expect(upload).to receive(:build_upload).with(remote_image_url: 'x').and_call_original
    expect(upload).to receive(:build_upload).with(remote_image_url: 'y').and_call_original
    expect(upload).to receive(:save_and_index).at_least(:once)

    job.perform_now
  end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
blacklight-spotlight-2.4.1 spec/jobs/spotlight/add_uploads_from_csv_spec.rb
blacklight-spotlight-2.4.0 spec/jobs/spotlight/add_uploads_from_csv_spec.rb
blacklight-spotlight-2.3.3 spec/jobs/spotlight/add_uploads_from_csv_spec.rb
blacklight-spotlight-2.3.2 spec/jobs/spotlight/add_uploads_from_csv_spec.rb
blacklight-spotlight-2.3.1 spec/jobs/spotlight/add_uploads_from_csv_spec.rb
blacklight-spotlight-2.3.0 spec/jobs/spotlight/add_uploads_from_csv_spec.rb
blacklight-spotlight-2.2.1 spec/jobs/spotlight/add_uploads_from_csv_spec.rb
blacklight-spotlight-2.2.0 spec/jobs/spotlight/add_uploads_from_csv_spec.rb
blacklight-spotlight-2.1.0 spec/jobs/spotlight/add_uploads_from_csv_spec.rb
blacklight-spotlight-2.0.2 spec/jobs/spotlight/add_uploads_from_csv_spec.rb
blacklight-spotlight-2.0.1 spec/jobs/spotlight/add_uploads_from_csv_spec.rb
blacklight-spotlight-2.0.0 spec/jobs/spotlight/add_uploads_from_csv_spec.rb
blacklight-spotlight-2.0.0.rc6 spec/jobs/spotlight/add_uploads_from_csv_spec.rb
blacklight-spotlight-2.0.0.rc5 spec/jobs/spotlight/add_uploads_from_csv_spec.rb
blacklight-spotlight-2.0.0.rc4 spec/jobs/spotlight/add_uploads_from_csv_spec.rb
blacklight-spotlight-2.0.0.rc3 spec/jobs/spotlight/add_uploads_from_csv_spec.rb
blacklight-spotlight-2.0.0.rc2 spec/jobs/spotlight/add_uploads_from_csv_spec.rb
blacklight-spotlight-2.0.0.rc1 spec/jobs/spotlight/add_uploads_from_csv_spec.rb
blacklight-spotlight-1.5.1 spec/jobs/spotlight/add_uploads_from_csv_spec.rb
blacklight-spotlight-1.4.1 spec/jobs/spotlight/add_uploads_from_csv_spec.rb