Commit b3bece94 authored by Rémy Coutable's avatar Rémy Coutable

Merge branch 'lnovy/gitlab-ce-empty-variables' into 'master'

UI: Allow a project variable to be set to an empty value

See merge request !9414
parents 9aaf38d6 4f115a09
...@@ -6,5 +6,5 @@ ...@@ -6,5 +6,5 @@
= f.text_field :key, class: "form-control", placeholder: "PROJECT_VARIABLE", required: true = f.text_field :key, class: "form-control", placeholder: "PROJECT_VARIABLE", required: true
.form-group .form-group
= f.label :value, "Value", class: "label-light" = f.label :value, "Value", class: "label-light"
= f.text_area :value, class: "form-control", placeholder: "PROJECT_VARIABLE", required: true = f.text_area :value, class: "form-control", placeholder: "PROJECT_VARIABLE"
= f.submit btn_text, class: "btn btn-save" = f.submit btn_text, class: "btn btn-save"
---
title: 'UI: Allow a project variable to be set to an empty value'
merge_request: 6044
author: Lukáš Nový
...@@ -3,7 +3,7 @@ require 'spec_helper' ...@@ -3,7 +3,7 @@ require 'spec_helper'
describe 'Project variables', js: true do describe 'Project variables', js: true do
let(:user) { create(:user) } let(:user) { create(:user) }
let(:project) { create(:project) } let(:project) { create(:project) }
let(:variable) { create(:ci_variable, key: 'test') } let(:variable) { create(:ci_variable, key: 'test_key', value: 'test value') }
before do before do
login_as(user) login_as(user)
...@@ -24,11 +24,23 @@ describe 'Project variables', js: true do ...@@ -24,11 +24,23 @@ describe 'Project variables', js: true do
fill_in('variable_value', with: 'key value') fill_in('variable_value', with: 'key value')
click_button('Add new variable') click_button('Add new variable')
expect(page).to have_content('Variables were successfully updated.')
page.within('.variables-table') do page.within('.variables-table') do
expect(page).to have_content('key') expect(page).to have_content('key')
end end
end end
it 'adds empty variable' do
fill_in('variable_key', with: 'new_key')
fill_in('variable_value', with: '')
click_button('Add new variable')
expect(page).to have_content('Variables were successfully updated.')
page.within('.variables-table') do
expect(page).to have_content('new_key')
end
end
it 'reveals and hides new variable' do it 'reveals and hides new variable' do
fill_in('variable_key', with: 'key') fill_in('variable_key', with: 'key')
fill_in('variable_value', with: 'key value') fill_in('variable_value', with: 'key value')
...@@ -72,8 +84,20 @@ describe 'Project variables', js: true do ...@@ -72,8 +84,20 @@ describe 'Project variables', js: true do
fill_in('variable_value', with: 'key value') fill_in('variable_value', with: 'key value')
click_button('Save variable') click_button('Save variable')
expect(page).to have_content('Variable was successfully updated.')
expect(project.variables.first.value).to eq('key value')
end
it 'edits variable with empty value' do
page.within('.variables-table') do page.within('.variables-table') do
expect(page).to have_content('key') find('.btn-variable-edit').click
end end
expect(page).to have_content('Update variable')
fill_in('variable_value', with: '')
click_button('Save variable')
expect(page).to have_content('Variable was successfully updated.')
expect(project.variables.first.value).to eq('')
end end
end end
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