diff options
Diffstat (limited to 'spec/services/jira_import/start_import_service_spec.rb')
-rw-r--r-- | spec/services/jira_import/start_import_service_spec.rb | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/spec/services/jira_import/start_import_service_spec.rb b/spec/services/jira_import/start_import_service_spec.rb index 759e4f3363f..9dc8cdb1475 100644 --- a/spec/services/jira_import/start_import_service_spec.rb +++ b/spec/services/jira_import/start_import_service_spec.rb @@ -13,7 +13,7 @@ describe JiraImport::StartImportService do context 'when an error is returned from the project validation' do before do - allow(project).to receive(:validate_jira_import_settings!) + allow(Gitlab::JiraImport).to receive(:validate_project_settings!) .and_raise(Projects::ImportService::Error, 'Jira import feature is disabled.') end @@ -25,7 +25,7 @@ describe JiraImport::StartImportService do before do stub_jira_service_test - allow(project).to receive(:validate_jira_import_settings!) + allow(Gitlab::JiraImport).to receive(:validate_project_settings!) end context 'when Jira project key is not provided' do @@ -45,6 +45,22 @@ describe JiraImport::StartImportService do it_behaves_like 'responds with error', 'Jira import is already running.' end + context 'when an error is raised while scheduling import' do + before do + expect_next_instance_of(JiraImportState) do |jira_impport| + expect(jira_impport).to receive(:schedule!).and_raise(Projects::ImportService::Error, 'Unexpected failure.') + end + end + + it_behaves_like 'responds with error', 'Unexpected failure.' + + it 'saves the error message' do + subject + + expect(JiraImportState.last.error_message).to eq('Unexpected failure.') + end + end + context 'when everything is ok' do it 'returns success response' do expect(subject).to be_a(ServiceResponse) @@ -57,7 +73,7 @@ describe JiraImport::StartImportService do expect(project.latest_jira_import).to be_scheduled end - it 'creates Jira import data' do + it 'creates Jira import data', :aggregate_failures do jira_import = subject.payload[:import_data] expect(jira_import.jira_project_xid).to eq(0) @@ -72,8 +88,8 @@ describe JiraImport::StartImportService do it 'creates Jira label title with correct number' do jira_import = subject.payload[:import_data] - label_title = "jira-import::#{jira_import.jira_project_key}-1" + expect(jira_import.label.title).to eq(label_title) end end @@ -83,8 +99,8 @@ describe JiraImport::StartImportService do it 'creates Jira label title with correct number' do jira_import = subject.payload[:import_data] - label_title = "jira-import::#{jira_import.jira_project_key}-4" + expect(jira_import.label.title).to eq(label_title) end end |