diff options
author | Grzegorz Bizon <grzesiek.bizon@gmail.com> | 2016-12-13 13:13:09 +0100 |
---|---|---|
committer | Grzegorz Bizon <grzesiek.bizon@gmail.com> | 2016-12-13 13:13:09 +0100 |
commit | 65c3bfe68a3a0599187219ba49a1a46f23b45312 (patch) | |
tree | b14d5082f4800093410f21b5c9b76d74790df3e6 /spec | |
parent | 48d43608b8e9118033c1701c98f330aa10f9eb54 (diff) | |
download | gitlab-ce-65c3bfe68a3a0599187219ba49a1a46f23b45312.tar.gz |
Extend specs for build play/stop detailed statuses
Diffstat (limited to 'spec')
-rw-r--r-- | spec/lib/gitlab/ci/status/build/play_spec.rb | 30 | ||||
-rw-r--r-- | spec/lib/gitlab/ci/status/build/stop_spec.rb | 32 |
2 files changed, 55 insertions, 7 deletions
diff --git a/spec/lib/gitlab/ci/status/build/play_spec.rb b/spec/lib/gitlab/ci/status/build/play_spec.rb index 180a2808a42..0fa4405c604 100644 --- a/spec/lib/gitlab/ci/status/build/play_spec.rb +++ b/spec/lib/gitlab/ci/status/build/play_spec.rb @@ -18,6 +18,36 @@ describe Gitlab::Ci::Status::Build::Play do it { expect(subject.icon).to eq 'icon_status_manual' } end + describe 'action details' do + let(:user) { create(:user) } + let(:build) { create(:ci_build) } + let(:status) { Gitlab::Ci::Status::Core.new(build, user) } + + describe '#has_action?' do + context 'when user is allowed to update build' do + before { build.project.team << [user, :developer] } + + it { is_expected.to have_action } + end + + context 'when user is not allowed to update build' do + it { is_expected.not_to have_action } + end + end + + describe '#action_path' do + it { expect(subject.action_path).to include "#{build.id}/play" } + end + + describe '#action_icon' do + it { expect(subject.action_icon).to eq 'play' } + end + + describe '#action_title' do + it { expect(subject.action_title).to eq 'Play' } + end + end + describe '.matches?' do subject { described_class.matches?(build, user) } diff --git a/spec/lib/gitlab/ci/status/build/stop_spec.rb b/spec/lib/gitlab/ci/status/build/stop_spec.rb index bc1939fb493..984cd1e5007 100644 --- a/spec/lib/gitlab/ci/status/build/stop_spec.rb +++ b/spec/lib/gitlab/ci/status/build/stop_spec.rb @@ -20,16 +20,34 @@ describe Gitlab::Ci::Status::Build::Stop do it { expect(subject.icon).to eq 'icon_status_manual' } end - describe '#has_action?' do - end + describe 'action details' do + let(:user) { create(:user) } + let(:build) { create(:ci_build) } + let(:status) { Gitlab::Ci::Status::Core.new(build, user) } - describe '#action_icon' do - end + describe '#has_action?' do + context 'when user is allowed to update build' do + before { build.project.team << [user, :developer] } - describe '#action_path' do - end + it { is_expected.to have_action } + end + + context 'when user is not allowed to update build' do + it { is_expected.not_to have_action } + end + end + + describe '#action_path' do + it { expect(subject.action_path).to include "#{build.id}/play" } + end - describe '#action_title' do + describe '#action_icon' do + it { expect(subject.action_icon).to eq 'stop' } + end + + describe '#action_title' do + it { expect(subject.action_title).to eq 'Stop' } + end end describe '.matches?' do |