diff options
author | Lin Jen-Shin <godfat@godfat.org> | 2018-01-26 17:25:48 +0800 |
---|---|---|
committer | Lin Jen-Shin <godfat@godfat.org> | 2018-01-26 17:25:48 +0800 |
commit | b54beca7ab3bdf47a3b44be70d7986a3870a794c (patch) | |
tree | 04152ebcc326f5cd97db60cb5842814ce549b882 /qa/qa/page/project/settings | |
parent | a33f7050be76c158dfd749dcf4e5856bad7acf46 (diff) | |
parent | b8d044af88507b300d98d9141a2a3d7735f0696d (diff) | |
download | gitlab-ce-b54beca7ab3bdf47a3b44be70d7986a3870a794c.tar.gz |
Merge remote-tracking branch 'upstream/master' into qa/ee-4698-backport
* upstream/master:
Just don't expand if it's already expanded
fix bug in webpack_helper in which force_same_domain argument was ignored breaking local rspec tests
Fix rubocop offenses introduced in !16623
Prefer local variables over given/let
Try to restore page's state
Add more views check
Respect the latest changes from master
Add a scenario for adding secret variables
Diffstat (limited to 'qa/qa/page/project/settings')
-rw-r--r-- | qa/qa/page/project/settings/ci_cd.rb | 7 | ||||
-rw-r--r-- | qa/qa/page/project/settings/common.rb | 2 | ||||
-rw-r--r-- | qa/qa/page/project/settings/secret_variables.rb | 57 |
3 files changed, 65 insertions, 1 deletions
diff --git a/qa/qa/page/project/settings/ci_cd.rb b/qa/qa/page/project/settings/ci_cd.rb index 5270dde7411..99be21bbe89 100644 --- a/qa/qa/page/project/settings/ci_cd.rb +++ b/qa/qa/page/project/settings/ci_cd.rb @@ -7,6 +7,7 @@ module QA view 'app/views/projects/settings/ci_cd/show.html.haml' do element :runners_settings, 'Runners settings' + element :secret_variables, 'Secret variables' end def expand_runners_settings(&block) @@ -14,6 +15,12 @@ module QA Settings::Runners.perform(&block) end end + + def expand_secret_variables(&block) + expand_section('Secret variables') do + Settings::SecretVariables.perform(&block) + end + end end end end diff --git a/qa/qa/page/project/settings/common.rb b/qa/qa/page/project/settings/common.rb index 1d5c919ba4a..5bed873b5df 100644 --- a/qa/qa/page/project/settings/common.rb +++ b/qa/qa/page/project/settings/common.rb @@ -17,7 +17,7 @@ module QA def expand_section(name) page.within('#content-body') do page.within('section', text: name) do - click_button('Expand') + click_button 'Expand' unless first('button', text: 'Collapse') yield if block_given? end diff --git a/qa/qa/page/project/settings/secret_variables.rb b/qa/qa/page/project/settings/secret_variables.rb new file mode 100644 index 00000000000..e3bfbfcf080 --- /dev/null +++ b/qa/qa/page/project/settings/secret_variables.rb @@ -0,0 +1,57 @@ +module QA + module Page + module Project + module Settings + class SecretVariables < Page::Base + include Common + + view 'app/views/ci/variables/_table.html.haml' do + element :variable_key, '.variable-key' + element :variable_value, '.variable-value' + end + + view 'app/views/ci/variables/_index.html.haml' do + element :add_new_variable, 'btn_text: "Add new variable"' + end + + view 'app/assets/javascripts/behaviors/secret_values.js' do + element :reveal_value, 'Reveal value' + element :hide_value, 'Hide value' + end + + def fill_variable_key(key) + fill_in 'variable_key', with: key + end + + def fill_variable_value(value) + fill_in 'variable_value', with: value + end + + def add_variable + click_on 'Add new variable' + end + + def variable_key + page.find('.variable-key').text + end + + def variable_value + reveal_value do + page.find('.variable-value').text + end + end + + private + + def reveal_value + click_button('Reveal value') + + yield.tap do + click_button('Hide value') + end + end + end + end + end + end +end |