summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTiago Botelho <tiagonbotelho@hotmail.com>2018-06-05 19:12:26 +0100
committerTiago Botelho <tiagonbotelho@hotmail.com>2018-06-06 09:21:47 +0100
commit3ed66d4abde28c9f586342fe8e6481360825b823 (patch)
tree7ae5f00d518604bbf69b709712dd476591b5e86d
parent7e54d0465c9bf7d52a49b08472d7b12d1c655a91 (diff)
downloadgitlab-ce-47208-human-import-status-name-not-working.tar.gz
Adds #human_import_status_name to make it comply with ProjectImportState#human_status_name47208-human-import-status-name-not-working
-rw-r--r--app/models/project.rb6
-rw-r--r--changelogs/unreleased/47208-human-import-status-name-not-working.yml5
-rw-r--r--spec/models/project_spec.rb25
3 files changed, 36 insertions, 0 deletions
diff --git a/app/models/project.rb b/app/models/project.rb
index a094dbcb747..3ae445ed200 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -674,6 +674,12 @@ class Project < ActiveRecord::Base
end
end
+ def human_import_status_name
+ ensure_import_state
+
+ import_state.human_status_name
+ end
+
def import_schedule
ensure_import_state(force: true)
diff --git a/changelogs/unreleased/47208-human-import-status-name-not-working.yml b/changelogs/unreleased/47208-human-import-status-name-not-working.yml
new file mode 100644
index 00000000000..e1f603f988e
--- /dev/null
+++ b/changelogs/unreleased/47208-human-import-status-name-not-working.yml
@@ -0,0 +1,5 @@
+---
+title: Showing project import_status in a humanized form no longer gives an error
+merge_request: 19470
+author:
+type: fixed
diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb
index 9a76452a808..59d1671b036 100644
--- a/spec/models/project_spec.rb
+++ b/spec/models/project_spec.rb
@@ -1693,6 +1693,31 @@ describe Project do
end
end
+ describe '#human_import_status_name' do
+ context 'when import_state exists' do
+ it 'returns the humanized status name' do
+ project = create(:project)
+ create(:import_state, :started, project: project)
+
+ expect(project.human_import_status_name).to eq("started")
+ end
+ end
+
+ context 'when import_state was not created yet' do
+ let(:project) { create(:project, :import_started) }
+
+ it 'ensures import_state is created and returns humanized status name' do
+ expect do
+ project.human_import_status_name
+ end.to change { ProjectImportState.count }.from(0).to(1)
+ end
+
+ it 'returns humanized status name' do
+ expect(project.human_import_status_name).to eq("started")
+ end
+ end
+ end
+
describe 'Project import job' do
let(:project) { create(:project, import_url: generate(:url)) }