Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-04-06 09:09:19 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2020-04-06 09:09:19 +0300
commitcce8cf03d3bebe8b05375e4db0004328f84b28a2 (patch)
treec4fe6a257e894b6ce226a36f275f35675025c299 /spec/models/project_spec.rb
parentf098e6d3d2c8eaaec0a228c8a3ae01f770e15dd2 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/models/project_spec.rb')
-rw-r--r--spec/models/project_spec.rb29
1 files changed, 29 insertions, 0 deletions
diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb
index 1b12550ebac..0904ebca670 100644
--- a/spec/models/project_spec.rb
+++ b/spec/models/project_spec.rb
@@ -110,6 +110,7 @@ describe Project do
it { is_expected.to have_many(:source_pipelines) }
it { is_expected.to have_many(:prometheus_alert_events) }
it { is_expected.to have_many(:self_managed_prometheus_alert_events) }
+ it { is_expected.to have_many(:jira_imports) }
it_behaves_like 'model with repository' do
let_it_be(:container) { create(:project, :repository, path: 'somewhere') }
@@ -5987,6 +5988,34 @@ describe Project do
end
end
+ describe '#latest_jira_import' do
+ let_it_be(:project) { create(:project) }
+ context 'when no jira imports' do
+ it 'returns nil' do
+ expect(project.latest_jira_import).to be nil
+ end
+ end
+
+ context 'when single jira import' do
+ let!(:jira_import1) { create(:jira_import_state, project: project) }
+
+ it 'returns the jira import' do
+ expect(project.latest_jira_import).to eq(jira_import1)
+ end
+ end
+
+ context 'when multiple jira imports' do
+ let!(:jira_import1) { create(:jira_import_state, :finished, created_at: 1.day.ago, project: project) }
+ let!(:jira_import2) { create(:jira_import_state, :failed, created_at: 2.days.ago, project: project) }
+ let!(:jira_import3) { create(:jira_import_state, :started, created_at: 3.days.ago, project: project) }
+
+ it 'returns latest jira import by created_at' do
+ expect(project.jira_imports.pluck(:id)).to eq([jira_import3.id, jira_import2.id, jira_import1.id])
+ expect(project.latest_jira_import).to eq(jira_import1)
+ end
+ end
+ end
+
def finish_job(export_job)
export_job.start
export_job.finish