import React from 'react'; import renderer from 'react-test-renderer'; import { render, fireEvent, screen } from '@testing-library/react'; import { NewActivitiesNotification, NewActivitiesNotificationProps, LabelFunction } from './NewActivitiesNotification'; const testData: Pick = { adds: [{ actor: '' }, { actor: '' }], deletes: ['', ''], }; const customLabelFunction: LabelFunction = ({ count, labelSingle, labelPlural }) => `You have ${count} unread ${count > 1 ? labelPlural : labelSingle}.`; describe('NewActivitiesNotification', () => { it('renders with no props', () => { const tree = renderer.create().toJSON(); expect(tree).toMatchInlineSnapshot(`null`); }); it('renders with only adds and deletes specified', () => { const tree = renderer.create().toJSON(); expect(tree).toMatchInlineSnapshot(` `); }); it('renders with adds, deletes and labels (plural/singular) specified', () => { const tree = renderer .create() .toJSON(); expect(tree).toMatchInlineSnapshot(` `); }); it('renders with custom labelFunction specified', () => { const tree = renderer .create( , ) .toJSON(); expect(tree).toMatchInlineSnapshot(` `); }); it('checks if onClick has been called', () => { const onClick = jest.fn(); render( , ); fireEvent.click(screen.getByText('You have 2 new notifications')); expect(onClick).toHaveBeenCalledTimes(1); }); });