summaryrefslogtreecommitdiff
path: root/spec/models/project_import_state_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/models/project_import_state_spec.rb')
-rw-r--r--spec/models/project_import_state_spec.rb24
1 files changed, 24 insertions, 0 deletions
diff --git a/spec/models/project_import_state_spec.rb b/spec/models/project_import_state_spec.rb
index cb34d898a6e..f3b83c036b5 100644
--- a/spec/models/project_import_state_spec.rb
+++ b/spec/models/project_import_state_spec.rb
@@ -57,6 +57,30 @@ describe ProjectImportState, type: :model do
end
end
+ describe '#mark_as_failed' do
+ let(:error_message) { 'some message' }
+
+ it 'logs error when update column fails' do
+ allow(import_state).to receive(:update_column).and_raise(ActiveRecord::ActiveRecordError)
+
+ expect_next_instance_of(Gitlab::Import::Logger) do |logger|
+ expect(logger).to receive(:error).with(
+ error: 'ActiveRecord::ActiveRecordError',
+ message: 'Error setting import status to failed',
+ original_error: error_message
+ )
+ end
+
+ import_state.mark_as_failed(error_message)
+ end
+
+ it 'updates last_error with error message' do
+ import_state.mark_as_failed(error_message)
+
+ expect(import_state.last_error).to eq(error_message)
+ end
+ end
+
describe '#human_status_name' do
context 'when import_state exists' do
it 'returns the humanized status name' do