Webhook wip (#6371)
This PR introduces the following changes: - Add the ability to filter webhooks by objectSingularName and Actions - Refactor SettingsWebhookDetails edition to not use react-hook-form (which will be deprecated on the whole project) - Updating the tests with a complex set of mock (we just need to fix ~30 of them now :D) <img width="1053" alt="image" src="https://github.com/user-attachments/assets/4e56d972-f129-4789-8d1c-4b5797a8ffd7">
This commit is contained in:
@ -28,12 +28,15 @@ describe('filterOutInvalidTimelineActivities', () => {
|
||||
] as TimelineActivity[];
|
||||
|
||||
const mainObjectMetadataItem = {
|
||||
nameSingular: 'objectNameSingular',
|
||||
namePlural: 'objectNamePlural',
|
||||
fields: [{ name: 'field1' }, { name: 'field2' }, { name: 'field3' }],
|
||||
} as ObjectMetadataItem;
|
||||
|
||||
const filteredEvents = filterOutInvalidTimelineActivities(
|
||||
events,
|
||||
mainObjectMetadataItem,
|
||||
'objectNameSingular',
|
||||
[mainObjectMetadataItem],
|
||||
);
|
||||
|
||||
expect(filteredEvents).toEqual([
|
||||
@ -85,7 +88,8 @@ describe('filterOutInvalidTimelineActivities', () => {
|
||||
|
||||
const filteredEvents = filterOutInvalidTimelineActivities(
|
||||
events,
|
||||
mainObjectMetadataItem,
|
||||
'objectNameSingular',
|
||||
[mainObjectMetadataItem],
|
||||
);
|
||||
|
||||
expect(filteredEvents).toEqual([]);
|
||||
@ -109,7 +113,8 @@ describe('filterOutInvalidTimelineActivities', () => {
|
||||
|
||||
const filteredEvents = filterOutInvalidTimelineActivities(
|
||||
events,
|
||||
mainObjectMetadataItem,
|
||||
'objectNameSingular',
|
||||
[mainObjectMetadataItem],
|
||||
);
|
||||
|
||||
expect(filteredEvents).toEqual(events);
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -1,10 +1,10 @@
|
||||
import { ReactNode } from 'react';
|
||||
import { renderHook } from '@testing-library/react';
|
||||
import { ReactNode } from 'react';
|
||||
import { RecoilRoot } from 'recoil';
|
||||
|
||||
import {
|
||||
phoneFieldDefinition,
|
||||
ratingfieldDefinition,
|
||||
ratingFieldDefinition,
|
||||
} from '@/object-record/record-field/__mocks__/fieldDefinitions';
|
||||
import { FieldContext } from '@/object-record/record-field/contexts/FieldContext';
|
||||
import { useIsFieldInputOnly } from '@/object-record/record-field/hooks/useIsFieldInputOnly';
|
||||
@ -28,7 +28,7 @@ const getWrapper =
|
||||
</FieldContext.Provider>
|
||||
);
|
||||
|
||||
const RatingWrapper = getWrapper(ratingfieldDefinition);
|
||||
const RatingWrapper = getWrapper(ratingFieldDefinition);
|
||||
const PhoneWrapper = getWrapper(phoneFieldDefinition);
|
||||
|
||||
describe('useIsFieldInputOnly', () => {
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { Controller, useFormContext } from 'react-hook-form';
|
||||
import omit from 'lodash.omit';
|
||||
import { Controller, useFormContext } from 'react-hook-form';
|
||||
import { z } from 'zod';
|
||||
|
||||
import { FieldMetadataItem } from '@/object-metadata/types/FieldMetadataItem';
|
||||
|
||||
@ -42,9 +42,7 @@ describe('getFieldPreviewValue', () => {
|
||||
|
||||
// Then
|
||||
expect(result).toBe(2000);
|
||||
expect(result).toBe(
|
||||
getSettingsFieldTypeConfig(FieldMetadataType.Number)?.defaultValue,
|
||||
);
|
||||
expect(result).toBe(getSettingsFieldTypeConfig(FieldMetadataType.Number));
|
||||
});
|
||||
|
||||
it('returns null if the field is supported in Settings but has no pre-configured placeholder defaultValue', () => {
|
||||
|
||||
@ -4,7 +4,6 @@ import { Link } from 'react-router-dom';
|
||||
|
||||
const StyledUndecoratedLink = styled(Link)`
|
||||
text-decoration: none;
|
||||
width: 100%;
|
||||
`;
|
||||
|
||||
type UndecoratedLinkProps = {
|
||||
|
||||
Reference in New Issue
Block a user