/*
* Copyright OpenSearch Contributors
* SPDX-License-Identifier: Apache-2.0
*/
import { fireEvent, render } from '@testing-library/react';
import { configure } from 'enzyme';
import Adapter from 'enzyme-adapter-react-16';
import React from 'react';
import {
coreServicesMock,
mainStateMock,
} from '../../../../test/mocks/serviceMock';
import { CoreServicesContext } from '../../../components/coreServices';
import { ServicesContext } from '../../../services';
import { MainContext } from '../../Main/Main';
import { SNSSettings } from '../components/SNSSettings';
import { CreateChannelContext } from '../CreateChannel';
describe(' spec', () => {
configure({ adapter: new Adapter() });
it('renders the component', async () => {
const notificationServiceMock = jest.fn() as any;
const setTopicArn = jest.fn();
const setRoleArn = jest.fn();
const setInputErrors = jest.fn();
const utils = render(
);
expect(utils.container.firstChild).toMatchSnapshot();
});
it('renders and edits fields', () => {
const notificationServiceMock = jest.fn() as any;
const setTopicArn = jest.fn();
const setRoleArn = jest.fn();
const setInputErrors = jest.fn();
const utils = render(
);
expect(utils.container.firstChild).toMatchSnapshot();
const topicArnInput = utils.getByTestId('sns-settings-topic-arn-input');
fireEvent.change(topicArnInput, { target: { value: 'test-update-topic' } });
fireEvent.blur(topicArnInput);
expect(setTopicArn).toBeCalledWith('test-update-topic');
expect(setInputErrors).toBeCalled();
const roleArnInput = utils.getByTestId('sns-settings-role-arn-input');
fireEvent.change(roleArnInput, { target: { value: 'test-update-role' } });
fireEvent.blur(roleArnInput);
expect(setRoleArn).toBeCalledWith('test-update-role');
expect(setInputErrors).toBeCalled();
});
});