From 98a6b4bf016dd77fa7a842ed3a3eadd75e1fb105 Mon Sep 17 00:00:00 2001 From: abbyhu2000 Date: Fri, 7 Jul 2023 21:14:49 +0000 Subject: [PATCH] delete old unit test Signed-off-by: abbyhu2000 --- .../application/dashboard_state.test.ts | 186 ------------------ 1 file changed, 186 deletions(-) delete mode 100644 src/plugins/dashboard/public/application/dashboard_state.test.ts diff --git a/src/plugins/dashboard/public/application/dashboard_state.test.ts b/src/plugins/dashboard/public/application/dashboard_state.test.ts deleted file mode 100644 index 04ce9d7e8599..000000000000 --- a/src/plugins/dashboard/public/application/dashboard_state.test.ts +++ /dev/null @@ -1,186 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -import { createBrowserHistory } from 'history'; -// import { DashboardStateManager } from './dashboard_state_manager'; -import { getSavedDashboardMock } from './test_helpers'; -import { InputTimeRange, TimefilterContract, TimeRange } from 'src/plugins/data/public'; -import { ViewMode } from 'src/plugins/embeddable/public'; -import { createOsdUrlStateStorage } from 'src/plugins/opensearch_dashboards_utils/public'; -import { DashboardContainer, DashboardContainerInput } from '.'; -import { DashboardContainerOptions } from './embeddable/dashboard_container'; -import { embeddablePluginMock } from '../../../embeddable/public/mocks'; - -// TODO: -// This unit test will fail because we delete the dashboard state manager -// Will revisit this when we implement the new state management -describe.skip('DashboardState', function () { - let dashboardState: DashboardStateManager; - const savedDashboard = getSavedDashboardMock(); - - let mockTime: TimeRange = { to: 'now', from: 'now-15m' }; - const mockTimefilter = { - getTime: () => { - return mockTime; - }, - setTime: (time: InputTimeRange) => { - mockTime = time as TimeRange; - }, - } as TimefilterContract; - - function initDashboardState() { - dashboardState = new DashboardStateManager({ - savedDashboard, - hideWriteControls: false, - opensearchDashboardsVersion: '7.0.0', - osdUrlStateStorage: createOsdUrlStateStorage(), - history: createBrowserHistory(), - }); - } - - function initDashboardContainer(initialInput?: Partial) { - const { doStart } = embeddablePluginMock.createInstance(); - const defaultInput: DashboardContainerInput = { - id: '123', - viewMode: ViewMode.EDIT, - filters: [] as DashboardContainerInput['filters'], - query: {} as DashboardContainerInput['query'], - timeRange: {} as DashboardContainerInput['timeRange'], - useMargins: true, - title: 'ultra awesome test dashboard', - isFullScreenMode: false, - panels: {} as DashboardContainerInput['panels'], - }; - const input = { ...defaultInput, ...(initialInput ?? {}) }; - return new DashboardContainer(input, { embeddable: doStart() } as DashboardContainerOptions); - } - - describe('syncTimefilterWithDashboard', function () { - test('syncs quick time', function () { - savedDashboard.timeRestore = true; - savedDashboard.timeFrom = 'now/w'; - savedDashboard.timeTo = 'now/w'; - - mockTime.from = '2015-09-19 06:31:44.000'; - mockTime.to = '2015-09-29 06:31:44.000'; - - initDashboardState(); - dashboardState.syncTimefilterWithDashboardTime(mockTimefilter); - - expect(mockTime.to).toBe('now/w'); - expect(mockTime.from).toBe('now/w'); - }); - - test('syncs relative time', function () { - savedDashboard.timeRestore = true; - savedDashboard.timeFrom = 'now-13d'; - savedDashboard.timeTo = 'now'; - - mockTime.from = '2015-09-19 06:31:44.000'; - mockTime.to = '2015-09-29 06:31:44.000'; - - initDashboardState(); - dashboardState.syncTimefilterWithDashboardTime(mockTimefilter); - - expect(mockTime.to).toBe('now'); - expect(mockTime.from).toBe('now-13d'); - }); - - test('syncs absolute time', function () { - savedDashboard.timeRestore = true; - savedDashboard.timeFrom = '2015-09-19 06:31:44.000'; - savedDashboard.timeTo = '2015-09-29 06:31:44.000'; - - mockTime.from = 'now/w'; - mockTime.to = 'now/w'; - - initDashboardState(); - dashboardState.syncTimefilterWithDashboardTime(mockTimefilter); - - expect(mockTime.to).toBe(savedDashboard.timeTo); - expect(mockTime.from).toBe(savedDashboard.timeFrom); - }); - }); - - describe('Dashboard Container Changes', () => { - beforeEach(() => { - initDashboardState(); - }); - - test('expanedPanelId in container input casues state update', () => { - dashboardState.setExpandedPanelId = jest.fn(); - - const dashboardContainer = initDashboardContainer({ - expandedPanelId: 'theCoolestPanelOnThisDashboard', - }); - - dashboardState.handleDashboardContainerChanges(dashboardContainer); - expect(dashboardState.setExpandedPanelId).toHaveBeenCalledWith( - 'theCoolestPanelOnThisDashboard' - ); - }); - - test('expanedPanelId is not updated when it is the same', () => { - dashboardState.setExpandedPanelId = jest - .fn() - .mockImplementation(dashboardState.setExpandedPanelId); - - const dashboardContainer = initDashboardContainer({ - expandedPanelId: 'theCoolestPanelOnThisDashboard', - }); - - dashboardState.handleDashboardContainerChanges(dashboardContainer); - dashboardState.handleDashboardContainerChanges(dashboardContainer); - expect(dashboardState.setExpandedPanelId).toHaveBeenCalledTimes(1); - - dashboardContainer.updateInput({ expandedPanelId: 'woah it changed' }); - dashboardState.handleDashboardContainerChanges(dashboardContainer); - expect(dashboardState.setExpandedPanelId).toHaveBeenCalledTimes(2); - }); - }); - - describe('isDirty', function () { - beforeAll(() => { - initDashboardState(); - }); - - test('getIsDirty is true if isDirty is true and editing', () => { - dashboardState.switchViewMode(ViewMode.EDIT); - dashboardState.isDirty = true; - expect(dashboardState.getIsDirty()).toBeTruthy(); - }); - - test('getIsDirty is false if isDirty is true and editing', () => { - dashboardState.switchViewMode(ViewMode.VIEW); - dashboardState.isDirty = true; - expect(dashboardState.getIsDirty()).toBeFalsy(); - }); - }); -});