mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-23 09:52:26 +01:00
48 lines
1.4 KiB
JavaScript
48 lines
1.4 KiB
JavaScript
import React from 'react';
|
|
import { fireEvent } from '@testing-library/react';
|
|
|
|
import { renderWithProvider } from '../../../../test/jest';
|
|
import ActionableMessage from '.';
|
|
|
|
const createProps = (customProps = {}) => {
|
|
return {
|
|
message: 'I am an actionable message!',
|
|
...customProps,
|
|
};
|
|
};
|
|
|
|
describe('ActionableMessage', () => {
|
|
it('renders the component with initial props', () => {
|
|
const props = createProps();
|
|
const { container, getByText } = renderWithProvider(
|
|
<ActionableMessage {...props} />,
|
|
);
|
|
expect(getByText(props.message)).toBeInTheDocument();
|
|
expect(container).toMatchSnapshot();
|
|
});
|
|
|
|
it('renders button for primaryActionV2 prop', () => {
|
|
const props = createProps();
|
|
const { getByRole } = renderWithProvider(
|
|
<ActionableMessage
|
|
{...props}
|
|
primaryActionV2={{ label: 'primary-action-v2' }}
|
|
/>,
|
|
);
|
|
expect(getByRole('button')).toBeInTheDocument();
|
|
});
|
|
|
|
it('renders primaryActionV2.onClick is callen when primaryActionV2 button is clicked', () => {
|
|
const props = createProps();
|
|
const onClick = jest.fn();
|
|
const { getByRole } = renderWithProvider(
|
|
<ActionableMessage
|
|
{...props}
|
|
primaryActionV2={{ label: 'primary-action-v2', onClick }}
|
|
/>,
|
|
);
|
|
fireEvent.click(getByRole('button'));
|
|
expect(onClick).toHaveBeenCalledTimes(1);
|
|
});
|
|
});
|