Commit 4f2cc595 authored by Grzegorz Bizon's avatar Grzegorz Bizon

Extend action tooltop to show info about abilities

parent 6baaa8a9
...@@ -6,7 +6,11 @@ module Gitlab ...@@ -6,7 +6,11 @@ module Gitlab
include Status::Extended include Status::Extended
def label def label
'manual play action' if has_action?
'manual play action'
else
'manual play action (not allowed)'
end
end end
def has_action? def has_action?
......
...@@ -216,7 +216,7 @@ describe Gitlab::Ci::Status::Build::Factory do ...@@ -216,7 +216,7 @@ describe Gitlab::Ci::Status::Build::Factory do
expect(status.group).to eq 'manual' expect(status.group).to eq 'manual'
expect(status.icon).to eq 'icon_status_manual' expect(status.icon).to eq 'icon_status_manual'
expect(status.favicon).to eq 'favicon_status_manual' expect(status.favicon).to eq 'favicon_status_manual'
expect(status.label).to eq 'manual play action' expect(status.label).to include 'manual play action'
expect(status).to have_details expect(status).to have_details
expect(status.action_path).to include 'play' expect(status.action_path).to include 'play'
end end
......
require 'spec_helper' require 'spec_helper'
describe Gitlab::Ci::Status::Build::Play do describe Gitlab::Ci::Status::Build::Play do
let(:status) { double('core') } let(:user) { create(:user) }
let(:user) { double('user') } let(:build) { create(:ci_build, :manual) }
let(:status) { Gitlab::Ci::Status::Core.new(build, user) }
subject { described_class.new(status) } subject { described_class.new(status) }
describe '#label' do context 'when user is allowed to update build' do
it { expect(subject.label).to eq 'manual play action' } context 'when user can push to branch' do
end before { build.project.add_master(user) }
describe 'action details' do
let(:user) { create(:user) }
let(:build) { create(:ci_build, :manual) }
let(:status) { Gitlab::Ci::Status::Core.new(build, user) }
describe '#has_action?' do describe '#has_action?' do
context 'when user is allowed to update build' do it { is_expected.to have_action }
context 'when user can push to branch' do end
before { build.project.add_master(user) }
it { is_expected.to have_action } describe '#label' do
it 'has a label that says it is a manual action' do
expect(subject.label).to eq 'manual play action'
end end
end
end
context 'when user can not push to the branch' do context 'when user can not push to the branch' do
before { build.project.add_developer(user) } before { build.project.add_developer(user) }
it { is_expected.not_to have_action } describe 'has_action?' do
end it { is_expected.not_to have_action }
end end
context 'when user is not allowed to update build' do describe '#label' do
it { is_expected.not_to have_action } it 'has a label that says user is not allowed to play it' do
expect(subject.label).to eq 'manual play action (not allowed)'
end
end end
end end
end
describe '#action_path' do context 'when user is not allowed to update build' do
it { expect(subject.action_path).to include "#{build.id}/play" } describe '#has_action?' do
it { is_expected.not_to have_action }
end end
end
describe '#action_icon' do describe '#action_path' do
it { expect(subject.action_icon).to eq 'icon_action_play' } it { expect(subject.action_path).to include "#{build.id}/play" }
end end
describe '#action_title' do describe '#action_icon' do
it { expect(subject.action_title).to eq 'Play' } it { expect(subject.action_icon).to eq 'icon_action_play' }
end end
describe '#action_title' do
it { expect(subject.action_title).to eq 'Play' }
end end
describe '.matches?' do describe '.matches?' do
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment