From 66dfb03b86e9b44d0b479629104982dfb2f0fcab Mon Sep 17 00:00:00 2001 From: Wiktor Czajkowski Date: Thu, 14 Nov 2024 15:38:16 +0100 Subject: [PATCH 1/5] add data-testid to Progress placeholder Signed-off-by: Wiktor Czajkowski --- .../src/components/Progress/Progress.test.tsx | 9 +++++++-- .../core-components/src/components/Progress/Progress.tsx | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/packages/core-components/src/components/Progress/Progress.test.tsx b/packages/core-components/src/components/Progress/Progress.test.tsx index d4057c1675..f060ff0ea0 100644 --- a/packages/core-components/src/components/Progress/Progress.test.tsx +++ b/packages/core-components/src/components/Progress/Progress.test.tsx @@ -23,12 +23,17 @@ import { Progress } from './Progress'; describe('', () => { it('renders without exploding', async () => { jest.useFakeTimers(); - const { getByTestId, queryByTestId } = await renderInTestApp(); + const { getByTestId, queryByTestId, debug } = await renderInTestApp( + , + ); + debug(); + expect(queryByTestId('progress-placeholder')).toBeInTheDocument(); expect(queryByTestId('progress')).not.toBeInTheDocument(); act(() => { jest.advanceTimersByTime(250); }); - expect(getByTestId('progress')).toBeInTheDocument(); + expect(queryByTestId('progress-placeholder')).not.toBeInTheDocument(); + expect(queryByTestId('progress')).toBeInTheDocument(); jest.useRealTimers(); }); }); diff --git a/packages/core-components/src/components/Progress/Progress.tsx b/packages/core-components/src/components/Progress/Progress.tsx index 6d1281edd5..171d8210bd 100644 --- a/packages/core-components/src/components/Progress/Progress.tsx +++ b/packages/core-components/src/components/Progress/Progress.tsx @@ -36,6 +36,6 @@ export function Progress(props: PropsWithChildren) { return isVisible ? ( ) : ( - + ); } From e47be38e925994d77bc60e7e9fcb599152e7ddd5 Mon Sep 17 00:00:00 2001 From: Wiktor Czajkowski Date: Thu, 14 Nov 2024 15:51:09 +0100 Subject: [PATCH 2/5] changeset Signed-off-by: Wiktor Czajkowski --- .changeset/thick-items-bathe.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/thick-items-bathe.md diff --git a/.changeset/thick-items-bathe.md b/.changeset/thick-items-bathe.md new file mode 100644 index 0000000000..455718ed1c --- /dev/null +++ b/.changeset/thick-items-bathe.md @@ -0,0 +1,5 @@ +--- +'@backstage/core-components': patch +--- + +Added data-testid to placeholder rendered by Progress component to simplify assertions in tests From 0e97bd22a0e20b136f50984748b566eed0d2e14a Mon Sep 17 00:00:00 2001 From: Wiktor Czajkowski Date: Thu, 14 Nov 2024 15:58:59 +0100 Subject: [PATCH 3/5] fix test Signed-off-by: Wiktor Czajkowski --- .../src/components/Progress/Progress.test.tsx | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/packages/core-components/src/components/Progress/Progress.test.tsx b/packages/core-components/src/components/Progress/Progress.test.tsx index f060ff0ea0..aad9b2c83a 100644 --- a/packages/core-components/src/components/Progress/Progress.test.tsx +++ b/packages/core-components/src/components/Progress/Progress.test.tsx @@ -23,10 +23,7 @@ import { Progress } from './Progress'; describe('', () => { it('renders without exploding', async () => { jest.useFakeTimers(); - const { getByTestId, queryByTestId, debug } = await renderInTestApp( - , - ); - debug(); + const { queryByTestId } = await renderInTestApp(); expect(queryByTestId('progress-placeholder')).toBeInTheDocument(); expect(queryByTestId('progress')).not.toBeInTheDocument(); act(() => { From 0d020e0539371d6bce8000476714b7ba272253a4 Mon Sep 17 00:00:00 2001 From: Wiktor Czajkowski Date: Tue, 19 Nov 2024 12:26:38 +0100 Subject: [PATCH 4/5] use the same testid for the placeholder Signed-off-by: Wiktor Czajkowski --- packages/core-components/src/components/Progress/Progress.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core-components/src/components/Progress/Progress.tsx b/packages/core-components/src/components/Progress/Progress.tsx index 171d8210bd..865c4673b8 100644 --- a/packages/core-components/src/components/Progress/Progress.tsx +++ b/packages/core-components/src/components/Progress/Progress.tsx @@ -36,6 +36,6 @@ export function Progress(props: PropsWithChildren) { return isVisible ? ( ) : ( - + ); } From 0de6d91b84e2e8f89037d7ff4bb454e5f7047ac5 Mon Sep 17 00:00:00 2001 From: Wiktor Czajkowski Date: Tue, 19 Nov 2024 14:21:00 +0100 Subject: [PATCH 5/5] update test Signed-off-by: Wiktor Czajkowski --- .../src/components/Progress/Progress.test.tsx | 9 --------- 1 file changed, 9 deletions(-) diff --git a/packages/core-components/src/components/Progress/Progress.test.tsx b/packages/core-components/src/components/Progress/Progress.test.tsx index aad9b2c83a..71e2e70f23 100644 --- a/packages/core-components/src/components/Progress/Progress.test.tsx +++ b/packages/core-components/src/components/Progress/Progress.test.tsx @@ -16,21 +16,12 @@ import React from 'react'; import { renderInTestApp } from '@backstage/test-utils'; -import { act } from '@testing-library/react'; import { Progress } from './Progress'; describe('', () => { it('renders without exploding', async () => { - jest.useFakeTimers(); const { queryByTestId } = await renderInTestApp(); - expect(queryByTestId('progress-placeholder')).toBeInTheDocument(); - expect(queryByTestId('progress')).not.toBeInTheDocument(); - act(() => { - jest.advanceTimersByTime(250); - }); - expect(queryByTestId('progress-placeholder')).not.toBeInTheDocument(); expect(queryByTestId('progress')).toBeInTheDocument(); - jest.useRealTimers(); }); });