From 94627b04a1aaeab28098f3c94b27ebfdef11938f Mon Sep 17 00:00:00 2001 From: Hailong Cui Date: Mon, 23 Oct 2023 14:28:27 +0800 Subject: [PATCH] Add unit test Signed-off-by: Hailong Cui --- .../objects_table/components/header.test.tsx | 1 - .../objects_table/components/header.tsx | 4 +- .../saved_objects_table.test.tsx | 51 +++++++++++++++++++ 3 files changed, 53 insertions(+), 3 deletions(-) diff --git a/src/plugins/saved_objects_management/public/management_section/objects_table/components/header.test.tsx b/src/plugins/saved_objects_management/public/management_section/objects_table/components/header.test.tsx index e59ef7932510..a41fa6295240 100644 --- a/src/plugins/saved_objects_management/public/management_section/objects_table/components/header.test.tsx +++ b/src/plugins/saved_objects_management/public/management_section/objects_table/components/header.test.tsx @@ -40,7 +40,6 @@ describe('Header', () => { onRefresh: () => {}, totalCount: 4, filteredCount: 2, - hideImport: false, title: '', }; diff --git a/src/plugins/saved_objects_management/public/management_section/objects_table/components/header.tsx b/src/plugins/saved_objects_management/public/management_section/objects_table/components/header.tsx index 57d625af1645..affcd8812aff 100644 --- a/src/plugins/saved_objects_management/public/management_section/objects_table/components/header.tsx +++ b/src/plugins/saved_objects_management/public/management_section/objects_table/components/header.tsx @@ -45,14 +45,14 @@ export const Header = ({ onImport, onRefresh, filteredCount, - hideImport = false, + hideImport, title, }: { onExportAll: () => void; onImport: () => void; onRefresh: () => void; filteredCount: number; - hideImport: boolean; + hideImport?: boolean; title: string; }) => ( diff --git a/src/plugins/saved_objects_management/public/management_section/objects_table/saved_objects_table.test.tsx b/src/plugins/saved_objects_management/public/management_section/objects_table/saved_objects_table.test.tsx index badc0531a537..af1afa500f3f 100644 --- a/src/plugins/saved_objects_management/public/management_section/objects_table/saved_objects_table.test.tsx +++ b/src/plugins/saved_objects_management/public/management_section/objects_table/saved_objects_table.test.tsx @@ -64,6 +64,7 @@ import { Flyout, Relationships } from './components'; import { SavedObjectWithMetadata } from '../../types'; import { WorkspaceObject } from 'opensearch-dashboards/public'; import { TableProps } from './components/table'; +import { waitFor } from '@testing-library/dom'; const allowedTypes = ['index-pattern', 'visualization', 'dashboard', 'search']; @@ -670,5 +671,55 @@ describe('SavedObjectsTable', () => { expect(wsFilter[0].options.length).toBe(1); expect(wsFilter[0].options[0].value).toBe('foo'); }); + + it('workspace exists in query options when workspace on', async () => { + const applications = applicationServiceMock.createStartContract(); + applications.capabilities = { + navLinks: {}, + management: {}, + catalogue: {}, + savedObjectsManagement: { + read: true, + edit: false, + delete: false, + }, + workspaces: { + enabled: true, + }, + }; + + const workspaceList: WorkspaceObject[] = [ + { + id: 'workspace1', + name: 'foo', + }, + { + id: 'workspace2', + name: 'bar', + }, + ]; + workspaces.workspaceList$.next(workspaceList); + workspaces.currentWorkspaceId$.next('workspace1'); + workspaces.currentWorkspace$.next(workspaceList[0]); + + const component = shallowRender({ applications, workspaces }); + + // Ensure all promises resolve + await new Promise((resolve) => process.nextTick(resolve)); + // Ensure the state changes are reflected + component.update(); + + waitFor( + () => { + expect(http.get).toHaveBeenCalledWith( + expect.stringMatching('/api/opensearch-dashboards/management/saved_objects/_find'), + expect.objectContaining({ + workspaces: expect.arrayContaining(['workspace1']), + }) + ); + }, + { timeout: 1000 } + ); + }); }); });