/* * 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, fireEvent } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; import { Settings } from '../Settings'; import { Formik } from 'formik'; describe(' spec', () => { test('renders the component', () => { const { container } = render( {() => (
)}
); expect(container.firstChild).toMatchSnapshot(); }); test('shows error for empty interval when toggling focus/blur', async () => { const { queryByText, findByText, getByPlaceholderText } = render( {() => (
)}
); expect(queryByText('Required')).toBeNull(); fireEvent.focus(getByPlaceholderText('Detector interval')); fireEvent.blur(getByPlaceholderText('Detector interval')); expect(findByText('Required')).not.toBeNull(); }); test('shows error for invalid interval when toggling focus/blur', async () => { const { queryByText, findByText, getByPlaceholderText } = render( {() => (
)}
); expect(queryByText('Required')).toBeNull(); userEvent.type(getByPlaceholderText('Detector interval'), '-1'); fireEvent.blur(getByPlaceholderText('Detector interval')); expect(findByText('Must be a positive integer')).not.toBeNull(); }); test('shows error for interval of 0 when toggling focus/blur', async () => { const { queryByText, findByText, getByPlaceholderText } = render( {() => (
)}
); expect(queryByText('Required')).toBeNull(); userEvent.type(getByPlaceholderText('Detector interval'), '0'); fireEvent.blur(getByPlaceholderText('Detector interval')); expect(findByText('Must be a positive integer')).not.toBeNull(); }); test('shows error for empty window delay when toggling focus/blur', async () => { const { queryByText, findByText, getByPlaceholderText } = render( {() => (
)}
); expect(queryByText('Required')).toBeNull(); fireEvent.focus(getByPlaceholderText('Window delay')); fireEvent.blur(getByPlaceholderText('Window delay')); expect(findByText('Required')).not.toBeNull(); }); test('shows error for invalid window delay when toggling focus/blur', async () => { const { queryByText, findByText, getByPlaceholderText } = render( {() => (
)}
); expect(queryByText('Required')).toBeNull(); userEvent.type(getByPlaceholderText('Window delay'), '-1'); fireEvent.blur(getByPlaceholderText('Window delay')); expect(findByText('Must be a non-negative integer')).not.toBeNull(); }); });