From d03efa227bf8fad31ea67c7a700a3ca46680abc1 Mon Sep 17 00:00:00 2001 From: Byron Hulcher Date: Wed, 8 Sep 2021 14:13:09 -0400 Subject: [PATCH] Fix logic issues resulting from CrawlerLogic/CrawlerOverviewLogic split (#111564) --- .../crawler/components/delete_domain_panel.tsx | 4 ++-- .../app_search/components/crawler/crawler_logic.ts | 2 +- .../components/crawler/crawler_overview_logic.ts | 2 +- .../crawler/crawler_single_domain_logic.test.ts | 11 +++++++++++ .../components/crawler/crawler_single_domain_logic.ts | 3 +++ 5 files changed, 18 insertions(+), 4 deletions(-) diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/components/delete_domain_panel.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/components/delete_domain_panel.tsx index 6b8377775021..5c74bfbe9879 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/components/delete_domain_panel.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/components/delete_domain_panel.tsx @@ -15,7 +15,7 @@ import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n/react'; import { CrawlerSingleDomainLogic } from '../crawler_single_domain_logic'; -import { getDeleteDomainSuccessMessage } from '../utils'; +import { getDeleteDomainConfirmationMessage } from '../utils'; export const DeleteDomainPanel: React.FC = ({}) => { const { domain } = useValues(CrawlerSingleDomainLogic); @@ -61,7 +61,7 @@ export const DeleteDomainPanel: React.FC = ({}) => { color="danger" iconType="trash" onClick={() => { - if (confirm(getDeleteDomainSuccessMessage(domain.url))) { + if (confirm(getDeleteDomainConfirmationMessage(domain.url))) { deleteDomain(domain); } }} diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_logic.ts b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_logic.ts index 902058593fe4..972532597e34 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_logic.ts +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_logic.ts @@ -45,7 +45,7 @@ interface CrawlerActions { } export const CrawlerLogic = kea>({ - path: ['enterprise_search', 'app_search', 'crawler', 'crawler_overview'], + path: ['enterprise_search', 'app_search', 'crawler_logic'], actions: { clearTimeoutId: true, createNewTimeoutForCrawlRequests: (duration) => ({ duration }), diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_overview_logic.ts b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_overview_logic.ts index 5f9dbdd01efc..c6a26e50a675 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_overview_logic.ts +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_overview_logic.ts @@ -25,7 +25,7 @@ export const CrawlerOverviewLogic = kea ({ domain }), }, - listeners: ({ actions, values }) => ({ + listeners: () => ({ deleteDomain: async ({ domain }) => { const { http } = HttpLogic.values; const { engineName } = EngineLogic.values; diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_single_domain_logic.test.ts b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_single_domain_logic.test.ts index 951ef4e31ca0..03e20ea988f9 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_single_domain_logic.test.ts +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_single_domain_logic.test.ts @@ -13,8 +13,17 @@ import { } from '../../../__mocks__/kea_logic'; import '../../__mocks__/engine_logic.mock'; +jest.mock('./crawler_logic', () => ({ + CrawlerLogic: { + actions: { + fetchCrawlerData: jest.fn(), + }, + }, +})); + import { nextTick } from '@kbn/test/jest'; +import { CrawlerLogic } from './crawler_logic'; import { CrawlerSingleDomainLogic, CrawlerSingleDomainValues } from './crawler_single_domain_logic'; import { CrawlerDomain, CrawlerPolicies, CrawlerRules } from './types'; @@ -150,6 +159,7 @@ describe('CrawlerSingleDomainLogic', () => { describe('listeners', () => { describe('deleteDomain', () => { it('flashes a success toast and redirects the user to the crawler overview on success', async () => { + jest.spyOn(CrawlerLogic.actions, 'fetchCrawlerData'); const { navigateToUrl } = mockKibanaValues; http.delete.mockReturnValue(Promise.resolve()); @@ -161,6 +171,7 @@ describe('CrawlerSingleDomainLogic', () => { '/internal/app_search/engines/some-engine/crawler/domains/1234' ); + expect(CrawlerLogic.actions.fetchCrawlerData).toHaveBeenCalled(); expect(flashSuccessToast).toHaveBeenCalled(); expect(navigateToUrl).toHaveBeenCalledWith('/engines/some-engine/crawler'); }); diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_single_domain_logic.ts b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_single_domain_logic.ts index 1939e418fec7..9452ae1d578e 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_single_domain_logic.ts +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_single_domain_logic.ts @@ -14,6 +14,8 @@ import { KibanaLogic } from '../../../shared/kibana'; import { ENGINE_CRAWLER_PATH } from '../../routes'; import { EngineLogic, generateEnginePath } from '../engine'; +import { CrawlerLogic } from './crawler_logic'; + import { CrawlerDomain, EntryPoint, Sitemap, CrawlRule } from './types'; import { crawlerDomainServerToClient, getDeleteDomainSuccessMessage } from './utils'; @@ -78,6 +80,7 @@ export const CrawlerSingleDomainLogic = kea< `/internal/app_search/engines/${engineName}/crawler/domains/${domain.id}` ); + CrawlerLogic.actions.fetchCrawlerData(); flashSuccessToast(getDeleteDomainSuccessMessage(domain.url)); KibanaLogic.values.navigateToUrl(generateEnginePath(ENGINE_CRAWLER_PATH)); } catch (e) {