refactor: validate objectMetadataItem with Zod on creation and update… (#4270)
* refactor: validate objectMetadataItem with Zod on creation and update & remove logic from useObjectMetadataItemForSettings * refactor: review
This commit is contained in:
@ -3,14 +3,14 @@ import { MockedProvider } from '@apollo/client/testing';
|
||||
import { act, renderHook } from '@testing-library/react';
|
||||
import { RecoilRoot } from 'recoil';
|
||||
|
||||
import { useCreateOneObjectRecordMetadataItem } from '@/object-metadata/hooks/useCreateOneObjectMetadataItem';
|
||||
import { useCreateOneObjectMetadataItem } from '@/object-metadata/hooks/useCreateOneObjectMetadataItem';
|
||||
|
||||
import { TestApolloMetadataClientProvider } from '../__mocks__/ApolloMetadataClientProvider';
|
||||
import {
|
||||
query,
|
||||
responseData,
|
||||
variables,
|
||||
} from '../__mocks__/useCreateOneObjectRecordMetadataItem';
|
||||
} from '../__mocks__/useCreateOneObjectMetadataItem';
|
||||
|
||||
const mocks = [
|
||||
{
|
||||
@ -36,21 +36,19 @@ const Wrapper = ({ children }: { children: ReactNode }) => (
|
||||
</RecoilRoot>
|
||||
);
|
||||
|
||||
describe('useCreateOneObjectRecordMetadataItem', () => {
|
||||
describe('useCreateOneObjectMetadataItem', () => {
|
||||
it('should work as expected', async () => {
|
||||
const { result } = renderHook(
|
||||
() => useCreateOneObjectRecordMetadataItem(),
|
||||
{
|
||||
wrapper: Wrapper,
|
||||
},
|
||||
);
|
||||
const { result } = renderHook(() => useCreateOneObjectMetadataItem(), {
|
||||
wrapper: Wrapper,
|
||||
});
|
||||
|
||||
await act(async () => {
|
||||
const res = await result.current.createOneObjectMetadataItem({
|
||||
icon: 'IconPlus',
|
||||
labelPlural: 'View Filters',
|
||||
labelSingular: 'View Filter',
|
||||
nameSingular: 'viewFilter',
|
||||
namePlural: 'viewFilters',
|
||||
nameSingular: 'viewFilter',
|
||||
});
|
||||
|
||||
expect(res.data).toEqual({ createOneObject: responseData });
|
||||
@ -103,28 +103,4 @@ describe('useObjectMetadataItemForSettings', () => {
|
||||
expect(res?.namePlural).toBe('opportunities');
|
||||
});
|
||||
});
|
||||
|
||||
it('should editObjectMetadataItem', async () => {
|
||||
const { result } = renderHook(
|
||||
() => {
|
||||
const setMetadataItems = useSetRecoilState(objectMetadataItemsState);
|
||||
setMetadataItems(mockObjectMetadataItems);
|
||||
|
||||
return useObjectMetadataItemForSettings();
|
||||
},
|
||||
{
|
||||
wrapper: Wrapper,
|
||||
},
|
||||
);
|
||||
|
||||
await act(async () => {
|
||||
const res = await result.current.editObjectMetadataItem({
|
||||
id: 'idToUpdate',
|
||||
description: 'newDescription',
|
||||
labelPlural: 'labelPlural',
|
||||
labelSingular: 'labelSingular',
|
||||
});
|
||||
expect(res.data).toEqual({ updateOneObject: responseData });
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user