diff options
author | Rémy Coutable <remy@rymai.me> | 2018-10-09 17:34:48 +0300 |
---|---|---|
committer | Rémy Coutable <remy@rymai.me> | 2018-10-09 17:34:48 +0300 |
commit | cf7aea84f37d33400ef6e5716e234dc5dc735146 (patch) | |
tree | b24c1eba71e4e4b56c04fb9436ffb64803387a2f | |
parent | 5dc20e505d259345aa2a3f4049a59abe75cbc301 (diff) | |
parent | 0275069cc0ecce232bd0c9e383ac5dcf086f2400 (diff) |
Merge branch 'qa-304-auto-devops-open-live-environment' into 'master'
Assert prod environment is live after Auto Devops
See merge request gitlab-org/gitlab-ce!22131
8 files changed, 73 insertions, 2 deletions
diff --git a/app/assets/javascripts/environments/components/environment_item.vue b/app/assets/javascripts/environments/components/environment_item.vue index a1d8e531940..ad5d16874f3 100644 --- a/app/assets/javascripts/environments/components/environment_item.vue +++ b/app/assets/javascripts/environments/components/environment_item.vue @@ -482,6 +482,7 @@ export default { v-if="!model.isFolder" class="environment-name table-mobile-content"> <a + class="qa-environment-link" :href="environmentPath" > {{ model.name }} diff --git a/app/views/layouts/nav/sidebar/_project.html.haml b/app/views/layouts/nav/sidebar/_project.html.haml index 25cd53b378a..48025f9bd20 100644 --- a/app/views/layouts/nav/sidebar/_project.html.haml +++ b/app/views/layouts/nav/sidebar/_project.html.haml @@ -216,7 +216,7 @@ = _('Metrics') = nav_link(controller: :environments, action: [:index, :folder, :show, :new, :edit, :create, :update, :stop, :terminal]) do - = link_to project_environments_path(@project), title: _('Environments'), class: 'shortcuts-environments' do + = link_to project_environments_path(@project), title: _('Environments'), class: 'shortcuts-environments qa-operations-environments-link' do %span = _('Environments') diff --git a/app/views/projects/environments/_external_url.html.haml b/app/views/projects/environments/_external_url.html.haml index 4694bc39d54..b3a82d1ef41 100644 --- a/app/views/projects/environments/_external_url.html.haml +++ b/app/views/projects/environments/_external_url.html.haml @@ -1,4 +1,4 @@ - if environment.external_url && can?(current_user, :read_environment, environment) - = link_to environment.external_url, target: '_blank', rel: 'noopener noreferrer', class: 'btn external-url has-tooltip', title: s_('Environments|Open live environment') do + = link_to environment.external_url, target: '_blank', rel: 'noopener noreferrer', class: 'btn external-url has-tooltip qa-view-deployment', title: s_('Environments|Open live environment') do = sprite_icon('external-link') View deployment @@ -201,6 +201,11 @@ module QA end module Operations + module Environments + autoload :Index, 'qa/page/project/operations/environments/index' + autoload :Show, 'qa/page/project/operations/environments/show' + end + module Kubernetes autoload :Index, 'qa/page/project/operations/kubernetes/index' autoload :Add, 'qa/page/project/operations/kubernetes/add' diff --git a/qa/qa/page/menu/side.rb b/qa/qa/page/menu/side.rb index a1eedfea42e..3c08f14d6da 100644 --- a/qa/qa/page/menu/side.rb +++ b/qa/qa/page/menu/side.rb @@ -9,6 +9,7 @@ module QA element :link_pipelines element :pipelines_settings_link, "title: _('CI / CD')" element :operations_kubernetes_link, "title: _('Kubernetes')" + element :operations_environments_link element :issues_link, /link_to.*shortcuts-issues/ element :issues_link_text, "Issues" element :merge_requests_link, /link_to.*shortcuts-merge_requests/ @@ -40,6 +41,14 @@ module QA end end + def click_operations_environments + hover_operations do + within_submenu do + click_element(:operations_environments_link) + end + end + end + def click_operations_kubernetes hover_operations do within_submenu do diff --git a/qa/qa/page/project/operations/environments/index.rb b/qa/qa/page/project/operations/environments/index.rb new file mode 100644 index 00000000000..63965a57edd --- /dev/null +++ b/qa/qa/page/project/operations/environments/index.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module QA + module Page + module Project + module Operations + module Environments + class Index < Page::Base + view 'app/assets/javascripts/environments/components/environment_item.vue' do + element :environment_link + end + + def go_to_environment(environment_name) + wait(reload: false) do + find(element_selector_css(:environment_link), text: environment_name).click + end + end + end + end + end + end + end +end diff --git a/qa/qa/page/project/operations/environments/show.rb b/qa/qa/page/project/operations/environments/show.rb new file mode 100644 index 00000000000..aa88c218c89 --- /dev/null +++ b/qa/qa/page/project/operations/environments/show.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module QA + module Page + module Project + module Operations + module Environments + class Show < Page::Base + view 'app/views/projects/environments/_external_url.html.haml' do + element :view_deployment + end + + def view_deployment(&block) + new_window = window_opened_by { click_element(:view_deployment) } + + within_window(new_window, &block) if block + end + end + end + end + 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 4604936916b..6286e516180 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 @@ -65,6 +65,16 @@ module QA expect(pipeline).to have_build('test', status: :success, wait: 600) expect(pipeline).to have_build('production', status: :success, wait: 1200) end + + Page::Menu::Side.act { click_operations_environments } + Page::Project::Operations::Environments::Index.perform do |index| + index.go_to_environment('production') + end + Page::Project::Operations::Environments::Show.perform do |show| + show.view_deployment do + expect(page).to have_content('Hello World!') + end + end end end end |