From 05acd6f624b24bdc05baf33caa40f1bcdb28b5ee Mon Sep 17 00:00:00 2001 From: Tim Deschryver <28659384+timdeschryver@users.noreply.github.com> Date: Thu, 22 Feb 2024 19:16:17 +0100 Subject: [PATCH] test: add test case for #437 --- .../tests/issues/issue-435.spec.ts | 15 ++--- .../tests/issues/issue-437.spec.ts | 58 +++++++++++++++++++ 2 files changed, 64 insertions(+), 9 deletions(-) create mode 100644 projects/testing-library/tests/issues/issue-437.spec.ts diff --git a/projects/testing-library/tests/issues/issue-435.spec.ts b/projects/testing-library/tests/issues/issue-435.spec.ts index 6ca47bb..e1e420f 100644 --- a/projects/testing-library/tests/issues/issue-435.spec.ts +++ b/projects/testing-library/tests/issues/issue-435.spec.ts @@ -26,15 +26,12 @@ class DemoComponent { constructor(@Inject(DemoService) public demoService: DemoService) {} } -// Test -describe('DemoComponent', () => { - it('should render button', async () => { - await render(DemoComponent); +test('issue #435', async () => { + await render(DemoComponent); - const button = screen.getByRole('button', { - name: /Click me/, - }); - - expect(button).toBeVisible(); + const button = screen.getByRole('button', { + name: /Click me/, }); + + expect(button).toBeVisible(); }); diff --git a/projects/testing-library/tests/issues/issue-437.spec.ts b/projects/testing-library/tests/issues/issue-437.spec.ts new file mode 100644 index 0000000..2d0e7c5 --- /dev/null +++ b/projects/testing-library/tests/issues/issue-437.spec.ts @@ -0,0 +1,58 @@ +import userEvent from '@testing-library/user-event'; +import { screen, render } from '../../src/public_api'; +import { MatSidenavModule } from '@angular/material/sidenav'; + +afterEach(() => { + jest.useRealTimers(); +}); + +test('issue #437', async () => { + const user = userEvent.setup(); + await render( + ` + + + + + + +
+
+
+
+ `, + { imports: [MatSidenavModule] }, + ); + + // eslint-disable-next-line testing-library/prefer-explicit-assert + await screen.findByTestId('test-button'); + + await user.click(screen.getByTestId('test-button')); +}); + +test('issue #437 with fakeTimers', async () => { + jest.useFakeTimers(); + const user = userEvent.setup({ + advanceTimers: jest.advanceTimersByTime, + }); + await render( + ` + + + + + + +
+
+
+
+ `, + { imports: [MatSidenavModule] }, + ); + + // eslint-disable-next-line testing-library/prefer-explicit-assert + await screen.findByTestId('test-button'); + + await user.click(screen.getByTestId('test-button')); +});