7338 refactor actionbar and contextmenu to use the context store (#7462)
Closes #7338
This commit is contained in:
@ -1,5 +1,6 @@
|
||||
import { renderHook } from '@testing-library/react';
|
||||
|
||||
import { ObjectMetadataItemNotFoundError } from '@/object-metadata/errors/ObjectMetadataNotFoundError';
|
||||
import { useObjectMetadataItem } from '@/object-metadata/hooks/useObjectMetadataItem';
|
||||
import { getJestMetadataAndApolloMocksWrapper } from '~/testing/jest/getJestMetadataAndApolloMocksWrapper';
|
||||
import { generatedMockObjectMetadataItems } from '~/testing/mock-data/generatedMockObjectMetadataItems';
|
||||
@ -25,4 +26,15 @@ describe('useObjectMetadataItem', () => {
|
||||
|
||||
expect(objectMetadataItem.id).toBe(opportunityObjectMetadata?.id);
|
||||
});
|
||||
|
||||
it('should throw an error when invalid object name singular is provided', async () => {
|
||||
expect(() =>
|
||||
renderHook(
|
||||
() => useObjectMetadataItem({ objectNameSingular: 'invalid-object' }),
|
||||
{
|
||||
wrapper: Wrapper,
|
||||
},
|
||||
),
|
||||
).toThrow(ObjectMetadataItemNotFoundError);
|
||||
});
|
||||
});
|
||||
|
||||
@ -0,0 +1,44 @@
|
||||
import { renderHook } from '@testing-library/react';
|
||||
|
||||
import { ObjectMetadataItemNotFoundError } from '@/object-metadata/errors/ObjectMetadataNotFoundError';
|
||||
import { useObjectMetadataItemById } from '@/object-metadata/hooks/useObjectMetadataItemById';
|
||||
import { getJestMetadataAndApolloMocksWrapper } from '~/testing/jest/getJestMetadataAndApolloMocksWrapper';
|
||||
import { generatedMockObjectMetadataItems } from '~/testing/mock-data/generatedMockObjectMetadataItems';
|
||||
|
||||
const Wrapper = getJestMetadataAndApolloMocksWrapper({
|
||||
apolloMocks: [],
|
||||
});
|
||||
|
||||
describe('useObjectMetadataItemById', () => {
|
||||
const opportunityObjectMetadata = generatedMockObjectMetadataItems.find(
|
||||
(item) => item.nameSingular === 'opportunity',
|
||||
);
|
||||
|
||||
if (!opportunityObjectMetadata) {
|
||||
throw new Error('Opportunity object metadata not found');
|
||||
}
|
||||
|
||||
it('should return correct properties', async () => {
|
||||
const { result } = renderHook(
|
||||
() =>
|
||||
useObjectMetadataItemById({
|
||||
objectId: opportunityObjectMetadata.id,
|
||||
}),
|
||||
{
|
||||
wrapper: Wrapper,
|
||||
},
|
||||
);
|
||||
|
||||
const { objectMetadataItem } = result.current;
|
||||
|
||||
expect(objectMetadataItem.id).toBe(opportunityObjectMetadata.id);
|
||||
});
|
||||
|
||||
it('should throw an error when invalid ID is provided', async () => {
|
||||
expect(() =>
|
||||
renderHook(() => useObjectMetadataItemById({ objectId: 'invalid-id' }), {
|
||||
wrapper: Wrapper,
|
||||
}),
|
||||
).toThrow(ObjectMetadataItemNotFoundError);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user