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

@ -13,7 +13,7 @@ import { SelectHotkeyScope } from '../types/SelectHotkeyScope';
export type SelectProps<Value extends string | number | null> = {
className?: string;
disabled?: boolean;
dropdownScopeId: string;
dropdownId: string;
fullWidth?: boolean;
label?: string;
onChange?: (value: Value) => void;
@ -62,7 +62,7 @@ const StyledIconChevronDown = styled(IconChevronDown)<{ disabled?: boolean }>`
export const Select = <Value extends string | number | null>({
className,
disabled,
dropdownScopeId,
dropdownId,
fullWidth,
label,
onChange,
@ -73,7 +73,7 @@ export const Select = <Value extends string | number | null>({
const selectedOption =
options.find(({ value: key }) => key === value) || options[0];
const { closeDropdown } = useDropdown(dropdownScopeId);
const { closeDropdown } = useDropdown(dropdownId);
const selectControl = (
<StyledControlContainer disabled={disabled} fullWidth={fullWidth}>
@ -100,7 +100,7 @@ export const Select = <Value extends string | number | null>({
<div className={className}>
{!!label && <StyledLabel>{label}</StyledLabel>}
<Dropdown
dropdownId="select"
dropdownId={dropdownId}
dropdownMenuWidth={176}
dropdownPlacement="bottom-start"
clickableComponent={selectControl}

View File

@ -24,7 +24,7 @@ const meta: Meta<typeof Select> = {
component: Select,
decorators: [ComponentDecorator],
args: {
dropdownScopeId: 'select',
dropdownId: 'select',
value: 'a',
options: [
{ value: 'a', label: 'Option A' },

View File

@ -0,0 +1,41 @@
import { act } from 'react-dom/test-utils';
import { renderHook } from '@testing-library/react';
import { RecoilRoot } from 'recoil';
import { Icon123, IconApps } from '@/ui/display/icon';
import { useIconPicker } from '@/ui/input/hooks/useIconPicker';
describe('useIconPicker', () => {
it('should return correct iconPickerState', async () => {
const { result } = renderHook(() => useIconPicker(), {
wrapper: RecoilRoot,
});
const { Icon, iconKey, setIconPicker } = result.current;
expect(Icon).toEqual(IconApps);
expect(iconKey).toEqual('IconApps');
expect(setIconPicker).toBeInstanceOf(Function);
});
it('should update the icon', async () => {
const { result } = renderHook(() => useIconPicker(), {
wrapper: RecoilRoot,
});
const { Icon, iconKey, setIconPicker } = result.current;
expect(Icon).toEqual(IconApps);
expect(iconKey).toEqual('IconApps');
expect(setIconPicker).toBeInstanceOf(Function);
await act(async () => {
result.current.setIconPicker({ Icon: Icon123, iconKey: 'Icon123' });
});
const { Icon: UpdatedIcon, iconKey: updatedIconKey } = result.current;
expect(UpdatedIcon).toEqual(Icon123);
expect(updatedIconKey).toEqual('Icon123');
});
});