summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatija Čupić <matteeyah@gmail.com>2018-04-05 13:52:54 +0200
committerMatija Čupić <matteeyah@gmail.com>2018-04-05 13:52:54 +0200
commitf379e1b370d033097c1d0102401eb6156384890c (patch)
treed2720b76e759a5cbc56fdd5324c50b8191fb31e6
parent00b45348b9dca5c394fa64a7f4975232dc712b5b (diff)
downloadgitlab-ce-f379e1b370d033097c1d0102401eb6156384890c.tar.gz
Rename success to erased empty state spec
-rw-r--r--lib/gitlab/ci/status/build/erased.rb (renamed from lib/gitlab/ci/status/build/success.rb)4
-rw-r--r--lib/gitlab/ci/status/build/factory.rb2
-rw-r--r--spec/lib/gitlab/ci/status/build/erased_spec.rb (renamed from spec/lib/gitlab/ci/status/build/success_spec.rb)12
-rw-r--r--spec/lib/gitlab/ci/status/build/factory_spec.rb35
4 files changed, 31 insertions, 22 deletions
diff --git a/lib/gitlab/ci/status/build/success.rb b/lib/gitlab/ci/status/build/erased.rb
index daf43315c90..3a5113b16b6 100644
--- a/lib/gitlab/ci/status/build/success.rb
+++ b/lib/gitlab/ci/status/build/erased.rb
@@ -2,7 +2,7 @@ module Gitlab
module Ci
module Status
module Build
- class Success < Status::Extended
+ class Erased < Status::Extended
def illustration
{
image: 'illustrations/skipped-job_empty.svg',
@@ -12,7 +12,7 @@ module Gitlab
end
def self.matches?(build, user)
- !build.has_trace? && build.success?
+ build.erased?
end
end
end
diff --git a/lib/gitlab/ci/status/build/factory.rb b/lib/gitlab/ci/status/build/factory.rb
index d3a34384f6f..466a0a989ad 100644
--- a/lib/gitlab/ci/status/build/factory.rb
+++ b/lib/gitlab/ci/status/build/factory.rb
@@ -9,7 +9,7 @@ module Gitlab
Status::Build::Created,
Status::Build::Pending,
Status::Build::Skipped,
- Status::Build::Success],
+ Status::Build::Erased],
[Status::Build::Cancelable,
Status::Build::Retryable],
[Status::Build::FailedAllowed,
diff --git a/spec/lib/gitlab/ci/status/build/success_spec.rb b/spec/lib/gitlab/ci/status/build/erased_spec.rb
index e67ab461463..0acd271e375 100644
--- a/spec/lib/gitlab/ci/status/build/success_spec.rb
+++ b/spec/lib/gitlab/ci/status/build/erased_spec.rb
@@ -1,6 +1,6 @@
require 'spec_helper'
-describe Gitlab::Ci::Status::Build::Success do
+describe Gitlab::Ci::Status::Build::Erased do
let(:user) { create(:user) }
subject do
@@ -14,18 +14,16 @@ describe Gitlab::Ci::Status::Build::Success do
describe '.matches?' do
subject { described_class.matches?(build, user) }
- context 'when build succeeded but does not have trace' do
- let(:build) { create(:ci_build, :success) }
+ context 'when build is erased' do
+ let(:build) { create(:ci_build, :success, :erased) }
it 'is a correct match' do
- build.erase
-
expect(subject).to be true
end
end
- context 'when build succeed but has trace' do
- let!(:build) { create(:ci_build, :success, :trace_artifact) }
+ context 'when build is not erased' do
+ let(:build) { create(:ci_build, :success, :trace_artifact) }
it 'does not match' do
expect(subject).to be false
diff --git a/spec/lib/gitlab/ci/status/build/factory_spec.rb b/spec/lib/gitlab/ci/status/build/factory_spec.rb
index d68d8f6f105..94eedc50bb2 100644
--- a/spec/lib/gitlab/ci/status/build/factory_spec.rb
+++ b/spec/lib/gitlab/ci/status/build/factory_spec.rb
@@ -36,21 +36,32 @@ describe Gitlab::Ci::Status::Build::Factory do
expect(status).to have_details
expect(status).to have_action
end
+ end
- context 'when job log gets erased' do
- before do
- build.erase
- end
+ context 'when build is erased' do
+ let(:build) { create(:ci_build, :success, :erased) }
- it 'matches correct extended statuses' do
- expect(factory.extended_statuses)
- .to eq [Gitlab::Ci::Status::Build::Success,
- Gitlab::Ci::Status::Build::Retryable]
- end
+ it 'matches correct core status' do
+ expect(factory.core_status).to be_a Gitlab::Ci::Status::Success
+ end
- it 'fabricates a retryable build status' do
- expect(status).to be_a Gitlab::Ci::Status::Build::Retryable
- end
+ it 'matches correct extended statuses' do
+ expect(factory.extended_statuses)
+ .to eq [Gitlab::Ci::Status::Build::Erased,
+ Gitlab::Ci::Status::Build::Retryable]
+ end
+
+ it 'fabricates a retryable build status' do
+ expect(status).to be_a Gitlab::Ci::Status::Build::Retryable
+ end
+
+ it 'fabricates status with correct details' do
+ expect(status.text).to eq 'passed'
+ expect(status.icon).to eq 'status_success'
+ expect(status.favicon).to eq 'favicon_status_success'
+ expect(status.label).to eq 'passed'
+ expect(status).to have_details
+ expect(status).to have_action
end
end