From 775d73f2f9213ec34c3ce37615f7e91675a3fecd Mon Sep 17 00:00:00 2001 From: anna_vovchenko Date: Wed, 3 Nov 2021 23:28:25 +0200 Subject: [PATCH 01/11] Move nav and actions on clusters page to Vue As we want enhance the GitLab Agent, we are changing the nav: - moving it to Vue - switching tabs order - adding persistent actions button that defaults to register new Agent Changelog: changed --- .../clusters_list/components/agents.vue | 11 ++++++++ .../components/install_agent_modal.vue | 2 ++ .../javascripts/clusters_list/store/state.js | 1 + .../clusters_list/components/agents_spec.js | 28 +++++++++++++++++++ .../components/install_agent_modal_spec.js | 21 ++++++++++++++ 5 files changed, 63 insertions(+) diff --git a/app/assets/javascripts/clusters_list/components/agents.vue b/app/assets/javascripts/clusters_list/components/agents.vue index fb5cf7d120648d..f37ab8efce2de6 100644 --- a/app/assets/javascripts/clusters_list/components/agents.vue +++ b/app/assets/javascripts/clusters_list/components/agents.vue @@ -1,5 +1,6 @@ diff --git a/app/assets/javascripts/clusters_list/components/agent_table.vue b/app/assets/javascripts/clusters_list/components/agent_table.vue index 000730ac1ba526..af9ee309bfb06a 100644 --- a/app/assets/javascripts/clusters_list/components/agent_table.vue +++ b/app/assets/javascripts/clusters_list/components/agent_table.vue @@ -9,6 +9,7 @@ import { GlPopover, } from '@gitlab/ui'; import { s__ } from '~/locale'; +import { helpPagePath } from '~/helpers/help_page_helper'; import TimeAgoTooltip from '~/vue_shared/components/time_ago_tooltip.vue'; import timeagoMixin from '~/vue_shared/mixins/timeago'; import { helpPagePath } from '~/helpers/help_page_helper'; @@ -67,6 +68,11 @@ export default { }, ]; }, + integrationDocsUrl() { + return helpPagePath('user/clusters/agent/index', { + anchor: 'get-started-with-gitops-and-the-gitlab-agent', + }); + }, }, methods: { getCellId(item) { diff --git a/spec/frontend/clusters_list/components/agent_empty_state_spec.js b/spec/frontend/clusters_list/components/agent_empty_state_spec.js index 38f0e0ba2c4f5a..87ba4f30ffcfcc 100644 --- a/spec/frontend/clusters_list/components/agent_empty_state_spec.js +++ b/spec/frontend/clusters_list/components/agent_empty_state_spec.js @@ -19,12 +19,6 @@ describe('AgentEmptyStateComponent', () => { projectPath, }; - const findConfigurationsAlert = () => wrapper.findComponent(GlAlert); - const findMultipleClustersDocsLink = () => wrapper.findByTestId('multiple-clusters-docs-link'); - const findInstallDocsLink = () => wrapper.findByTestId('install-docs-link'); - const findIntegrationButton = () => wrapper.findByTestId('integration-primary-button'); - const findEmptyState = () => wrapper.findComponent(GlEmptyState); - beforeEach(() => { wrapper = shallowMountExtended(AgentEmptyState, { propsData, diff --git a/spec/frontend/clusters_list/components/agents_spec.js b/spec/frontend/clusters_list/components/agents_spec.js index 2f2770dcd3b1d6..6cd900c129209d 100644 --- a/spec/frontend/clusters_list/components/agents_spec.js +++ b/spec/frontend/clusters_list/components/agents_spec.js @@ -285,16 +285,16 @@ describe('Agents', () => { }); describe('when new agent is registered', () => { - let reloadAgentsSpy; + let refetchAgentsSpy; beforeEach(() => { createWrapper({ agents: [] }); - reloadAgentsSpy = jest.spyOn(wrapper.vm, 'reloadAgents'); + refetchAgentsSpy = jest.spyOn(wrapper.vm.$apollo.queries.agents, 'refetch'); }); it('reloads agents query', async () => { wrapper.vm.$store.state.newAgentRegistered = true; await wrapper.vm.$nextTick(); - expect(reloadAgentsSpy).toHaveBeenCalled(); + expect(refetchAgentsSpy).toHaveBeenCalled(); }); }); }); -- GitLab From 028c4562fe462336bad2eb0f90d03fdcb97c4d51 Mon Sep 17 00:00:00 2001 From: anna_vovchenko Date: Tue, 9 Nov 2021 20:40:37 +0200 Subject: [PATCH 03/11] Applied suggestions after the FE review --- .../components/agent_empty_state.vue | 16 ---------------- .../components/agent_empty_state_spec.js | 6 ++++++ 2 files changed, 6 insertions(+), 16 deletions(-) diff --git a/app/assets/javascripts/clusters_list/components/agent_empty_state.vue b/app/assets/javascripts/clusters_list/components/agent_empty_state.vue index f03961719a29a5..b02bca065b01ee 100644 --- a/app/assets/javascripts/clusters_list/components/agent_empty_state.vue +++ b/app/assets/javascripts/clusters_list/components/agent_empty_state.vue @@ -38,22 +38,6 @@ export default { repositoryPath() { return `/${this.projectPath}`; }, - agentDocsUrl() { - return helpPagePath('user/clusters/agent/index'); - }, - installDocsUrl() { - return helpPagePath('administration/clusters/kas'); - }, - getStartedDocsUrl() { - return helpPagePath('user/clusters/agent/index', { - anchor: 'define-a-configuration-repository', - }); - }, - integrationsDocsUrl() { - return helpPagePath('user/clusters/agent/index', { - anchor: 'get-started-with-gitops-and-the-gitlab-agent', - }); - }, }, }; diff --git a/spec/frontend/clusters_list/components/agent_empty_state_spec.js b/spec/frontend/clusters_list/components/agent_empty_state_spec.js index 87ba4f30ffcfcc..38f0e0ba2c4f5a 100644 --- a/spec/frontend/clusters_list/components/agent_empty_state_spec.js +++ b/spec/frontend/clusters_list/components/agent_empty_state_spec.js @@ -19,6 +19,12 @@ describe('AgentEmptyStateComponent', () => { projectPath, }; + const findConfigurationsAlert = () => wrapper.findComponent(GlAlert); + const findMultipleClustersDocsLink = () => wrapper.findByTestId('multiple-clusters-docs-link'); + const findInstallDocsLink = () => wrapper.findByTestId('install-docs-link'); + const findIntegrationButton = () => wrapper.findByTestId('integration-primary-button'); + const findEmptyState = () => wrapper.findComponent(GlEmptyState); + beforeEach(() => { wrapper = shallowMountExtended(AgentEmptyState, { propsData, -- GitLab From e487d20729b35489ce06ca2fd573527b6909719f Mon Sep 17 00:00:00 2001 From: anna_vovchenko Date: Tue, 9 Nov 2021 23:17:59 +0200 Subject: [PATCH 04/11] Updated branch with the latest changes --- .../clusters_list/components/agent_empty_state.vue | 1 - .../javascripts/clusters_list/components/agent_table.vue | 6 ------ 2 files changed, 7 deletions(-) diff --git a/app/assets/javascripts/clusters_list/components/agent_empty_state.vue b/app/assets/javascripts/clusters_list/components/agent_empty_state.vue index b02bca065b01ee..af44a23b4b393e 100644 --- a/app/assets/javascripts/clusters_list/components/agent_empty_state.vue +++ b/app/assets/javascripts/clusters_list/components/agent_empty_state.vue @@ -2,7 +2,6 @@ import { GlButton, GlEmptyState, GlLink, GlSprintf, GlAlert, GlModalDirective } from '@gitlab/ui'; import { helpPagePath } from '~/helpers/help_page_helper'; import { INSTALL_AGENT_MODAL_ID, I18N_AGENTS_EMPTY_STATE } from '../constants'; -import { helpPagePath } from '~/helpers/help_page_helper'; export default { i18n: I18N_AGENTS_EMPTY_STATE, diff --git a/app/assets/javascripts/clusters_list/components/agent_table.vue b/app/assets/javascripts/clusters_list/components/agent_table.vue index af9ee309bfb06a..000730ac1ba526 100644 --- a/app/assets/javascripts/clusters_list/components/agent_table.vue +++ b/app/assets/javascripts/clusters_list/components/agent_table.vue @@ -9,7 +9,6 @@ import { GlPopover, } from '@gitlab/ui'; import { s__ } from '~/locale'; -import { helpPagePath } from '~/helpers/help_page_helper'; import TimeAgoTooltip from '~/vue_shared/components/time_ago_tooltip.vue'; import timeagoMixin from '~/vue_shared/mixins/timeago'; import { helpPagePath } from '~/helpers/help_page_helper'; @@ -68,11 +67,6 @@ export default { }, ]; }, - integrationDocsUrl() { - return helpPagePath('user/clusters/agent/index', { - anchor: 'get-started-with-gitops-and-the-gitlab-agent', - }); - }, }, methods: { getCellId(item) { -- GitLab From 975b350f496d705e3078eed51810c3049202541e Mon Sep 17 00:00:00 2001 From: anna_vovchenko Date: Thu, 11 Nov 2021 01:01:01 +0200 Subject: [PATCH 05/11] Changed setNewAgent action to apollo cache --- .../clusters_list/components/agents.vue | 11 -------- .../components/install_agent_modal.vue | 2 -- .../javascripts/clusters_list/store/state.js | 1 - .../clusters_list/components/agents_spec.js | 28 ------------------- .../components/install_agent_modal_spec.js | 21 -------------- 5 files changed, 63 deletions(-) diff --git a/app/assets/javascripts/clusters_list/components/agents.vue b/app/assets/javascripts/clusters_list/components/agents.vue index f37ab8efce2de6..fb5cf7d120648d 100644 --- a/app/assets/javascripts/clusters_list/components/agents.vue +++ b/app/assets/javascripts/clusters_list/components/agents.vue @@ -1,6 +1,5 @@