summaryrefslogtreecommitdiff
path: root/qa
diff options
context:
space:
mode:
authorddavison <ddavison@gitlab.com>2019-08-15 13:36:38 -0700
committerddavison <ddavison@gitlab.com>2019-08-15 13:36:38 -0700
commit790a1cd911d6394eeb3865ec51fcb944fcd26b21 (patch)
treea651cb100eb029e9e4f1f1a5627c099b03b228fe /qa
parentdf35d772c655587eecbe7b3e387c8b8bc287b23c (diff)
downloadgitlab-ce-790a1cd911d6394eeb3865ec51fcb944fcd26b21.tar.gz
Ensure autodevops is enabled before running Smoke testqa-autodevops-smoke-check
Extract #enable_autodevops to new page object Change Smoke test naming to only running pipeline Generate AutoDevOps project with SecureRandom suffix
Diffstat (limited to 'qa')
-rw-r--r--qa/qa.rb1
-rw-r--r--qa/qa/page/project/settings/auto_devops.rb21
-rw-r--r--qa/qa/page/project/settings/ci_cd.rb10
-rw-r--r--qa/qa/specs/features/browser_ui/7_configure/auto_devops/create_project_with_auto_devops_spec.rb16
4 files changed, 36 insertions, 12 deletions
diff --git a/qa/qa.rb b/qa/qa.rb
index 18fb4509dce..b6fc7f5071e 100644
--- a/qa/qa.rb
+++ b/qa/qa.rb
@@ -204,6 +204,7 @@ module QA
autoload :Main, 'qa/page/project/settings/main'
autoload :Repository, 'qa/page/project/settings/repository'
autoload :CICD, 'qa/page/project/settings/ci_cd'
+ autoload :AutoDevops, 'qa/page/project/settings/auto_devops'
autoload :DeployKeys, 'qa/page/project/settings/deploy_keys'
autoload :DeployTokens, 'qa/page/project/settings/deploy_tokens'
autoload :ProtectedBranches, 'qa/page/project/settings/protected_branches'
diff --git a/qa/qa/page/project/settings/auto_devops.rb b/qa/qa/page/project/settings/auto_devops.rb
new file mode 100644
index 00000000000..827d5b072c3
--- /dev/null
+++ b/qa/qa/page/project/settings/auto_devops.rb
@@ -0,0 +1,21 @@
+# frozen_string_literal: true
+
+module QA
+ module Page
+ module Project
+ module Settings
+ class AutoDevops < Page::Base
+ view 'app/views/projects/settings/ci_cd/_autodevops_form.html.haml' do
+ element :enable_autodevops_checkbox
+ element :save_changes_button
+ end
+
+ def enable_autodevops
+ check_element :enable_autodevops_checkbox
+ click_element :save_changes_button
+ end
+ end
+ end
+ end
+ end
+end
diff --git a/qa/qa/page/project/settings/ci_cd.rb b/qa/qa/page/project/settings/ci_cd.rb
index ae826fb3a32..45040cf4660 100644
--- a/qa/qa/page/project/settings/ci_cd.rb
+++ b/qa/qa/page/project/settings/ci_cd.rb
@@ -13,11 +13,6 @@ module QA
element :variables_settings_content
end
- view 'app/views/projects/settings/ci_cd/_autodevops_form.html.haml' do
- element :enable_autodevops_checkbox
- element :save_changes_button
- end
-
def expand_runners_settings(&block)
expand_section(:runners_settings_content) do
Settings::Runners.perform(&block)
@@ -30,10 +25,9 @@ module QA
end
end
- def enable_auto_devops
+ def expand_auto_devops(&block)
expand_section(:autodevops_settings_content) do
- check_element :enable_autodevops_checkbox
- click_element :save_changes_button
+ Settings::AutoDevops.perform(&block)
end
end
end
diff --git a/qa/qa/specs/features/browser_ui/7_configure/auto_devops/create_project_with_auto_devops_spec.rb b/qa/qa/specs/features/browser_ui/7_configure/auto_devops/create_project_with_auto_devops_spec.rb
index 60c1e105ae6..3f99ae644c7 100644
--- a/qa/qa/specs/features/browser_ui/7_configure/auto_devops/create_project_with_auto_devops_spec.rb
+++ b/qa/qa/specs/features/browser_ui/7_configure/auto_devops/create_project_with_auto_devops_spec.rb
@@ -147,23 +147,31 @@ module QA
end
describe 'Auto DevOps', :smoke do
- it 'enables AutoDevOps by default' do
+ before do
login
- project = Resource::Project.fabricate! do |p|
- p.name = Runtime::Env.auto_devops_project_name || 'project-with-autodevops'
+ @project = Resource::Project.fabricate_via_browser_ui! do |p|
+ p.name = "project-with-autodevops-#{SecureRandom.hex(8)}"
p.description = 'Project with AutoDevOps'
end
+ Page::Project::Menu.perform(&:go_to_ci_cd_settings)
+ Page::Project::Settings::CICD.perform(&:expand_auto_devops)
+ Page::Project::Settings::AutoDevops.perform(&:enable_autodevops)
+
+ @project.visit!
+
# Create AutoDevOps repo
Resource::Repository::ProjectPush.fabricate! do |push|
- push.project = project
+ push.project = @project
push.directory = Pathname
.new(__dir__)
.join('../../../../../fixtures/auto_devops_rack')
push.commit_message = 'Create AutoDevOps compatible Project'
end
+ end
+ it 'runs an AutoDevOps pipeline' do
Page::Project::Menu.perform(&:click_ci_cd_pipelines)
Page::Project::Pipeline::Index.perform(&:click_on_latest_pipeline)