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
This commit is contained in:
Rémy Coutable 2018-10-09 14:34:48 +00:00
commit cf7aea84f3
8 changed files with 73 additions and 2 deletions

View file

@ -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 }}

View file

@ -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')

View file

@ -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

View file

@ -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'

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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