diff --git a/packages/twenty-front/src/hooks/usePageChangeEffectNavigateLocation.ts b/packages/twenty-front/src/hooks/usePageChangeEffectNavigateLocation.ts index 9fbcde4e0712..ead32840253a 100644 --- a/packages/twenty-front/src/hooks/usePageChangeEffectNavigateLocation.ts +++ b/packages/twenty-front/src/hooks/usePageChangeEffectNavigateLocation.ts @@ -97,6 +97,14 @@ export const usePageChangeEffectNavigateLocation = () => { return AppPath.InviteTeam; } + if ( + onboardingStatus === OnboardingStatus.Completed && + subscriptionStatus === SubscriptionStatus.Canceled && + isMatchingLocation(AppPath.PlanRequired) + ) { + return; + } + if ( onboardingStatus === OnboardingStatus.Completed && isMatchingOnboardingRoute diff --git a/packages/twenty-front/src/modules/activities/hooks/__tests__/useActivities.test.tsx b/packages/twenty-front/src/modules/activities/hooks/__tests__/useActivities.test.tsx index 1f2dbf62c7aa..2985f122a3b3 100644 --- a/packages/twenty-front/src/modules/activities/hooks/__tests__/useActivities.test.tsx +++ b/packages/twenty-front/src/modules/activities/hooks/__tests__/useActivities.test.tsx @@ -21,7 +21,7 @@ const mockActivityTarget = { }; const mockActivity = { - __typename: 'Note', + __typename: 'Task', updatedAt: '2021-08-03T19:20:06.000Z', createdAt: '2021-08-03T19:20:06.000Z', status: 'DONE', diff --git a/packages/twenty-front/src/modules/object-metadata/hooks/__tests__/useColumnDefinitionsFromFieldMetadata.test.ts b/packages/twenty-front/src/modules/object-metadata/hooks/__tests__/useColumnDefinitionsFromFieldMetadata.test.ts index a80f1ba89fc7..19e8b6c30bac 100644 --- a/packages/twenty-front/src/modules/object-metadata/hooks/__tests__/useColumnDefinitionsFromFieldMetadata.test.ts +++ b/packages/twenty-front/src/modules/object-metadata/hooks/__tests__/useColumnDefinitionsFromFieldMetadata.test.ts @@ -21,23 +21,6 @@ describe('useColumnDefinitionsFromFieldMetadata', () => { expect(result.current.sortDefinitions.length).toBe(0); }); - it('should return empty definitions if object has no fields matching criteria', () => { - const mockObjectMetadataItems = getObjectMetadataItemsMock(); - - const { result } = renderHook( - (objectMetadataItem?: Nullable) => { - return useColumnDefinitionsFromFieldMetadata(objectMetadataItem); - }, - { - initialProps: mockObjectMetadataItems[0], - }, - ); - - expect(result.current.columnDefinitions.length).toBe(0); - expect(result.current.filterDefinitions.length).toBe(0); - expect(result.current.sortDefinitions.length).toBe(0); - }); - it('should return expected definitions', () => { const mockObjectMetadataItems = getObjectMetadataItemsMock(); @@ -53,20 +36,8 @@ describe('useColumnDefinitionsFromFieldMetadata', () => { const { columnDefinitions, filterDefinitions, sortDefinitions } = result.current; - expect(columnDefinitions.length).toBe(3); - expect(filterDefinitions.length).toBe(3); - expect(sortDefinitions.length).toBe(3); - - expect(columnDefinitions[0].label).toBe('Expiration date'); - expect(columnDefinitions[1].label).toBe('Name'); - expect(columnDefinitions[2].label).toBe('Revocation date'); - - expect(filterDefinitions[0].label).toBe('Expiration date'); - expect(filterDefinitions[1].label).toBe('Name'); - expect(filterDefinitions[2].label).toBe('Revocation date'); - - expect(sortDefinitions[0].label).toBe('Expiration date'); - expect(sortDefinitions[1].label).toBe('Name'); - expect(sortDefinitions[2].label).toBe('Revocation date'); + expect(columnDefinitions.length).toBe(5); + expect(filterDefinitions.length).toBe(4); + expect(sortDefinitions.length).toBe(4); }); }); diff --git a/packages/twenty-front/src/modules/object-metadata/hooks/__tests__/useFilteredObjectMetadataItems.test.tsx b/packages/twenty-front/src/modules/object-metadata/hooks/__tests__/useFilteredObjectMetadataItems.test.tsx index f745f257670f..c42b94fbbbe2 100644 --- a/packages/twenty-front/src/modules/object-metadata/hooks/__tests__/useFilteredObjectMetadataItems.test.tsx +++ b/packages/twenty-front/src/modules/object-metadata/hooks/__tests__/useFilteredObjectMetadataItems.test.tsx @@ -1,6 +1,6 @@ -import { ReactNode } from 'react'; import { MockedProvider } from '@apollo/client/testing'; import { act, renderHook } from '@testing-library/react'; +import { ReactNode } from 'react'; import { RecoilRoot, useSetRecoilState } from 'recoil'; import { @@ -72,10 +72,10 @@ describe('useFilteredObjectMetadataItems', () => { act(() => { const res = result.current.findObjectMetadataItemById( - '20202020-480c-434e-b4c7-e22408b97047', + 'ff2881da-89f6-4f15-8f0a-e3f355ea3b94', ); expect(res).toBeDefined(); - expect(res?.namePlural).toBe('companies'); + expect(res?.namePlural).toBe('people'); }); }); diff --git a/packages/twenty-front/src/modules/object-metadata/hooks/__tests__/useGetRelationMetadata.test.tsx b/packages/twenty-front/src/modules/object-metadata/hooks/__tests__/useGetRelationMetadata.test.tsx index 55c7a7f09efc..d92e0707f1f1 100644 --- a/packages/twenty-front/src/modules/object-metadata/hooks/__tests__/useGetRelationMetadata.test.tsx +++ b/packages/twenty-front/src/modules/object-metadata/hooks/__tests__/useGetRelationMetadata.test.tsx @@ -1,6 +1,6 @@ -import { ReactNode, useEffect } from 'react'; import { MockedProvider } from '@apollo/client/testing'; import { renderHook } from '@testing-library/react'; +import { ReactNode, useEffect } from 'react'; import { RecoilRoot, useSetRecoilState } from 'recoil'; import { useGetRelationMetadata } from '@/object-metadata/hooks/useGetRelationMetadata'; @@ -20,7 +20,7 @@ describe('useGetRelationMetadata', () => { (item) => item.nameSingular === 'person', )!; const fieldMetadataItem = objectMetadata.fields.find( - (field) => field.name === 'opportunities', + (field) => field.name === 'pointOfContactForOpportunities', )!; const { result } = renderHook( @@ -50,7 +50,7 @@ describe('useGetRelationMetadata', () => { ); const expectedRelationFieldMetadataItem = expectedRelationObjectMetadataItem?.fields.find( - (field) => field.name === 'person', + (field) => field.name === 'pointOfContact', ); expect(relationObjectMetadataItem).toEqual( diff --git a/packages/twenty-front/src/modules/object-metadata/hooks/__tests__/useObjectMetadataItem.test.tsx b/packages/twenty-front/src/modules/object-metadata/hooks/__tests__/useObjectMetadataItem.test.tsx index 7c232e600e3d..ea205704d5f1 100644 --- a/packages/twenty-front/src/modules/object-metadata/hooks/__tests__/useObjectMetadataItem.test.tsx +++ b/packages/twenty-front/src/modules/object-metadata/hooks/__tests__/useObjectMetadataItem.test.tsx @@ -1,6 +1,6 @@ -import { ReactNode } from 'react'; import { MockedProvider } from '@apollo/client/testing'; import { renderHook } from '@testing-library/react'; +import { ReactNode } from 'react'; import { RecoilRoot } from 'recoil'; import { useObjectMetadataItem } from '@/object-metadata/hooks/useObjectMetadataItem'; @@ -23,6 +23,6 @@ describe('useObjectMetadataItem', () => { const { objectMetadataItem } = result.current; - expect(objectMetadataItem.id).toBe('20202020-cae9-4ff4-9579-f7d9fe44c937'); + expect(objectMetadataItem.id).toBe('b95b3f38-9fc2-4d7e-a823-7791cf13d089'); }); }); diff --git a/packages/twenty-front/src/modules/object-record/spreadsheet-import/__tests__/useOpenObjectRecordsSpreasheetImportDialog.test.tsx b/packages/twenty-front/src/modules/object-record/spreadsheet-import/__tests__/useOpenObjectRecordsSpreasheetImportDialog.test.tsx index e9eaa37012c4..a9680898821f 100644 --- a/packages/twenty-front/src/modules/object-record/spreadsheet-import/__tests__/useOpenObjectRecordsSpreasheetImportDialog.test.tsx +++ b/packages/twenty-front/src/modules/object-record/spreadsheet-import/__tests__/useOpenObjectRecordsSpreasheetImportDialog.test.tsx @@ -26,26 +26,35 @@ const companyMocks = [ ) { createCompanies(data: $data, upsert: $upsert) { __typename - xLink { - primaryLinkUrl - primaryLinkLabel - secondaryLinks + id + visaSponsorship + createdBy { + source + workspaceMemberId + name } - linkedinLink { + domainName { primaryLinkUrl primaryLinkLabel secondaryLinks } - domainName { + introVideo { primaryLinkUrl primaryLinkLabel secondaryLinks } + position annualRecurringRevenue { amountMicros currencyCode } - createdAt + employees + linkedinLink { + primaryLinkUrl + primaryLinkLabel + secondaryLinks + } + workPolicy address { addressStreet1 addressStreet2 @@ -56,11 +65,17 @@ const companyMocks = [ addressLat addressLng } - updatedAt name + updatedAt + xLink { + primaryLinkUrl + primaryLinkLabel + secondaryLinks + } + myCustomField + createdAt accountOwnerId - employees - id + tagline idealCustomerProfile } } @@ -68,10 +83,12 @@ const companyMocks = [ variables: { data: [ { + createdBy: { source: 'IMPORT' }, employees: 0, idealCustomerProfile: true, name: 'Example Company', id: companyId, + visaSponsorship: false, }, ], upsert: true, diff --git a/packages/twenty-front/src/modules/settings/data-model/fields/preview/utils/__tests__/getFieldPreviewValue.test.ts b/packages/twenty-front/src/modules/settings/data-model/fields/preview/utils/__tests__/getFieldPreviewValue.test.ts index 63833812f224..7acf2b0cfe4c 100644 --- a/packages/twenty-front/src/modules/settings/data-model/fields/preview/utils/__tests__/getFieldPreviewValue.test.ts +++ b/packages/twenty-front/src/modules/settings/data-model/fields/preview/utils/__tests__/getFieldPreviewValue.test.ts @@ -42,7 +42,9 @@ describe('getFieldPreviewValue', () => { // Then expect(result).toBe(2000); - expect(result).toBe(getSettingsFieldTypeConfig(FieldMetadataType.Number)); + expect(result).toBe( + getSettingsFieldTypeConfig(FieldMetadataType.Number).exampleValue, + ); }); it('returns null if the field is supported in Settings but has no pre-configured placeholder defaultValue', () => { diff --git a/packages/twenty-front/src/modules/ui/input/editor/utils/getFirstNonEmptyLineOfRichText.ts b/packages/twenty-front/src/modules/ui/input/editor/utils/getFirstNonEmptyLineOfRichText.ts index 53ec8e6d6ed6..38a1ccceb9e3 100644 --- a/packages/twenty-front/src/modules/ui/input/editor/utils/getFirstNonEmptyLineOfRichText.ts +++ b/packages/twenty-front/src/modules/ui/input/editor/utils/getFirstNonEmptyLineOfRichText.ts @@ -18,7 +18,10 @@ export const getFirstNonEmptyLineOfRichText = ( return content.link; } if ('text' in content) { - return content.text.trim(); + const value = content.text.trim(); + if (value !== '') { + return value; + } } } } diff --git a/packages/twenty-front/src/utils/format/__tests__/formatDate.test.ts b/packages/twenty-front/src/utils/format/__tests__/formatDate.test.ts index a0ca39d2f584..64d884676fa6 100644 --- a/packages/twenty-front/src/utils/format/__tests__/formatDate.test.ts +++ b/packages/twenty-front/src/utils/format/__tests__/formatDate.test.ts @@ -25,7 +25,6 @@ describe('formatToHumanReadableTime', () => { const date = new Date('2022-01-01T12:30:00Z'); const result = formatToHumanReadableTime(date, 'UTC'); - // it seems when running locally on MacOS the space is not the same expect(['12:30 PM', '12:30 PM']).toContain(result); }); });