/* * Copyright OpenSearch Contributors * SPDX-License-Identifier: Apache-2.0 */ import { fireEvent, render } from '@testing-library/react'; import { configure, shallow } from 'enzyme'; import Adapter from 'enzyme-adapter-react-16'; import React from 'react'; import { CreateRecipientGroupForm } from '../components/forms/CreateRecipientGroupForm'; describe(' spec', () => { configure({ adapter: new Adapter() }); it('renders the component', () => { const emailOptions = [{ label: 'test@test.com' }]; const setName = jest.fn(); const setDescription = jest.fn(); const setSelectedEmailOptions = jest.fn(); const setEmailOptions = jest.fn(); const setInputErrors = jest.fn(); const inputErrors = { name: [], emailOptions: [], }; const utils = render( ); expect(utils.container.firstChild).toMatchSnapshot(); const nameInput = utils.getByTestId( 'create-recipient-group-form-name-input' ); fireEvent.change(nameInput, { target: { value: 'test name' } }); fireEvent.blur(nameInput); expect(setName).toBeCalledWith('test name'); const descriptionInput = utils.getByTestId( 'create-recipient-group-form-description-input' ); fireEvent.change(descriptionInput, { target: { value: 'test description' }, }); fireEvent.blur(descriptionInput); expect(setDescription).toBeCalledWith('test description'); }); it('changes email options', () => { const emailOptions = [{ label: 'test@test.com' }]; const setName = jest.fn(); const setDescription = jest.fn(); const setSelectedEmailOptions = jest.fn(); const setEmailOptions = jest.fn(); const setInputErrors = jest.fn(); const inputErrors = { name: [], emailOptions: [], }; const wrap = shallow( ); const input = wrap.find( '[data-test-subj="create-recipient-group-form-emails-input"]' ); input.simulate('keydown', { keyCode: 65 }); input.simulate('keydown', { keyCode: 13 }); }); it('render errors', () => { const emailOptions = [{ label: 'test@test.com' }]; const setName = jest.fn(); const setDescription = jest.fn(); const setSelectedEmailOptions = jest.fn(); const setEmailOptions = jest.fn(); const setInputErrors = jest.fn(); const inputErrors = { name: ['test error'], emailOptions: ['test error'], }; const utils = render( ); expect(utils.container.firstChild).toMatchSnapshot(); }); });