Adjusts UI behavior around trigger variables

- Trigger variable values are now conditionally displayed based on user role
This commit is contained in:
jhampton 2018-12-05 22:33:38 -05:00
parent 0c8b70d8e6
commit 9f5b99e65e

View file

@ -344,25 +344,45 @@ describe 'Jobs', :clean_gitlab_redis_shared_state do
end end
end end
describe 'Variables when user is a maintainer' do
before do
project.add_maintainer(user)
end
let!(:trigger_request) { create(:ci_trigger_request) }
let!(:job) do
create(:ci_build, pipeline: pipeline, trigger_request: trigger_request)
end
shared_examples 'job with outdated deployment' do
it 'shows a link for the job' do
expect(page).to have_content('Token')
expect(page).to have_content('Variables')
click_button 'Reveal values'
expect(page).to have_css('.js-reveal-variables')
expect(page).to have_selector('.js-build-variable', text: 'TRIGGER_KEY_1')
expect(page).to have_selector('.js-build-value', text: 'TRIGGER_VALUE_1')
end
end
end
describe 'Variables' do describe 'Variables' do
let(:trigger_request) { create(:ci_trigger_request) } let(:trigger_request) { create(:ci_trigger_request) }
let(:job) do let(:job) do
create :ci_build, pipeline: pipeline, trigger_request: trigger_request create(:ci_build, pipeline: pipeline, trigger_request: trigger_request)
end end
shared_examples 'expected variables behavior' do shared_examples 'expected variables behavior' do
it 'shows variable key and value after click', :js do it 'renders a hidden value with no reveal values button', :js do
expect(page).to have_content('Token') expect(page).to have_content('Token')
expect(page).to have_css('.js-reveal-variables') expect(page).to have_content('Variables')
expect(page).not_to have_css('.js-build-variable')
expect(page).not_to have_css('.js-build-value')
click_button 'Reveal Variables'
expect(page).not_to have_css('.js-reveal-variables') expect(page).not_to have_css('.js-reveal-variables')
expect(page).to have_selector('.js-build-variable', text: 'TRIGGER_KEY_1') expect(page).to have_selector('.js-build-variable', text: 'TRIGGER_KEY_1')
expect(page).to have_selector('.js-build-value', text: 'TRIGGER_VALUE_1') expect(page).to have_selector('.js-build-value', text: '••••••')
end end
end end