diff options
Diffstat (limited to 'spec/models/project_import_state_spec.rb')
-rw-r--r-- | spec/models/project_import_state_spec.rb | 24 |
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 |