Sha256: 4af7ff19d6b96822bd50c3d927782c3b9aaafa67db1b6c7b36fc1b75bbffb7d2
Contents?: true
Size: 1.86 KB
Versions: 2
Compression:
Stored size: 1.86 KB
Contents
require 'spec_helper' describe IngestFileJob do let(:file_set) { create(:file_set) } let(:filename) { fixture_file_path('/world.png') } it 'uses the provided mime_type' do described_class.perform_now(file_set.id, filename, 'image/png', 'bob') expect(file_set.reload.original_file.mime_type).to eq 'image/png' end context 'with two existing versions from different users' do let(:file1) { fixture_file_path 'world.png' } let(:file2) { fixture_file_path 'small_file.txt' } let(:actor1) { described_class.new(file_set, user) } let(:actor2) { described_class.new(file_set, second_user) } let(:second_user) { create(:user) } let(:versions) { file_set.reload.original_file.versions } before do described_class.perform_now(file_set.id, file1, 'image/png', 'bob') described_class.perform_now(file_set.id, file2, 'text/plain', 'bess') end it 'has two versions' do expect(versions.all.count).to eq 2 # the current version expect(CurationConcerns::VersioningService.latest_version_of(file_set.reload.original_file).label).to eq 'version2' expect(file_set.original_file.content).to eq File.open(file2).read expect(file_set.original_file.mime_type).to eq 'text/plain' expect(file_set.original_file.original_name).to eq 'small_file.txt' # the user for each version expect(VersionCommitter.where(version_id: versions.first.uri).pluck(:committer_login)).to eq ['bob'] expect(VersionCommitter.where(version_id: versions.last.uri).pluck(:committer_login)).to eq ['bess'] end end it 'runs the after_create_content callback with file_set and user arguments' do expect(CurationConcerns.config.callback).to receive(:run).with(:after_create_content, file_set, 'bob').exactly(1).times described_class.perform_now(file_set.id, filename, 'image/png', 'bob') end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
curation_concerns-0.3.0 | spec/jobs/ingest_file_job_spec.rb |
curation_concerns-0.2.0 | spec/jobs/ingest_file_job_spec.rb |