import { render } from '@testing-library/react'; import { SerialConsole } from './SerialConsole'; import { constants } from '../common/constants'; const { CONNECTED, DISCONNECTED, LOADING } = constants; describe('SerialConsole', () => { beforeAll(() => { window.HTMLCanvasElement.prototype.getContext = () => ({ canvas: {} } as any); }); test('in the LOADING state', () => { const { asFragment } = render( ); expect(asFragment()).toMatchSnapshot(); }); test('in the DISCONNECTED state', () => { const { asFragment } = render( ); expect(asFragment()).toMatchSnapshot(); }); describe('with CONNECTED state', () => { beforeAll(() => { window.HTMLCanvasElement.prototype.getContext = () => ({ canvas: {}, createLinearGradient: jest.fn(), fillRect: jest.fn() } as any); global.window.matchMedia = () => ({ addListener: jest.fn(), removeListener: jest.fn(), matches: true, media: undefined, onchange: jest.fn(), addEventListener: jest.fn(), removeEventListener: jest.fn(), dispatchEvent: jest.fn() }); }); test('renders', () => { const { asFragment } = render( ); expect(asFragment()).toMatchSnapshot(); }); }); });