summaryrefslogtreecommitdiff
path: root/qa/qa/page/project/settings
diff options
context:
space:
mode:
authorLin Jen-Shin <godfat@godfat.org>2018-01-26 17:25:48 +0800
committerLin Jen-Shin <godfat@godfat.org>2018-01-26 17:25:48 +0800
commitb54beca7ab3bdf47a3b44be70d7986a3870a794c (patch)
tree04152ebcc326f5cd97db60cb5842814ce549b882 /qa/qa/page/project/settings
parenta33f7050be76c158dfd749dcf4e5856bad7acf46 (diff)
parentb8d044af88507b300d98d9141a2a3d7735f0696d (diff)
downloadgitlab-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.rb7
-rw-r--r--qa/qa/page/project/settings/common.rb2
-rw-r--r--qa/qa/page/project/settings/secret_variables.rb57
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