diff options
Diffstat (limited to 'spec/workers/bulk_import_worker_spec.rb')
-rw-r--r-- | spec/workers/bulk_import_worker_spec.rb | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/spec/workers/bulk_import_worker_spec.rb b/spec/workers/bulk_import_worker_spec.rb index 9119394f250..205bf23f36d 100644 --- a/spec/workers/bulk_import_worker_spec.rb +++ b/spec/workers/bulk_import_worker_spec.rb @@ -22,6 +22,16 @@ RSpec.describe BulkImportWorker do end end + context 'when bulk import is failed' do + it 'does nothing' do + bulk_import = create(:bulk_import, :failed) + + expect(described_class).not_to receive(:perform_in) + + subject.perform(bulk_import.id) + end + end + context 'when all entities are processed' do it 'marks bulk import as finished' do bulk_import = create(:bulk_import, :started) @@ -34,6 +44,18 @@ RSpec.describe BulkImportWorker do end end + context 'when all entities are failed' do + it 'marks bulk import as failed' do + bulk_import = create(:bulk_import, :started) + create(:bulk_import_entity, :failed, bulk_import: bulk_import) + create(:bulk_import_entity, :failed, bulk_import: bulk_import) + + subject.perform(bulk_import.id) + + expect(bulk_import.reload.failed?).to eq(true) + end + end + context 'when maximum allowed number of import entities in progress' do it 'reenqueues itself' do bulk_import = create(:bulk_import, :started) |