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'); + }); +});