Increase test coverage for /modules/ui (#3314)

* Increase test coverage for `/modules/ui`

Co-authored-by: v1b3m <vibenjamin6@gmail.com>
Co-authored-by: FellipeMTX <fellipefacdir@gmail.com>
Co-authored-by: Fellipe Montes <102544529+FellipeMTX@users.noreply.github.com>

* Merge main

Co-authored-by: v1b3m <vibenjamin6@gmail.com>
Co-authored-by: FellipeMTX <fellipefacdir@gmail.com>
Co-authored-by: Fellipe Montes <102544529+FellipeMTX@users.noreply.github.com>

* Fix tests

* Fix tests

* Fix

---------

Co-authored-by: gitstart-twenty <gitstart-twenty@users.noreply.github.com>
Co-authored-by: v1b3m <vibenjamin6@gmail.com>
Co-authored-by: FellipeMTX <fellipefacdir@gmail.com>
Co-authored-by: Fellipe Montes <102544529+FellipeMTX@users.noreply.github.com>
Co-authored-by: Charles Bochet <charles@twenty.com>
This commit is contained in:
gitstart-twenty
2024-01-11 08:51:36 +01:00
committed by GitHub
parent f34516d422
commit ebe8698910
48 changed files with 1652 additions and 55 deletions

View File

@ -0,0 +1,84 @@
import { act } from 'react-dom/test-utils';
import { renderHook } from '@testing-library/react';
import { RecoilRoot, useRecoilState, useRecoilValue } from 'recoil';
import { useSelectableListStates } from '@/ui/layout/selectable-list/hooks/internal/useSelectableListStates';
import { useSelectableList } from '@/ui/layout/selectable-list/hooks/useSelectableList';
const selectableListScopeId = 'testId';
const testArr = [['1'], ['2'], ['3']];
const emptyArr = [[]];
describe('useSelectableList', () => {
it('Should setSelectableItemIds', async () => {
const { result } = renderHook(
() => {
const { setSelectableItemIds } = useSelectableList(
selectableListScopeId,
);
const { selectableItemIdsState } = useSelectableListStates({
selectableListScopeId,
});
const selectableItemIds = useRecoilValue(selectableItemIdsState);
return {
setSelectableItemIds,
selectableItemIds,
};
},
{
wrapper: RecoilRoot,
},
);
expect(result.current.selectableItemIds).toEqual(emptyArr);
await act(async () => {
result.current.setSelectableItemIds(testArr);
});
expect(result.current.selectableItemIds).toEqual(testArr);
});
it('Should resetSelectItem', async () => {
const { result } = renderHook(
() => {
const { resetSelectedItem } = useSelectableList(selectableListScopeId);
const { selectedItemIdState } = useSelectableListStates({
selectableListScopeId,
});
const [selectedItemId, setSelectedItemId] =
useRecoilState(selectedItemIdState);
return {
resetSelectedItem,
selectedItemId,
setSelectedItemId,
};
},
{
wrapper: RecoilRoot,
},
);
const { selectedItemId, setSelectedItemId } = result.current;
expect(selectedItemId).toBeNull();
await act(async () => {
setSelectedItemId?.('stateForTestValue');
});
expect(result.current.selectedItemId).toEqual('stateForTestValue');
await act(async () => {
result.current.resetSelectedItem();
});
expect(result.current.selectedItemId).toBeNull();
});
});