From 48ef68caa8935dfd89c7b4fd2993e505eee02cba Mon Sep 17 00:00:00 2001 From: Tomasz Szuba Date: Fri, 15 Mar 2024 15:22:03 +0100 Subject: [PATCH] Fix copyToClipboard tests Signed-off-by: Tomasz Szuba --- .../reader/transformers/copyToClipboard.test.ts | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/plugins/techdocs/src/reader/transformers/copyToClipboard.test.ts b/plugins/techdocs/src/reader/transformers/copyToClipboard.test.ts index 70be7e50f0..a4acbd8ec8 100644 --- a/plugins/techdocs/src/reader/transformers/copyToClipboard.test.ts +++ b/plugins/techdocs/src/reader/transformers/copyToClipboard.test.ts @@ -18,7 +18,7 @@ import { createTestShadowDom } from '../../test-utils'; import { copyToClipboard } from './copyToClipboard'; import { lightTheme } from '@backstage/theme'; import { act, waitFor } from '@testing-library/react'; -import useCopyToClipboard from 'react-use/esm/useCopyToClipboard'; +import { default as useCopyToClipboardUnmocked } from 'react-use/esm/useCopyToClipboard'; const clipboardSpy = jest.fn(); Object.defineProperty(window.navigator, 'clipboard', { @@ -27,20 +27,17 @@ Object.defineProperty(window.navigator, 'clipboard', { }, }); -jest.mock('react-use/lib/useCopyToClipboard', () => { - const original = jest.requireActual('react-use/lib/useCopyToClipboard'); +const useCopyToClipboard = jest.mocked(useCopyToClipboardUnmocked); - return { - __esModule: true, - default: jest.fn().mockImplementation(original.default), - }; -}); +jest.mock('react-use/esm/useCopyToClipboard', () => + jest.fn().mockImplementation(() => [{ noUserInteraction: false }, jest.fn()]), +); describe('copyToClipboard', () => { it('calls navigator.clipboard.writeText when clipboard button has been clicked', async () => { - const spy = useCopyToClipboard as jest.Mock; + const spy = useCopyToClipboard; const copy = jest.fn(); - spy.mockReturnValue([{}, copy]); + spy.mockReturnValue([{ noUserInteraction: false }, copy]); const expectedClipboard = 'function foo() {return "bar";}';