Fix all broken CIs (#7439)

Fix all the broken CIs :p

This includes an ongoing effort to simplify test maintenance by having 1
unique source of truth about metadata and data mocks (that will later be
generated from a unique source of seeds: dev = demo = test)

Regressions:
- Unit line coverage: 60 > 55
- Storybook Pages branch coverage: 40 > 35
We will need to write tests to increase those coverage
- RelationFieldDisplay perf: 0.2ms to 0.22ms > We might have a
regression here
- Removed perf story about RawJSON > We will need to re-add it
This commit is contained in:
Charles Bochet
2024-10-05 00:22:38 +02:00
committed by Charles Bochet
parent bd305c8432
commit d8c4af9279
148 changed files with 4357 additions and 2536 deletions

View File

@ -87,155 +87,9 @@ export const mocks = [
mutation CreateOneFavorite($input: FavoriteCreateInput!) {
createFavorite(data: $input) {
__typename
noteId
taskId
person {
__typename
name {
firstName
lastName
}
linkedinLink {
primaryLinkUrl
primaryLinkLabel
secondaryLinks
}
deletedAt
createdAt
updatedAt
jobTitle
intro
workPrefereance
performanceRating
xLink {
primaryLinkUrl
primaryLinkLabel
secondaryLinks
}
city
companyId
phones {
primaryPhoneNumber
primaryPhoneCountryCode
additionalPhones
}
createdBy {
source
workspaceMemberId
name
}
id
position
emails {
primaryEmail
additionalEmails
}
avatarUrl
whatsapp {
primaryPhoneNumber
primaryPhoneCountryCode
additionalPhones
}
}
task {
__typename
updatedAt
createdAt
deletedAt
dueAt
id
status
body
createdBy {
source
workspaceMemberId
name
}
assigneeId
position
title
}
rocketId
viewId
updatedAt
workflowId
personId
workspaceMemberId
note {
__typename
deletedAt
id
position
updatedAt
createdBy {
source
workspaceMemberId
name
}
body
title
createdAt
}
createdAt
view {
__typename
id
type
icon
key
isCompact
kanbanFieldMetadataId
objectMetadataId
position
createdAt
deletedAt
updatedAt
name
}
opportunityId
position
deletedAt
id
companyId
workflow {
__typename
deletedAt
lastPublishedVersionId
createdAt
id
statuses
name
position
updatedAt
}
workspaceMember {
__typename
name {
firstName
lastName
}
avatarUrl
userId
createdAt
timeZone
id
timeFormat
updatedAt
locale
userEmail
deletedAt
colorScheme
dateFormat
}
company {
__typename
updatedAt
domainName {
primaryLinkUrl
primaryLinkLabel
secondaryLinks
}
visaSponsorship
accountOwnerId
address {
addressStreet1
addressStreet2
@ -246,28 +100,25 @@ export const mocks = [
addressLat
addressLng
}
position
employees
deletedAt
accountOwnerId
annualRecurringRevenue {
amountMicros
currencyCode
}
id
name
xLink {
primaryLinkUrl
primaryLinkLabel
secondaryLinks
}
createdAt
createdBy {
source
workspaceMemberId
name
}
workPolicy
deletedAt
domainName {
primaryLinkUrl
primaryLinkLabel
secondaryLinks
}
employees
id
idealCustomerProfile
introVideo {
primaryLinkUrl
primaryLinkLabel
@ -278,45 +129,194 @@ export const mocks = [
primaryLinkLabel
secondaryLinks
}
tagline
idealCustomerProfile
}
rocket {
__typename
createdBy {
source
workspaceMemberId
name
}
updatedAt
name
position
createdAt
id
deletedAt
tagline
updatedAt
visaSponsorship
workPolicy
xLink {
primaryLinkUrl
primaryLinkLabel
secondaryLinks
}
}
opportunity {
companyId
createdAt
deletedAt
id
note {
__typename
body
createdAt
createdBy {
source
workspaceMemberId
name
}
deletedAt
id
position
title
updatedAt
}
noteId
opportunity {
__typename
amount {
amountMicros
currencyCode
}
stage
position
closeDate
companyId
createdAt
createdBy {
source
workspaceMemberId
name
}
deletedAt
id
name
pointOfContactId
companyId
position
stage
updatedAt
deletedAt
createdAt
}
opportunityId
person {
__typename
avatarUrl
city
companyId
createdAt
createdBy {
source
workspaceMemberId
name
}
deletedAt
emails {
primaryEmail
additionalEmails
}
id
intro
jobTitle
linkedinLink {
primaryLinkUrl
primaryLinkLabel
secondaryLinks
}
name {
firstName
lastName
}
performanceRating
phones {
primaryPhoneNumber
primaryPhoneCountryCode
additionalPhones
}
position
updatedAt
whatsapp {
primaryPhoneNumber
primaryPhoneCountryCode
additionalPhones
}
workPreference
xLink {
primaryLinkUrl
primaryLinkLabel
secondaryLinks
}
}
personId
position
rocket {
__typename
createdAt
createdBy {
source
workspaceMemberId
name
}
deletedAt
id
name
position
updatedAt
}
rocketId
task {
__typename
assigneeId
body
createdAt
createdBy {
source
workspaceMemberId
name
}
deletedAt
dueAt
id
position
status
title
updatedAt
}
taskId
updatedAt
view {
__typename
createdAt
deletedAt
icon
id
isCompact
kanbanFieldMetadataId
key
name
objectMetadataId
position
type
updatedAt
}
viewId
workflow {
__typename
createdAt
deletedAt
id
lastPublishedVersionId
name
position
statuses
updatedAt
}
workflowId
workspaceMember {
__typename
avatarUrl
colorScheme
createdAt
dateFormat
deletedAt
id
locale
name {
firstName
lastName
}
timeFormat
timeZone
updatedAt
userEmail
userId
}
workspaceMemberId
}
}
`,
@ -342,6 +342,8 @@ export const mocks = [
query: gql`
mutation DeleteOneFavorite($idToDelete: ID!) {
deleteFavorite(id: $idToDelete) {
__typename
deletedAt
id
}
}
@ -365,236 +367,236 @@ export const mocks = [
) {
updateFavorite(id: $idToUpdate, data: $input) {
__typename
noteId
taskId
person {
__typename
name {
firstName
lastName
}
linkedinLink {
primaryLinkUrl
primaryLinkLabel
secondaryLinks
}
deletedAt
createdAt
updatedAt
jobTitle
intro
workPrefereance
performanceRating
xLink {
primaryLinkUrl
primaryLinkLabel
secondaryLinks
}
city
companyId
phones {
primaryPhoneNumber
primaryPhoneCountryCode
additionalPhones
}
createdBy {
source
company {
__typename
accountOwnerId
address {
addressStreet1
addressStreet2
addressCity
addressState
addressCountry
addressPostcode
addressLat
addressLng
}
annualRecurringRevenue {
amountMicros
currencyCode
}
createdAt
createdBy {
source
workspaceMemberId
name
}
deletedAt
domainName {
primaryLinkUrl
primaryLinkLabel
secondaryLinks
}
employees
id
idealCustomerProfile
introVideo {
primaryLinkUrl
primaryLinkLabel
secondaryLinks
}
linkedinLink {
primaryLinkUrl
primaryLinkLabel
secondaryLinks
}
name
position
tagline
updatedAt
visaSponsorship
workPolicy
xLink {
primaryLinkUrl
primaryLinkLabel
secondaryLinks
}
}
companyId
createdAt
deletedAt
id
note {
__typename
body
createdAt
createdBy {
source
workspaceMemberId
name
}
deletedAt
id
position
title
updatedAt
}
noteId
opportunity {
__typename
amount {
amountMicros
currencyCode
}
closeDate
companyId
createdAt
createdBy {
source
workspaceMemberId
name
}
deletedAt
id
name
pointOfContactId
position
stage
updatedAt
}
opportunityId
person {
__typename
avatarUrl
city
companyId
createdAt
createdBy {
source
workspaceMemberId
name
}
deletedAt
emails {
primaryEmail
additionalEmails
}
id
intro
jobTitle
linkedinLink {
primaryLinkUrl
primaryLinkLabel
secondaryLinks
}
name {
firstName
lastName
}
performanceRating
phones {
primaryPhoneNumber
primaryPhoneCountryCode
additionalPhones
}
position
updatedAt
whatsapp {
primaryPhoneNumber
primaryPhoneCountryCode
additionalPhones
}
workPreference
xLink {
primaryLinkUrl
primaryLinkLabel
secondaryLinks
}
}
personId
position
rocket {
__typename
createdAt
createdBy {
source
workspaceMemberId
name
}
deletedAt
id
name
position
updatedAt
}
rocketId
task {
__typename
assigneeId
body
createdAt
createdBy {
source
workspaceMemberId
name
}
deletedAt
dueAt
id
position
status
title
updatedAt
}
taskId
updatedAt
view {
__typename
createdAt
deletedAt
icon
id
isCompact
kanbanFieldMetadataId
key
name
objectMetadataId
position
type
updatedAt
}
viewId
workflow {
__typename
createdAt
deletedAt
id
lastPublishedVersionId
name
position
statuses
updatedAt
}
workflowId
workspaceMember {
__typename
avatarUrl
colorScheme
createdAt
dateFormat
deletedAt
id
locale
name {
firstName
lastName
}
timeFormat
timeZone
updatedAt
userEmail
userId
}
workspaceMemberId
name
}
id
position
emails {
primaryEmail
additionalEmails
}
avatarUrl
whatsapp {
primaryPhoneNumber
primaryPhoneCountryCode
additionalPhones
}
}
task {
__typename
updatedAt
createdAt
deletedAt
dueAt
id
status
body
createdBy {
source
workspaceMemberId
name
}
assigneeId
position
title
}
rocketId
viewId
updatedAt
workflowId
personId
workspaceMemberId
note {
__typename
deletedAt
id
position
updatedAt
createdBy {
source
workspaceMemberId
name
}
body
title
createdAt
}
createdAt
view {
__typename
id
type
icon
key
isCompact
kanbanFieldMetadataId
objectMetadataId
position
createdAt
deletedAt
updatedAt
name
}
opportunityId
position
deletedAt
id
companyId
workflow {
__typename
deletedAt
lastPublishedVersionId
createdAt
id
statuses
name
position
updatedAt
}
workspaceMember {
__typename
name {
firstName
lastName
}
avatarUrl
userId
createdAt
timeZone
id
timeFormat
updatedAt
locale
userEmail
deletedAt
colorScheme
dateFormat
}
company {
__typename
updatedAt
domainName {
primaryLinkUrl
primaryLinkLabel
secondaryLinks
}
visaSponsorship
address {
addressStreet1
addressStreet2
addressCity
addressState
addressCountry
addressPostcode
addressLat
addressLng
}
position
employees
deletedAt
accountOwnerId
annualRecurringRevenue {
amountMicros
currencyCode
}
id
name
xLink {
primaryLinkUrl
primaryLinkLabel
secondaryLinks
}
createdAt
createdBy {
source
workspaceMemberId
name
}
workPolicy
introVideo {
primaryLinkUrl
primaryLinkLabel
secondaryLinks
}
linkedinLink {
primaryLinkUrl
primaryLinkLabel
secondaryLinks
}
tagline
idealCustomerProfile
}
rocket {
__typename
createdBy {
source
workspaceMemberId
name
}
updatedAt
name
position
createdAt
id
deletedAt
}
opportunity {
__typename
createdBy {
source
workspaceMemberId
name
}
amount {
amountMicros
currencyCode
}
stage
position
closeDate
id
name
pointOfContactId
companyId
updatedAt
deletedAt
createdAt
}
}
}
`,

View File

@ -1,16 +1,14 @@
import { MockedProvider } from '@apollo/client/testing';
import { DropResult, ResponderProvided } from '@hello-pangea/dnd';
import { act, renderHook, waitFor } from '@testing-library/react';
import { ReactNode } from 'react';
import { RecoilRoot, useSetRecoilState } from 'recoil';
import { useSetRecoilState } from 'recoil';
import { currentWorkspaceMemberState } from '@/auth/states/currentWorkspaceMemberState';
import { useFavorites } from '@/favorites/hooks/useFavorites';
import { objectMetadataItemsState } from '@/object-metadata/states/objectMetadataItemsState';
import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular';
import { SnackBarProviderScope } from '@/ui/feedback/snack-bar-manager/scopes/SnackBarProviderScope';
import { generatedMockObjectMetadataItems } from '~/testing/mock-data/objectMetadataItems';
import { getJestMetadataAndApolloMocksWrapper } from '~/testing/jest/getJestMetadataAndApolloMocksWrapper';
import { generatedMockObjectMetadataItems } from '~/testing/mock-data/generatedMockObjectMetadataItems';
import {
favoriteId,
favoriteTargetObjectRecord,
@ -29,15 +27,9 @@ jest.mock('@/object-record/hooks/useFindManyRecords', () => ({
useFindManyRecords: () => ({ records: initialFavorites }),
}));
const Wrapper = ({ children }: { children: ReactNode }) => (
<RecoilRoot>
<SnackBarProviderScope snackBarManagerScopeId="snack-bar-manager">
<MockedProvider mocks={mocks} addTypename={false}>
{children}
</MockedProvider>
</SnackBarProviderScope>
</RecoilRoot>
);
const Wrapper = getJestMetadataAndApolloMocksWrapper({
apolloMocks: mocks,
});
describe('useFavorites', () => {
it('should fetch favorites successfully', async () => {