/* * 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. * * Modifications Copyright OpenSearch Contributors. See * GitHub history for details. */ import React from 'react'; import { render } from '@testing-library/react'; import { CustomAggregation, validateQuery } from '../CustomAggregation'; import { Provider } from 'react-redux'; import { mockedStore } from '../../../../../redux/utils/testUtils'; import { Formik } from 'formik'; import { FeaturesFormikValues } from '../../../models/interfaces'; import { INITIAL_FEATURE_VALUES } from '../../../utils/constants'; import { CoreServicesContext } from '../../../../../components/CoreServices/CoreServices'; import { coreServicesMock } from '../../../../../../test/mocks'; const renderWithFormik = (initialValue: FeaturesFormikValues) => ({ ...render( {(formikProps) => (
)}
), }); describe(' spec', () => { beforeEach(() => { jest.clearAllMocks(); }); test('renders the component', () => { const { container } = renderWithFormik(INITIAL_FEATURE_VALUES); expect(container.firstChild).toMatchSnapshot(); }); describe('validateQuery', () => { test('should return undefined if valid query', () => { expect(validateQuery('{}')).toBeUndefined(); expect(validateQuery('{"a":{"b":{}}}')).toBeUndefined(); }); test('should return error message if invalid query', () => { console.log = jest.fn(); expect(validateQuery('hello')).toEqual('Invalid JSON'); expect(validateQuery('{a : b: {}')).toEqual('Invalid JSON'); }); }); });