summaryrefslogtreecommitdiff
path: root/spec/workers/gitlab
diff options
context:
space:
mode:
Diffstat (limited to 'spec/workers/gitlab')
-rw-r--r--spec/workers/gitlab/jira_import/import_issue_worker_spec.rb39
-rw-r--r--spec/workers/gitlab/jira_import/stage/finish_import_worker_spec.rb4
-rw-r--r--spec/workers/gitlab/jira_import/stage/import_attachments_worker_spec.rb4
-rw-r--r--spec/workers/gitlab/jira_import/stage/import_issues_worker_spec.rb7
-rw-r--r--spec/workers/gitlab/jira_import/stage/import_labels_worker_spec.rb11
-rw-r--r--spec/workers/gitlab/jira_import/stage/import_notes_worker_spec.rb4
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