summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2019-11-22 00:06:08 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2019-11-22 00:06:08 +0000
commit157f9a451a428f66666ba85d8b880df78aff6cc4 (patch)
tree7c38cacafb9720d144a6add0a170a07a7cc376f6 /spec
parent7f15e74dae019ac96c65ec769eae2d67aae65a8c (diff)
downloadgitlab-ce-157f9a451a428f66666ba85d8b880df78aff6cc4.tar.gz
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec')
-rw-r--r--spec/javascripts/vue_mr_widget/components/review_app_link_spec.js10
-rw-r--r--spec/javascripts/vue_mr_widget/mock_data.js15
-rw-r--r--spec/models/project_import_state_spec.rb12
-rw-r--r--spec/models/project_spec.rb1
-rw-r--r--spec/presenters/clusters/cluster_presenter_spec.rb39
5 files changed, 64 insertions, 13 deletions
diff --git a/spec/javascripts/vue_mr_widget/components/review_app_link_spec.js b/spec/javascripts/vue_mr_widget/components/review_app_link_spec.js
index 68a65bd21c6..069bc14e01e 100644
--- a/spec/javascripts/vue_mr_widget/components/review_app_link_spec.js
+++ b/spec/javascripts/vue_mr_widget/components/review_app_link_spec.js
@@ -1,5 +1,6 @@
import Vue from 'vue';
import component from '~/vue_merge_request_widget/components/review_app_link.vue';
+import { mockTracking, triggerEvent } from 'spec/helpers/tracking_helper';
import mountComponent from '../../helpers/vue_mount_component_helper';
describe('review app link', () => {
@@ -35,4 +36,13 @@ describe('review app link', () => {
it('renders svg icon', () => {
expect(el.querySelector('svg')).not.toBeNull();
});
+
+ it('tracks an event when clicked', () => {
+ const spy = mockTracking('_category_', el, spyOn);
+ triggerEvent(el);
+
+ expect(spy).toHaveBeenCalledWith('_category_', 'open_review_app', {
+ label: 'review_app',
+ });
+ });
});
diff --git a/spec/javascripts/vue_mr_widget/mock_data.js b/spec/javascripts/vue_mr_widget/mock_data.js
index 089ec08fbf9..40bec001ffe 100644
--- a/spec/javascripts/vue_mr_widget/mock_data.js
+++ b/spec/javascripts/vue_mr_widget/mock_data.js
@@ -284,7 +284,20 @@ export const mockStore = {
targetBranch: 'target-branch',
sourceBranch: 'source-branch',
sourceBranchLink: 'source-branch-link',
- deployments: [{ id: 0, name: 'bogus' }, { id: 1, name: 'bogus-docs' }],
+ deployments: [
+ {
+ id: 0,
+ name: 'bogus',
+ external_url: 'https://fake.com',
+ external_url_formatted: 'https://fake.com',
+ },
+ {
+ id: 1,
+ name: 'bogus-docs',
+ external_url: 'https://fake.com',
+ external_url_formatted: 'https://fake.com',
+ },
+ ],
postMergeDeployments: [{ id: 0, name: 'prod' }, { id: 1, name: 'prod-docs' }],
troubleshootingDocsPath: 'troubleshooting-docs-path',
ciStatus: 'ci-status',
diff --git a/spec/models/project_import_state_spec.rb b/spec/models/project_import_state_spec.rb
index 0b4dcc62ff6..babde7b0670 100644
--- a/spec/models/project_import_state_spec.rb
+++ b/spec/models/project_import_state_spec.rb
@@ -95,30 +95,28 @@ describe ProjectImportState, type: :model do
end
end
- describe '#remove_jid', :clean_gitlab_redis_cache do
- let(:project) { }
-
+ describe 'clearing `jid` after finish', :clean_gitlab_redis_cache do
context 'without an JID' do
it 'does nothing' do
- import_state = create(:import_state)
+ import_state = create(:import_state, :started)
expect(Gitlab::SidekiqStatus)
.not_to receive(:unset)
- import_state.remove_jid
+ import_state.finish!
end
end
context 'with an JID' do
it 'unsets the JID' do
- import_state = create(:import_state, jid: '123')
+ import_state = create(:import_state, :started, jid: '123')
expect(Gitlab::SidekiqStatus)
.to receive(:unset)
.with('123')
.and_call_original
- import_state.remove_jid
+ import_state.finish!
expect(import_state.jid).to be_nil
end
diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb
index 815ab7aa166..4e6a4bd6b51 100644
--- a/spec/models/project_spec.rb
+++ b/spec/models/project_spec.rb
@@ -4335,7 +4335,6 @@ describe Project do
expect(project.wiki.repository).to receive(:after_import)
expect(import_state).to receive(:finish)
expect(project).to receive(:update_project_counter_caches)
- expect(import_state).to receive(:remove_jid)
expect(project).to receive(:after_create_default_branch)
expect(project).to receive(:refresh_markdown_cache!)
expect(InternalId).to receive(:flush_records!).with(project: project)
diff --git a/spec/presenters/clusters/cluster_presenter_spec.rb b/spec/presenters/clusters/cluster_presenter_spec.rb
index 8bc5374f2db..6a1360807b7 100644
--- a/spec/presenters/clusters/cluster_presenter_spec.rb
+++ b/spec/presenters/clusters/cluster_presenter_spec.rb
@@ -153,11 +153,42 @@ describe Clusters::ClusterPresenter do
end
end
- describe '#gke_cluster_url' do
- subject { described_class.new(cluster).gke_cluster_url }
+ describe '#provider_label' do
+ let(:cluster) { create(:cluster, provider_type: provider_type) }
- it { is_expected.to include(cluster.provider.zone) }
- it { is_expected.to include(cluster.name) }
+ subject { described_class.new(cluster).provider_label }
+
+ context 'AWS provider' do
+ let(:provider_type) { :aws }
+
+ it { is_expected.to eq('Elastic Kubernetes Service') }
+ end
+
+ context 'GCP provider' do
+ let(:provider_type) { :gcp }
+
+ it { is_expected.to eq('Google Kubernetes Engine') }
+ end
+ end
+
+ describe '#provider_management_url' do
+ let(:cluster) { provider.cluster }
+
+ subject { described_class.new(cluster).provider_management_url }
+
+ context 'AWS provider' do
+ let(:provider) { create(:cluster_provider_aws) }
+
+ it { is_expected.to include(provider.region) }
+ it { is_expected.to include(cluster.name) }
+ end
+
+ context 'GCP provider' do
+ let(:provider) { create(:cluster_provider_gcp) }
+
+ it { is_expected.to include(provider.zone) }
+ it { is_expected.to include(cluster.name) }
+ end
end
describe '#cluster_type_description' do