Files
twenty/front/src/testing/renderWrappers.tsx
Lucas Bordeau 820ef184d3 Refactor/filters (#498)
* wip

* - Added scopes on useHotkeys
- Use new EditableCellV2
- Implemented Recoil Scoped State with specific context
- Implemented soft focus position
- Factorized open/close editable cell
- Removed editable relation old components
- Broke down entity table into multiple components
- Added Recoil Scope by CellContext
- Added Recoil Scope by RowContext

* First working version

* Use a new EditableCellSoftFocusMode

* Fixes

* wip

* wip

* wip

* Use company filters

* Refactored FilterDropdown into multiple components

* Refactored entity search select in dropdown

* Renamed states

* Fixed people filters

* Removed unused code

* Cleaned states

* Cleaned state

* Better naming

* fixed rebase

* Fix

* Fixed stories and mocked data and displayName bug

* Fixed cancel sort

* Fixed naming

* Fixed dropdown height

* Fix

* Fixed lint
2023-07-04 13:54:58 +00:00

71 lines
2.2 KiB
TypeScript

import React from 'react';
import { MemoryRouter } from 'react-router-dom';
import { ApolloProvider } from '@apollo/client';
import { RecoilRoot } from 'recoil';
import { RecoilScope } from '@/recoil-scope/components/RecoilScope';
import { HooksEntityTable } from '@/ui/components/table/HooksEntityTable';
import { DefaultLayout } from '@/ui/layout/DefaultLayout';
import { TableContext } from '@/ui/tables/states/TableContext';
import { companiesFilters } from '~/pages/companies/companies-filters';
import { UserProvider } from '~/providers/user/UserProvider';
import { mockedCompaniesData } from './mock-data/companies';
import { ComponentStorybookLayout } from './ComponentStorybookLayout';
import { FullHeightStorybookLayout } from './FullHeightStorybookLayout';
import { mockedClient } from './mockedClient';
export function getRenderWrapperForPage(
children: React.ReactElement,
currentPath: string,
) {
return function render() {
return (
<RecoilRoot>
<ApolloProvider client={mockedClient}>
<UserProvider>
<MemoryRouter initialEntries={[currentPath]}>
<FullHeightStorybookLayout>
<DefaultLayout>{children}</DefaultLayout>
</FullHeightStorybookLayout>
</MemoryRouter>
</UserProvider>
</ApolloProvider>
</RecoilRoot>
);
};
}
export function getRenderWrapperForComponent(children: React.ReactElement) {
return function render() {
return (
<RecoilRoot>
<ApolloProvider client={mockedClient}>
<ComponentStorybookLayout>{children}</ComponentStorybookLayout>
</ApolloProvider>
</RecoilRoot>
);
};
}
export function getRenderWrapperForEntityTableComponent(
children: React.ReactElement,
) {
return function Render() {
return (
<RecoilRoot>
<ApolloProvider client={mockedClient}>
<RecoilScope SpecificContext={TableContext}>
<HooksEntityTable
availableTableFilters={companiesFilters}
numberOfColumns={5}
numberOfRows={mockedCompaniesData.length}
/>
<ComponentStorybookLayout>{children}</ComponentStorybookLayout>
</RecoilScope>
</ApolloProvider>
</RecoilRoot>
);
};
}