Fix storybook and chromatic tests and fix Block editor custom slash menu positioning (#11580)
Storybook / Chromatic fixes: - fix linaria twenty-ui style loading (since twenty-ui prebuild refactoring) - update prefetch view mocks - add ability to disable hotkeys initialization in storybook to avoid race condition Custom slash menu positioning fix
This commit is contained in:
@ -20,6 +20,7 @@ import { ClientConfigProvider } from '~/modules/client-config/components/ClientC
|
||||
import { UserProvider } from '~/modules/users/components/UserProvider';
|
||||
import { mockedApolloClient } from '~/testing/mockedApolloClient';
|
||||
|
||||
import { MainContextStoreProvider } from '@/context-store/components/MainContextStoreProvider';
|
||||
import { RecoilDebugObserverEffect } from '@/debug/components/RecoilDebugObserver';
|
||||
import { ObjectMetadataItemsLoadEffect } from '@/object-metadata/components/ObjectMetadataItemsLoadEffect';
|
||||
import { ObjectMetadataItemsProvider } from '@/object-metadata/components/ObjectMetadataItemsProvider';
|
||||
@ -118,6 +119,7 @@ const Providers = () => {
|
||||
</HelmetProvider>
|
||||
</FullHeightStorybookLayout>
|
||||
</ObjectMetadataItemsProvider>
|
||||
<MainContextStoreProvider />
|
||||
</ApolloMetadataClientMockedProvider>
|
||||
</UserProvider>
|
||||
</ClientConfigProvider>
|
||||
|
||||
@ -7,13 +7,21 @@ import { ApolloMetadataClientMockedProvider } from '@/object-metadata/hooks/__mo
|
||||
import { InitializeHotkeyStorybookHookEffect } from '../InitializeHotkeyStorybookHook';
|
||||
import { mockedApolloClient } from '../mockedApolloClient';
|
||||
|
||||
export const RootDecorator: Decorator = (Story) => (
|
||||
<RecoilRoot>
|
||||
<ApolloProvider client={mockedApolloClient}>
|
||||
<ApolloMetadataClientMockedProvider>
|
||||
<InitializeHotkeyStorybookHookEffect />
|
||||
<Story />
|
||||
</ApolloMetadataClientMockedProvider>
|
||||
</ApolloProvider>
|
||||
</RecoilRoot>
|
||||
);
|
||||
export const RootDecorator: Decorator = (Story, context) => {
|
||||
const { parameters } = context;
|
||||
|
||||
const disableHotkeyInitialization = parameters.disableHotkeyInitialization;
|
||||
|
||||
return (
|
||||
<RecoilRoot>
|
||||
<ApolloProvider client={mockedApolloClient}>
|
||||
<ApolloMetadataClientMockedProvider>
|
||||
{!disableHotkeyInitialization && (
|
||||
<InitializeHotkeyStorybookHookEffect />
|
||||
)}
|
||||
<Story />
|
||||
</ApolloMetadataClientMockedProvider>
|
||||
</ApolloProvider>
|
||||
</RecoilRoot>
|
||||
);
|
||||
};
|
||||
|
||||
@ -22,6 +22,7 @@ import { mockWorkspaceMembers } from '~/testing/mock-data/workspace-members';
|
||||
|
||||
import { GET_PUBLIC_WORKSPACE_DATA_BY_DOMAIN } from '@/auth/graphql/queries/getPublicWorkspaceDataByDomain';
|
||||
import { GET_ROLES } from '@/settings/roles/graphql/queries/getRolesQuery';
|
||||
import { isDefined } from 'twenty-shared/utils';
|
||||
import { mockedStandardObjectMetadataQueryResult } from '~/testing/mock-data/generated/mock-metadata-query-result';
|
||||
import { getRolesMock } from '~/testing/mock-data/roles';
|
||||
import { mockedTasks } from '~/testing/mock-data/tasks';
|
||||
@ -236,11 +237,26 @@ export const graphqlMocks = {
|
||||
edges: mockedViewsData
|
||||
.filter(
|
||||
(view) =>
|
||||
view?.objectMetadataId === objectMetadataId &&
|
||||
view?.type === viewType,
|
||||
(isDefined(objectMetadataId)
|
||||
? view?.objectMetadataId === objectMetadataId
|
||||
: true) &&
|
||||
(isDefined(viewType) ? view?.type === viewType : true),
|
||||
)
|
||||
.map((view) => ({
|
||||
node: view,
|
||||
node: {
|
||||
...view,
|
||||
viewFields: {
|
||||
edges: mockedViewFieldsData
|
||||
.filter((viewField) => viewField.viewId === view.id)
|
||||
.map((viewField) => ({
|
||||
node: viewField,
|
||||
cursor: null,
|
||||
})),
|
||||
totalCount: mockedViewFieldsData.filter(
|
||||
(viewField) => viewField.viewId === view.id,
|
||||
).length,
|
||||
},
|
||||
},
|
||||
cursor: null,
|
||||
})),
|
||||
pageInfo: {
|
||||
@ -321,69 +337,6 @@ export const graphqlMocks = {
|
||||
},
|
||||
});
|
||||
}),
|
||||
graphql.query('CombinedFindManyRecords', () => {
|
||||
return HttpResponse.json({
|
||||
data: {
|
||||
favorites: {
|
||||
edges: mockedFavoritesData.map((favorite) => ({
|
||||
node: favorite,
|
||||
cursor: null,
|
||||
})),
|
||||
totalCount: mockedFavoritesData.length,
|
||||
pageInfo: {
|
||||
hasNextPage: false,
|
||||
hasPreviousPage: false,
|
||||
startCursor: null,
|
||||
endCursor: null,
|
||||
},
|
||||
},
|
||||
favoriteFolders: {
|
||||
edges: [],
|
||||
pageInfo: {
|
||||
hasNextPage: false,
|
||||
hasPreviousPage: false,
|
||||
startCursor: null,
|
||||
endCursor: null,
|
||||
},
|
||||
},
|
||||
views: {
|
||||
edges: mockedViewsData.map((view) => ({
|
||||
node: {
|
||||
...view,
|
||||
viewFilters: {
|
||||
edges: [],
|
||||
totalCount: 0,
|
||||
},
|
||||
viewSorts: {
|
||||
edges: [],
|
||||
totalCount: 0,
|
||||
},
|
||||
viewFields: {
|
||||
edges: mockedViewFieldsData
|
||||
.filter((viewField) => viewField.viewId === view.id)
|
||||
.map((viewField) => ({
|
||||
node: viewField,
|
||||
cursor: null,
|
||||
})),
|
||||
totalCount: mockedViewFieldsData.filter(
|
||||
(viewField) => viewField.viewId === view.id,
|
||||
).length,
|
||||
},
|
||||
},
|
||||
cursor: null,
|
||||
})),
|
||||
pageInfo: {
|
||||
hasNextPage: false,
|
||||
hasPreviousPage: false,
|
||||
startCursor: null,
|
||||
endCursor: null,
|
||||
totalCount: mockedViewsData.length,
|
||||
},
|
||||
totalCount: mockedViewsData.length,
|
||||
},
|
||||
},
|
||||
});
|
||||
}),
|
||||
graphql.query('FindManyCompanies', ({ variables }) => {
|
||||
const mockedData = variables.limit
|
||||
? companiesMock.slice(0, variables.limit)
|
||||
|
||||
Reference in New Issue
Block a user