diff options
Diffstat (limited to 'spec/workers/bulk_import_worker_spec.rb')
-rw-r--r-- | spec/workers/bulk_import_worker_spec.rb | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/spec/workers/bulk_import_worker_spec.rb b/spec/workers/bulk_import_worker_spec.rb index d3a4144d606..8cf14ed6f8b 100644 --- a/spec/workers/bulk_import_worker_spec.rb +++ b/spec/workers/bulk_import_worker_spec.rb @@ -72,6 +72,21 @@ RSpec.describe BulkImportWorker do expect(bulk_import.entities.map(&:status_name)).to contain_exactly(:created, :started) end end + + context 'when exception occurs' do + it 'tracks the exception & marks import as failed' do + bulk_import = create(:bulk_import, :created) + create(:bulk_import_entity, :created, bulk_import: bulk_import) + + allow(BulkImports::EntityWorker).to receive(:perform_async).and_raise(StandardError) + + expect(Gitlab::ErrorTracking).to receive(:track_exception).with(kind_of(StandardError), bulk_import_id: bulk_import.id) + + subject.perform(bulk_import.id) + + expect(bulk_import.reload.failed?).to eq(true) + end + end end end end |