Sha256: 2e57f069dc5b9f6918fcbcc846f9101a6625d9ee7d280ae20d1d5a57e693768f
Contents?: true
Size: 1.29 KB
Versions: 5
Compression:
Stored size: 1.29 KB
Contents
describe Spotlight::AddUploadsFromCSV do subject(:job) { described_class.new(data, exhibit, user) } let(:exhibit) { FactoryGirl.create(:exhibit) } let(:user) { FactoryGirl.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 = FactoryGirl.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
5 entries across 5 versions & 1 rubygems