@ -45,6 +45,7 @@ describe('useIsFieldEmpty', () => {
|
||||
result.current.setFieldState({
|
||||
id: 'id',
|
||||
phone: '+1 233223',
|
||||
__typename: 'Person',
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
@ -19,6 +19,7 @@ const ChipFieldValueSetterEffect = () => {
|
||||
firstName: 'Henry',
|
||||
lastName: 'Cavill',
|
||||
},
|
||||
__typename: 'Person',
|
||||
});
|
||||
}, [setEntityFields]);
|
||||
|
||||
|
||||
@ -22,7 +22,7 @@ const BooleanFieldValueSetterEffect = ({
|
||||
const setField = useSetRecoilState(recordStoreFamilyState(entityId));
|
||||
|
||||
useEffect(() => {
|
||||
setField({ id: entityId, Boolean: value });
|
||||
setField({ id: entityId, Boolean: value, __typename: 'Person' });
|
||||
}, [entityId, setField, value]);
|
||||
|
||||
return <></>;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { CurrencyFilter } from '@/object-record/record-filter/types/ObjectRecordQueryFilter';
|
||||
import { CurrencyFilter } from '@/object-record/graphql/types/RecordGqlOperationFilter';
|
||||
import { isMatchingCurrencyFilter } from '@/object-record/record-filter/utils/isMatchingCurrencyFilter';
|
||||
|
||||
describe('isMatchingCurrencyFilter', () => {
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { ObjectRecordQueryFilter } from '@/object-record/record-filter/types/ObjectRecordQueryFilter';
|
||||
import { RecordGqlOperationFilter } from '@/object-record/graphql/types/RecordGqlOperationFilter';
|
||||
import { mockedCompaniesData } from '~/testing/mock-data/companies';
|
||||
import { mockObjectMetadataItem } from '~/testing/mock-data/objectMetadataItems';
|
||||
|
||||
@ -161,7 +161,7 @@ describe('isRecordMatchingFilter', () => {
|
||||
|
||||
describe('Complex And/Or/Not Nesting', () => {
|
||||
it('matches record with a combination of and + or filters', () => {
|
||||
const filter: ObjectRecordQueryFilter = {
|
||||
const filter: RecordGqlOperationFilter = {
|
||||
and: [
|
||||
{ domainName: { eq: 'airbnb.com' } },
|
||||
{
|
||||
@ -191,7 +191,7 @@ describe('isRecordMatchingFilter', () => {
|
||||
});
|
||||
|
||||
it('matches record with nested not filter', () => {
|
||||
const filter: ObjectRecordQueryFilter = {
|
||||
const filter: RecordGqlOperationFilter = {
|
||||
not: {
|
||||
and: [
|
||||
{ name: { eq: 'Airbnb' } },
|
||||
@ -218,7 +218,7 @@ describe('isRecordMatchingFilter', () => {
|
||||
});
|
||||
|
||||
it('matches record with deep nesting of and, or, and not filters', () => {
|
||||
const filter: ObjectRecordQueryFilter = {
|
||||
const filter: RecordGqlOperationFilter = {
|
||||
and: [
|
||||
{ domainName: { eq: 'apple.com' } },
|
||||
{
|
||||
@ -245,7 +245,7 @@ describe('isRecordMatchingFilter', () => {
|
||||
});
|
||||
|
||||
it('matches record with and filter at root level', () => {
|
||||
const filter: ObjectRecordQueryFilter = {
|
||||
const filter: RecordGqlOperationFilter = {
|
||||
and: [
|
||||
{ name: { eq: 'Facebook' } },
|
||||
{ idealCustomerProfile: { eq: true } },
|
||||
@ -270,7 +270,7 @@ describe('isRecordMatchingFilter', () => {
|
||||
});
|
||||
|
||||
it('matches record with or filter at root level including a not condition', () => {
|
||||
const filter: ObjectRecordQueryFilter = {
|
||||
const filter: RecordGqlOperationFilter = {
|
||||
or: [{ name: { eq: 'Sequoia' } }, { not: { employees: { eq: 1 } } }],
|
||||
};
|
||||
|
||||
|
||||
@ -19,7 +19,7 @@ const entities = mockedPeopleData.map<EntityForSelect>((person) => ({
|
||||
name: person.name.firstName + ' ' + person.name.lastName,
|
||||
avatarUrl: person.avatarUrl,
|
||||
avatarType: 'rounded',
|
||||
record: person,
|
||||
record: { ...person, __typename: 'Person' },
|
||||
}));
|
||||
|
||||
const meta: Meta<typeof SingleEntitySelect> = {
|
||||
|
||||
@ -36,8 +36,10 @@ describe('useMultiObjectRecordsQueryResultFormattedAsObjectRecordForSelectArray'
|
||||
'e992bda7-d797-4e12-af04-9b427f42244c',
|
||||
updatedAt: '2023-11-30T11:13:15.308Z',
|
||||
createdAt: '2023-11-30T11:13:15.308Z',
|
||||
__typename: 'Opportunity',
|
||||
},
|
||||
cursor: 'cursor',
|
||||
__typename: 'OpportunityEdge',
|
||||
},
|
||||
],
|
||||
pageInfo: {},
|
||||
@ -49,8 +51,10 @@ describe('useMultiObjectRecordsQueryResultFormattedAsObjectRecordForSelectArray'
|
||||
id: personId,
|
||||
updatedAt: '2023-11-30T11:13:15.308Z',
|
||||
createdAt: '2023-11-30T11:13:15.308Z',
|
||||
__typename: 'Person',
|
||||
},
|
||||
cursor: 'cursor',
|
||||
__typename: 'PersonEdge',
|
||||
},
|
||||
],
|
||||
pageInfo: {},
|
||||
|
||||
@ -3,10 +3,18 @@ import { OrderBy } from '@/object-metadata/types/OrderBy';
|
||||
import { sortObjectRecordByDateField } from './sortObjectRecordByDateField';
|
||||
|
||||
describe('sortByObjectRecordByCreatedAt', () => {
|
||||
const recordOldest = { id: '', createdAt: '2022-01-01T00:00:00.000Z' };
|
||||
const recordNewest = { id: '', createdAt: '2022-01-02T00:00:00.000Z' };
|
||||
const recordNull1 = { id: '', createdAt: null };
|
||||
const recordNull2 = { id: '', createdAt: null };
|
||||
const recordOldest = {
|
||||
id: '',
|
||||
createdAt: '2022-01-01T00:00:00.000Z',
|
||||
__typename: 'RecordType',
|
||||
};
|
||||
const recordNewest = {
|
||||
id: '',
|
||||
createdAt: '2022-01-02T00:00:00.000Z',
|
||||
__typename: 'RecordType',
|
||||
};
|
||||
const recordNull1 = { id: '', createdAt: null, __typename: 'RecordType' };
|
||||
const recordNull2 = { id: '', createdAt: null, __typename: 'RecordType' };
|
||||
|
||||
it('should sort in ascending order with null values first', () => {
|
||||
const sortDirection = 'AscNullsFirst' satisfies OrderBy;
|
||||
|
||||
Reference in New Issue
Block a user