// SPDX-License-Identifier: MIT // Copyright (c) 2021-2022 The Pybricks Authors import { getByLabelText, waitForElementToBeRemoved } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; import React from 'react'; import { testRender } from '../../test'; import AboutDialog from './AboutDialog'; it('should close when the button is clicked', () => { const close = jest.fn(); const [dialog] = testRender(); userEvent.click(dialog.getByLabelText('Close')); expect(close).toHaveBeenCalled(); }); it('should manage license dialog open/close', async () => { const [dialog] = testRender( undefined} />, ); userEvent.click(dialog.getByText('Software Licenses')); expect( dialog.getByText( `${process.env.REACT_APP_NAME} is built on open source software.`, { exact: false, }, ), ).toBeInTheDocument(); const licenseDialog = document.querySelector( '.pb-license-dialog', ) as HTMLDivElement; userEvent.click(getByLabelText(licenseDialog, 'Close')); await waitForElementToBeRemoved(() => dialog.queryByText( `${process.env.REACT_APP_NAME} is built on open source software.`, { exact: false, }, ), ); });