Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spec/features/clusters/installing_applications_shared_examples.rb')
-rw-r--r--spec/features/clusters/installing_applications_shared_examples.rb53
1 files changed, 36 insertions, 17 deletions
diff --git a/spec/features/clusters/installing_applications_shared_examples.rb b/spec/features/clusters/installing_applications_shared_examples.rb
index d2f28f5b219..74150c42519 100644
--- a/spec/features/clusters/installing_applications_shared_examples.rb
+++ b/spec/features/clusters/installing_applications_shared_examples.rb
@@ -2,6 +2,9 @@
RSpec.shared_examples "installing applications for a cluster" do |managed_apps_local_tiller|
before do
+ # Reduce interval from 10 seconds which is too long for an automated test
+ stub_const("#{Clusters::ClustersController}::STATUS_POLLING_INTERVAL", 500)
+
stub_feature_flags(managed_apps_local_tiller: managed_apps_local_tiller)
visit cluster_path
@@ -107,10 +110,6 @@ RSpec.shared_examples "installing applications for a cluster" do |managed_apps_l
end
describe 'when user clicks install button' do
- def domainname_form_value
- page.find('.js-knative-domainname').value
- end
-
before do
allow(ClusterInstallAppWorker).to receive(:perform_async)
allow(ClusterWaitForIngressIpAddressWorker).to receive(:perform_in)
@@ -135,7 +134,7 @@ RSpec.shared_examples "installing applications for a cluster" do |managed_apps_l
it 'shows status transition' do
page.within('.js-cluster-application-row-knative') do
- expect(domainname_form_value).to eq('domain.example.org')
+ expect(page).to have_field('Knative Domain Name:', with: 'domain.example.org')
expect(page).to have_css('.js-cluster-application-uninstall-button', exact_text: 'Uninstall')
end
@@ -147,7 +146,7 @@ RSpec.shared_examples "installing applications for a cluster" do |managed_apps_l
page.within('.js-cluster-application-row-knative') do
expect(ClusterPatchAppWorker).to receive(:perform_async)
- expect(domainname_form_value).to eq('domain.example.org')
+ expect(page).to have_field('Knative Domain Name:', with: 'domain.example.org')
page.find('.js-knative-domainname').set("new.domain.example.org")
@@ -155,7 +154,7 @@ RSpec.shared_examples "installing applications for a cluster" do |managed_apps_l
wait_for_requests
- expect(domainname_form_value).to eq('new.domain.example.org')
+ expect(page).to have_field('Knative Domain Name:', with: 'new.domain.example.org')
end
end
end
@@ -169,34 +168,54 @@ RSpec.shared_examples "installing applications for a cluster" do |managed_apps_l
allow(ClusterWaitForIngressIpAddressWorker).to receive(:perform_async)
create(:clusters_applications_helm, :installed, cluster: cluster) unless managed_apps_local_tiller
+ end
+ it 'shows status transition' do
page.within('.js-cluster-application-row-cert_manager') do
click_button 'Install'
+ wait_for_requests
+
+ expect(page).to have_field('Issuer Email', with: cluster.user.email)
+ expect(page).to have_css('.js-cluster-application-install-button', exact_text: 'Installing')
+
+ Clusters::Cluster.last.application_cert_manager.make_installing!
+
+ expect(page).to have_field('Issuer Email', with: cluster.user.email)
+ expect(page).to have_css('.js-cluster-application-install-button', exact_text: 'Installing')
+
+ Clusters::Cluster.last.application_cert_manager.make_installed!
+
+ expect(page).to have_field('Issuer Email', with: cluster.user.email)
+ expect(page).to have_css('.js-cluster-application-uninstall-button', exact_text: 'Uninstall')
end
+
+ expect(page).to have_content('Cert-Manager was successfully installed on your Kubernetes cluster')
end
- it 'shows status transition' do
- def email_form_value
- page.find('.js-email').value
- end
+ it 'installs with custom email' do
+ custom_email = 'new_email@example.org'
page.within('.js-cluster-application-row-cert_manager') do
- expect(email_form_value).to eq(cluster.user.email)
+ # Wait for the polling to finish
+ wait_for_requests
+
+ page.find('.js-email').set(custom_email)
+ click_button 'Install'
+ wait_for_requests
+
+ expect(page).to have_field('Issuer Email', with: custom_email)
expect(page).to have_css('.js-cluster-application-install-button', exact_text: 'Installing')
- page.find('.js-email').set("new_email@example.org")
Clusters::Cluster.last.application_cert_manager.make_installing!
- expect(email_form_value).to eq('new_email@example.org')
+ expect(page).to have_field('Issuer Email', with: custom_email)
expect(page).to have_css('.js-cluster-application-install-button', exact_text: 'Installing')
Clusters::Cluster.last.application_cert_manager.make_installed!
- expect(email_form_value).to eq('new_email@example.org')
+ expect(page).to have_field('Issuer Email', with: custom_email)
expect(page).to have_css('.js-cluster-application-uninstall-button', exact_text: 'Uninstall')
end
-
- expect(page).to have_content('Cert-Manager was successfully installed on your Kubernetes cluster')
end
end