You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1.2 KiB
39 lines
1.2 KiB
import React from 'react';
|
|
|
|
import { renderWithProvider, fireEvent } from '../../../../test/jest';
|
|
import SwapsFooter from '.';
|
|
|
|
const createProps = (customProps = {}) => {
|
|
return {
|
|
onCancel: jest.fn(),
|
|
onSubmit: jest.fn(),
|
|
submitText: 'submitText',
|
|
disabled: false,
|
|
showTermsOfService: true,
|
|
...customProps,
|
|
};
|
|
};
|
|
|
|
describe('SwapsFooter', () => {
|
|
it('renders the component with initial props', () => {
|
|
const props = createProps();
|
|
const { container, getByText } = renderWithProvider(
|
|
<SwapsFooter {...props} />,
|
|
);
|
|
expect(getByText(props.submitText)).toBeInTheDocument();
|
|
expect(getByText('Back')).toBeInTheDocument();
|
|
expect(getByText('Terms of service')).toBeInTheDocument();
|
|
expect(container).toMatchSnapshot();
|
|
});
|
|
|
|
it('clicks on a block explorer link', () => {
|
|
global.platform = { openTab: jest.fn() };
|
|
const props = createProps();
|
|
const { getByText } = renderWithProvider(<SwapsFooter {...props} />);
|
|
expect(getByText(props.submitText)).toBeInTheDocument();
|
|
fireEvent.click(getByText('Terms of service'));
|
|
expect(global.platform.openTab).toHaveBeenCalledWith({
|
|
url: 'https://metamask.io/terms.html',
|
|
});
|
|
});
|
|
});
|
|
|