/*
* Copyright OpenSearch Contributors
* SPDX-License-Identifier: Apache-2.0
*/
import { render, waitFor } from '@testing-library/react';
import React from 'react';
import { AnomaliesLiveChart } from '../AnomaliesLiveChart';
import { SELECTED_DETECTORS } from '../../../../pages/utils/__tests__/constants';
import { Provider } from 'react-redux';
import { coreServicesMock } from '../../../../../test/mocks';
import { CoreServicesContext } from '../../../../components/CoreServices/CoreServices';
import { mockedStore } from '../../../../redux/utils/testUtils';
const anomalyResponse = [
{
ok: true,
response: {
anomaly_grade: 0.10949221682655441,
data_start_time: 1651817250642,
data_end_time: 1651817310642,
detector_id: 'gtU2l4ABuV34PY9ITTdm',
name: 'test2',
},
},
];
const anomalyResultQuery = [
{
anomaly_grade: 0.10949221682655441,
data_start_time: 1651817250642,
data_end_time: 1651817310642,
detector_id: 'gtU2l4ABuV34PY9ITTdm',
},
];
jest.mock('../../utils/utils', () => ({
getLatestAnomalyResultsForDetectorsByTimeRange: jest.fn(
() => anomalyResponse
),
getFloorPlotTime: jest.fn(() => 1651817250642),
getLatestAnomalyResultsByTimeRange: jest.fn(() => anomalyResultQuery),
visualizeAnomalyResultForXYChart: jest.fn(),
}));
describe(' spec', () => {
test('AnomaliesLiveChart with Sample anomaly data', async () => {
const { container, getByTestId, getAllByText, getByText } = render(
);
//mock current last update to a specific date so doesn't produce new snapshot each minute
Date.now = jest.fn().mockReturnValue(new Date('2021-06-06T12:33:37.000Z'));
await waitFor(() => {
expect(
getByTestId('dashboardFullScreenButton').innerHTML.includes(
'euiIcon-isssLoaded'
)
);
});
await waitFor(() => {});
expect(container).toMatchSnapshot();
getAllByText('Detector with the most recent anomaly');
});
});