Sha256: 4351e5e510305059cfb29bd4c04dc5e0fb23805827017a0974b45bfa5b02fcf4

Contents?: true

Size: 1.4 KB

Versions: 16

Compression:

Stored size: 1.4 KB

Contents

require 'spec_helper'

describe CharacterizeJob do
  include CurationConcerns::FactoryHelpers

  let(:file_set)    { FileSet.new(id: file_set_id) }
  let(:file_set_id) { 'abc12345678' }
  let(:file_path)   { Rails.root + 'tmp' + 'uploads' + 'ab' + 'c1' + '23' + '45' + 'picture.png' }
  let(:filename)    { file_path.to_s }
  let(:file) do
    Hydra::PCDM::File.new.tap do |f|
      f.content = 'foo'
      f.original_name = 'picture.png'
      f.save!
    end
  end

  before do
    allow(FileSet).to receive(:find).with(file_set_id).and_return(file_set)
    allow(file_set).to receive(:original_file).and_return(file)
  end

  context 'when the characterization proxy content is present' do
    it 'runs Hydra::Works::CharacterizationService and creates a CreateDerivativesJob' do
      expect(Hydra::Works::CharacterizationService).to receive(:run).with(file, filename)
      expect(file).to receive(:save!)
      expect(file_set).to receive(:update_index)
      expect(CreateDerivativesJob).to receive(:perform_later).with(file_set, file.id)
      described_class.perform_now(file_set, file.id)
    end
  end

  context 'when the characterization proxy content is absent' do
    before { allow(file_set).to receive(:characterization_proxy?).and_return(false) }
    it 'raises an error' do
      expect { described_class.perform_now(file_set, file.id) }.to raise_error(LoadError, 'original_file was not found')
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
curation_concerns-1.5.0 spec/jobs/characterize_job_spec.rb
curation_concerns-1.4.0 spec/jobs/characterize_job_spec.rb
curation_concerns-1.3.3 spec/jobs/characterize_job_spec.rb
curation_concerns-1.3.2 spec/jobs/characterize_job_spec.rb
curation_concerns-1.3.1 spec/jobs/characterize_job_spec.rb
curation_concerns-1.3.0 spec/jobs/characterize_job_spec.rb
curation_concerns-1.2.0 spec/jobs/characterize_job_spec.rb
curation_concerns-1.1.2 spec/jobs/characterize_job_spec.rb
curation_concerns-1.1.1 spec/jobs/characterize_job_spec.rb
curation_concerns-1.1.0 spec/jobs/characterize_job_spec.rb
curation_concerns-1.0.0 spec/jobs/characterize_job_spec.rb
curation_concerns-1.0.0.beta10 spec/jobs/characterize_job_spec.rb
curation_concerns-1.0.0.beta9 spec/jobs/characterize_job_spec.rb
curation_concerns-1.0.0.beta8 spec/jobs/characterize_job_spec.rb
curation_concerns-1.0.0.beta7 spec/jobs/characterize_job_spec.rb
curation_concerns-1.0.0.beta6 spec/jobs/characterize_job_spec.rb