From d18ad41e392cd57c8ace83166cc9fcf758d49db4 Mon Sep 17 00:00:00 2001 From: David Lechner Date: Tue, 15 Mar 2022 15:53:03 -0500 Subject: [PATCH] settings: add about dialog button test --- src/settings/SettingsDrawer.test.tsx | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/settings/SettingsDrawer.test.tsx b/src/settings/SettingsDrawer.test.tsx index 7fe01fb4..de017420 100644 --- a/src/settings/SettingsDrawer.test.tsx +++ b/src/settings/SettingsDrawer.test.tsx @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // Copyright (c) 2022 The Pybricks Authors -import { cleanup, waitFor } from '@testing-library/react'; +import { cleanup, getByLabelText, waitFor } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; import React from 'react'; import { testRender } from '../../test'; @@ -38,3 +38,23 @@ describe('showDocs setting switch', () => { await waitFor(() => expect(showDocs).not.toBeChecked()); }); }); + +describe('about dialog', () => { + it('should open the dialog when the button is clicked', async () => { + const [settings] = testRender( + undefined} />, + ); + + expect(settings.queryByRole('dialog')).toBeNull(); + + settings.getByText('About').click(); + + const dialog = settings.getByRole('dialog'); + + expect(dialog).toBeVisible(); + + getByLabelText(dialog, 'Close').click(); + + await waitFor(() => expect(dialog).not.toBeVisible()); + }); +});