diff options
Diffstat (limited to 'spec/models/project_import_state_spec.rb')
-rw-r--r-- | spec/models/project_import_state_spec.rb | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/spec/models/project_import_state_spec.rb b/spec/models/project_import_state_spec.rb index 843beb4ce23..4ad2446f8d0 100644 --- a/spec/models/project_import_state_spec.rb +++ b/spec/models/project_import_state_spec.rb @@ -79,6 +79,29 @@ RSpec.describe ProjectImportState, type: :model do expect(import_state.last_error).to eq(error_message) end + + it 'removes project import data' do + import_data = ProjectImportData.new(data: { 'test' => 'some data' }) + project = create(:project, import_data: import_data) + import_state = create(:import_state, :started, project: project) + + expect do + import_state.mark_as_failed(error_message) + end.to change { project.reload.import_data }.from(import_data).to(nil) + end + + context 'when remove_import_data_on_failure feature flag is disabled' do + it 'removes project import data' do + stub_feature_flags(remove_import_data_on_failure: false) + + project = create(:project, import_data: ProjectImportData.new(data: { 'test' => 'some data' })) + import_state = create(:import_state, :started, project: project) + + expect do + import_state.mark_as_failed(error_message) + end.not_to change { project.reload.import_data } + end + end end describe '#human_status_name' do |