mirror of
https://github.com/portainer/portainer.git
synced 2025-07-24 15:59:41 +02:00
refactor(tests): wrap tests explicitly with provider [EE-6686] (#11090)
Some checks are pending
ci / build_images (map[arch:amd64 platform:linux version:]) (push) Waiting to run
ci / build_images (map[arch:amd64 platform:windows version:1809]) (push) Waiting to run
ci / build_images (map[arch:amd64 platform:windows version:ltsc2022]) (push) Waiting to run
ci / build_images (map[arch:arm platform:linux version:]) (push) Waiting to run
ci / build_images (map[arch:arm64 platform:linux version:]) (push) Waiting to run
ci / build_images (map[arch:ppc64le platform:linux version:]) (push) Waiting to run
ci / build_images (map[arch:s390x platform:linux version:]) (push) Waiting to run
ci / build_manifests (push) Blocked by required conditions
/ triage (push) Waiting to run
Lint / Run linters (push) Waiting to run
Test / test-client (push) Waiting to run
Test / test-server (map[arch:amd64 platform:linux]) (push) Waiting to run
Test / test-server (map[arch:amd64 platform:windows version:1809]) (push) Waiting to run
Test / test-server (map[arch:amd64 platform:windows version:ltsc2022]) (push) Waiting to run
Test / test-server (map[arch:arm64 platform:linux]) (push) Waiting to run
Some checks are pending
ci / build_images (map[arch:amd64 platform:linux version:]) (push) Waiting to run
ci / build_images (map[arch:amd64 platform:windows version:1809]) (push) Waiting to run
ci / build_images (map[arch:amd64 platform:windows version:ltsc2022]) (push) Waiting to run
ci / build_images (map[arch:arm platform:linux version:]) (push) Waiting to run
ci / build_images (map[arch:arm64 platform:linux version:]) (push) Waiting to run
ci / build_images (map[arch:ppc64le platform:linux version:]) (push) Waiting to run
ci / build_images (map[arch:s390x platform:linux version:]) (push) Waiting to run
ci / build_manifests (push) Blocked by required conditions
/ triage (push) Waiting to run
Lint / Run linters (push) Waiting to run
Test / test-client (push) Waiting to run
Test / test-server (map[arch:amd64 platform:linux]) (push) Waiting to run
Test / test-server (map[arch:amd64 platform:windows version:1809]) (push) Waiting to run
Test / test-server (map[arch:amd64 platform:windows version:ltsc2022]) (push) Waiting to run
Test / test-server (map[arch:arm64 platform:linux]) (push) Waiting to run
This commit is contained in:
parent
27aaf322b2
commit
f8e3d75797
53 changed files with 432 additions and 263 deletions
49
app/react/test-utils/withRouter.tsx
Normal file
49
app/react/test-utils/withRouter.tsx
Normal file
|
@ -0,0 +1,49 @@
|
|||
import { ComponentType } from 'react';
|
||||
import {
|
||||
ReactStateDeclaration,
|
||||
UIRouter,
|
||||
UIRouterReact,
|
||||
UIView,
|
||||
hashLocationPlugin,
|
||||
servicesPlugin,
|
||||
} from '@uirouter/react';
|
||||
|
||||
/**
|
||||
* A helper function to wrap a component with a UIRouter Provider.
|
||||
*
|
||||
* should only be used in tests
|
||||
*/
|
||||
export function withTestRouter<T>(
|
||||
WrappedComponent: ComponentType<T>,
|
||||
{
|
||||
route = '/',
|
||||
stateConfig = [],
|
||||
}: { route?: string; stateConfig?: Array<ReactStateDeclaration> } = {}
|
||||
): ComponentType<T> {
|
||||
const router = new UIRouterReact();
|
||||
|
||||
// router.trace.enable(Category.TRANSITION);
|
||||
router.plugin(servicesPlugin);
|
||||
router.plugin(hashLocationPlugin);
|
||||
|
||||
// Set up your custom state configuration
|
||||
stateConfig.forEach((state) => router.stateRegistry.register(state));
|
||||
router.urlService.rules.initial({ state: route });
|
||||
|
||||
// Try to create a nice displayName for React Dev Tools.
|
||||
const displayName =
|
||||
WrappedComponent.displayName || WrappedComponent.name || 'Component';
|
||||
|
||||
function WrapperComponent(props: T & JSX.IntrinsicAttributes) {
|
||||
return (
|
||||
<UIRouter router={router}>
|
||||
<UIView />
|
||||
<WrappedComponent {...props} />
|
||||
</UIRouter>
|
||||
);
|
||||
}
|
||||
|
||||
WrapperComponent.displayName = `withTestRouter(${displayName})`;
|
||||
|
||||
return WrapperComponent;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue