diff options
Diffstat (limited to 'spec/workers/gitlab')
6 files changed, 56 insertions, 13 deletions
diff --git a/spec/workers/gitlab/jira_import/import_issue_worker_spec.rb b/spec/workers/gitlab/jira_import/import_issue_worker_spec.rb index 80629cb875e..2de609761e2 100644 --- a/spec/workers/gitlab/jira_import/import_issue_worker_spec.rb +++ b/spec/workers/gitlab/jira_import/import_issue_worker_spec.rb @@ -5,6 +5,8 @@ require 'spec_helper' describe Gitlab::JiraImport::ImportIssueWorker do let_it_be(:user) { create(:user) } let_it_be(:project) { create(:project) } + let_it_be(:jira_issue_label_1) { create(:label, project: project) } + let_it_be(:jira_issue_label_2) { create(:label, project: project) } let(:some_key) { 'some-key' } describe 'modules' do @@ -17,7 +19,13 @@ describe Gitlab::JiraImport::ImportIssueWorker do subject { described_class.new } describe '#perform', :clean_gitlab_redis_cache do - let(:issue_attrs) { build(:issue, project_id: project.id).as_json.compact } + let(:assignee_ids) { [user.id] } + let(:issue_attrs) do + build(:issue, project_id: project.id, title: 'jira issue') + .as_json.merge( + 'label_ids' => [jira_issue_label_1.id, jira_issue_label_2.id], 'assignee_ids' => assignee_ids + ).compact + end context 'when any exception raised while inserting to DB' do before do @@ -47,14 +55,39 @@ describe Gitlab::JiraImport::ImportIssueWorker do context 'when import label exists' do before do Gitlab::JiraImport.cache_import_label_id(project.id, label.id) - end - it 'does not record import failure' do subject.perform(project.id, 123, issue_attrs, some_key) + end + it 'does not record import failure' do expect(label.issues.count).to eq(1) expect(Gitlab::Cache::Import::Caching.read(Gitlab::JiraImport.failed_issues_counter_cache_key(project.id)).to_i).to eq(0) end + + it 'creates an issue with the correct attributes' do + issue = Issue.last + + expect(issue.title).to eq('jira issue') + expect(issue.project).to eq(project) + expect(issue.labels).to match_array([label, jira_issue_label_1, jira_issue_label_2]) + expect(issue.assignees).to eq([user]) + end + + context 'when assignee_ids is nil' do + let(:assignee_ids) { nil } + + it 'creates an issue without assignee' do + expect(Issue.last.assignees).to be_empty + end + end + + context 'when assignee_ids is an empty array' do + let(:assignee_ids) { [] } + + it 'creates an issue without assignee' do + expect(Issue.last.assignees).to be_empty + end + end end end end diff --git a/spec/workers/gitlab/jira_import/stage/finish_import_worker_spec.rb b/spec/workers/gitlab/jira_import/stage/finish_import_worker_spec.rb index 5c3c7dcccc1..4cb6f5e28b8 100644 --- a/spec/workers/gitlab/jira_import/stage/finish_import_worker_spec.rb +++ b/spec/workers/gitlab/jira_import/stage/finish_import_worker_spec.rb @@ -16,7 +16,7 @@ describe Gitlab::JiraImport::Stage::FinishImportWorker do stub_feature_flags(jira_issue_import: false) end - it_behaves_like 'cannot do jira import' + it_behaves_like 'cannot do Jira import' end context 'when feature flag enabled' do @@ -27,7 +27,7 @@ describe Gitlab::JiraImport::Stage::FinishImportWorker do end context 'when import did not start' do - it_behaves_like 'cannot do jira import' + it_behaves_like 'cannot do Jira import' end context 'when import started' do diff --git a/spec/workers/gitlab/jira_import/stage/import_attachments_worker_spec.rb b/spec/workers/gitlab/jira_import/stage/import_attachments_worker_spec.rb index 478cb447dc5..e6d41ae8bb4 100644 --- a/spec/workers/gitlab/jira_import/stage/import_attachments_worker_spec.rb +++ b/spec/workers/gitlab/jira_import/stage/import_attachments_worker_spec.rb @@ -15,7 +15,7 @@ describe Gitlab::JiraImport::Stage::ImportAttachmentsWorker do stub_feature_flags(jira_issue_import: false) end - it_behaves_like 'cannot do jira import' + it_behaves_like 'cannot do Jira import' it_behaves_like 'does not advance to next stage' end @@ -27,7 +27,7 @@ describe Gitlab::JiraImport::Stage::ImportAttachmentsWorker do end context 'when import did not start' do - it_behaves_like 'cannot do jira import' + it_behaves_like 'cannot do Jira import' it_behaves_like 'does not advance to next stage' end diff --git a/spec/workers/gitlab/jira_import/stage/import_issues_worker_spec.rb b/spec/workers/gitlab/jira_import/stage/import_issues_worker_spec.rb index 6470a293461..f2067522af4 100644 --- a/spec/workers/gitlab/jira_import/stage/import_issues_worker_spec.rb +++ b/spec/workers/gitlab/jira_import/stage/import_issues_worker_spec.rb @@ -3,6 +3,8 @@ require 'spec_helper' describe Gitlab::JiraImport::Stage::ImportIssuesWorker do + include JiraServiceHelper + let_it_be(:user) { create(:user) } let_it_be(:project) { create(:project, import_type: 'jira') } @@ -16,7 +18,7 @@ describe Gitlab::JiraImport::Stage::ImportIssuesWorker do stub_feature_flags(jira_issue_import: false) end - it_behaves_like 'cannot do jira import' + it_behaves_like 'cannot do Jira import' it_behaves_like 'does not advance to next stage' end @@ -25,10 +27,11 @@ describe Gitlab::JiraImport::Stage::ImportIssuesWorker do before do stub_feature_flags(jira_issue_import: true) + stub_jira_service_test end context 'when import did not start' do - it_behaves_like 'cannot do jira import' + it_behaves_like 'cannot do Jira import' it_behaves_like 'does not advance to next stage' end diff --git a/spec/workers/gitlab/jira_import/stage/import_labels_worker_spec.rb b/spec/workers/gitlab/jira_import/stage/import_labels_worker_spec.rb index f1562395546..7f289de5422 100644 --- a/spec/workers/gitlab/jira_import/stage/import_labels_worker_spec.rb +++ b/spec/workers/gitlab/jira_import/stage/import_labels_worker_spec.rb @@ -3,6 +3,8 @@ require 'spec_helper' describe Gitlab::JiraImport::Stage::ImportLabelsWorker do + include JiraServiceHelper + let_it_be(:user) { create(:user) } let_it_be(:project) { create(:project, import_type: 'jira') } @@ -16,7 +18,7 @@ describe Gitlab::JiraImport::Stage::ImportLabelsWorker do stub_feature_flags(jira_issue_import: false) end - it_behaves_like 'cannot do jira import' + it_behaves_like 'cannot do Jira import' it_behaves_like 'does not advance to next stage' end @@ -28,7 +30,7 @@ describe Gitlab::JiraImport::Stage::ImportLabelsWorker do end context 'when import did not start' do - it_behaves_like 'cannot do jira import' + it_behaves_like 'cannot do Jira import' it_behaves_like 'does not advance to next stage' end @@ -36,7 +38,12 @@ describe Gitlab::JiraImport::Stage::ImportLabelsWorker do let!(:jira_service) { create(:jira_service, project: project) } before do + stub_jira_service_test + jira_import.start! + + WebMock.stub_request(:get, 'https://jira.example.com/rest/api/2/label?maxResults=500&startAt=0') + .to_return(body: {}.to_json ) end it_behaves_like 'advance to next stage', :issues diff --git a/spec/workers/gitlab/jira_import/stage/import_notes_worker_spec.rb b/spec/workers/gitlab/jira_import/stage/import_notes_worker_spec.rb index 956898c1abc..f9bdbd669d8 100644 --- a/spec/workers/gitlab/jira_import/stage/import_notes_worker_spec.rb +++ b/spec/workers/gitlab/jira_import/stage/import_notes_worker_spec.rb @@ -15,7 +15,7 @@ describe Gitlab::JiraImport::Stage::ImportNotesWorker do stub_feature_flags(jira_issue_import: false) end - it_behaves_like 'cannot do jira import' + it_behaves_like 'cannot do Jira import' it_behaves_like 'does not advance to next stage' end @@ -27,7 +27,7 @@ describe Gitlab::JiraImport::Stage::ImportNotesWorker do end context 'when import did not start' do - it_behaves_like 'cannot do jira import' + it_behaves_like 'cannot do Jira import' it_behaves_like 'does not advance to next stage' end |