From bafc15d2b8b17b44c54ffb61c4dda7db980e1869 Mon Sep 17 00:00:00 2001 From: gitstart-twenty <140154534+gitstart-twenty@users.noreply.github.com> Date: Fri, 19 Jan 2024 12:38:56 +0100 Subject: [PATCH] Add tests for `modules/ui/layout/tab` (#3535) Co-authored-by: gitstart-twenty Co-authored-by: v1b3m Co-authored-by: FellipeMTX --- .../tab/hooks/__tests__/useTabList.test.tsx | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 packages/twenty-front/src/modules/ui/layout/tab/hooks/__tests__/useTabList.test.tsx diff --git a/packages/twenty-front/src/modules/ui/layout/tab/hooks/__tests__/useTabList.test.tsx b/packages/twenty-front/src/modules/ui/layout/tab/hooks/__tests__/useTabList.test.tsx new file mode 100644 index 000000000..986e243bf --- /dev/null +++ b/packages/twenty-front/src/modules/ui/layout/tab/hooks/__tests__/useTabList.test.tsx @@ -0,0 +1,35 @@ +import { act } from 'react-dom/test-utils'; +import { renderHook } from '@testing-library/react'; +import { RecoilRoot, useRecoilValue } from 'recoil'; + +import { useTabList } from '../useTabList'; + +describe('useTabList', () => { + it('Should update the activeTabId state', async () => { + const { result } = renderHook( + () => { + const { getActiveTabIdState, setActiveTabId } = + useTabList('TEST_TAB_LIST_ID'); + const activeTabId = useRecoilValue(getActiveTabIdState()); + + return { + getActiveTabIdState: getActiveTabIdState, + activeTabId, + setActiveTabId: setActiveTabId, + }; + }, + { + wrapper: RecoilRoot, + }, + ); + expect(result.current.getActiveTabIdState).toBeInstanceOf(Function); + expect(result.current.setActiveTabId).toBeInstanceOf(Function); + expect(result.current.activeTabId).toBeNull(); + + act(() => { + result.current.setActiveTabId('test-value'); + }); + + expect(result.current.activeTabId).toBe('test-value'); + }); +});