Expose container via provider

This commit is contained in:
Alejandro Celaya
2025-11-15 10:20:53 +01:00
parent 6094994cfa
commit f301513f5b
15 changed files with 92 additions and 53 deletions

View File

@@ -3,6 +3,7 @@ import { act, screen } from '@testing-library/react';
import { fromPartial } from '@total-typescript/shoehorn';
import { MemoryRouter } from 'react-router';
import { AppFactory } from '../../src/app/App';
import { ContainerProvider } from '../../src/container/context';
import type { ServerWithId } from '../../src/servers/data';
import { checkAccessibility } from '../__helpers__/accessibility';
import { renderWithStore } from '../__helpers__/setUpTest';
@@ -14,12 +15,15 @@ describe('<App />', () => {
ShlinkWebComponentContainer: () => <>ShlinkWebComponentContainer</>,
CreateServer: () => <>CreateServer</>,
ManageServers: () => <>ManageServers</>,
HttpClient: fromPartial<HttpClient>({}),
}),
);
const setUp = async (activeRoute = '/') => act(() => renderWithStore(
<MemoryRouter initialEntries={[{ pathname: activeRoute }]}>
<App appUpdated={false} resetAppUpdate={() => {}} />
<ContainerProvider
value={fromPartial({ HttpClient: fromPartial<HttpClient>({}), buildShlinkApiClient: vi.fn() })}
>
<App appUpdated={false} resetAppUpdate={() => {}} />
</ContainerProvider>
</MemoryRouter>,
{
initialState: {

View File

@@ -1,7 +1,9 @@
import { screen } from '@testing-library/react';
import { fromPartial } from '@total-typescript/shoehorn';
import { createMemoryHistory } from 'history';
import { Router } from 'react-router';
import { MainHeader } from '../../src/common/MainHeader';
import { ContainerProvider } from '../../src/container/context';
import { checkAccessibility } from '../__helpers__/accessibility';
import { renderWithStore } from '../__helpers__/setUpTest';
@@ -12,7 +14,9 @@ describe('<MainHeader />', () => {
return renderWithStore(
<Router location={history.location} navigator={history}>
<MainHeader />
<ContainerProvider value={fromPartial({ buildShlinkApiClient: vi.fn() })}>
<MainHeader />
</ContainerProvider>
</Router>,
);
};

View File

@@ -1,12 +1,15 @@
import { fromPartial } from '@total-typescript/shoehorn';
import { ShlinkVersionsContainer } from '../../src/common/ShlinkVersionsContainer';
import { ContainerProvider } from '../../src/container/context';
import type { ReachableServer, SelectedServer } from '../../src/servers/data';
import { checkAccessibility } from '../__helpers__/accessibility';
import { renderWithStore } from '../__helpers__/setUpTest';
describe('<ShlinkVersionsContainer />', () => {
const setUp = (selectedServer: SelectedServer = null) => renderWithStore(
<ShlinkVersionsContainer />,
<ContainerProvider value={fromPartial({ buildShlinkApiClient: vi.fn() })}>
<ShlinkVersionsContainer />
</ContainerProvider>,
{
initialState: { selectedServer },
},

View File

@@ -2,6 +2,7 @@ import { screen } from '@testing-library/react';
import { fromPartial } from '@total-typescript/shoehorn';
import { MemoryRouter } from 'react-router';
import { ShlinkWebComponentContainerFactory } from '../../src/common/ShlinkWebComponentContainer';
import { ContainerProvider } from '../../src/container/context';
import type { NonReachableServer, NotFoundServer, SelectedServer } from '../../src/servers/data';
import { checkAccessibility } from '../__helpers__/accessibility';
import { renderWithStore } from '../__helpers__/setUpTest';
@@ -19,7 +20,9 @@ describe('<ShlinkWebComponentContainer />', () => {
}));
const setUp = (selectedServer: SelectedServer) => renderWithStore(
<MemoryRouter>
<ShlinkWebComponentContainer />
<ContainerProvider value={fromPartial({ buildShlinkApiClient: vi.fn() })}>
<ShlinkWebComponentContainer />
</ContainerProvider>
</MemoryRouter>,
{
initialState: { selectedServer, servers: {}, settings: {} },

View File

@@ -2,6 +2,7 @@ import { fireEvent, screen, waitFor } from '@testing-library/react';
import { fromPartial } from '@total-typescript/shoehorn';
import { createMemoryHistory } from 'history';
import { Router } from 'react-router';
import { ContainerProvider } from '../../src/container/context';
import type { ReachableServer, SelectedServer } from '../../src/servers/data';
import { isServerWithId } from '../../src/servers/data';
import { EditServer } from '../../src/servers/EditServer';
@@ -21,7 +22,9 @@ describe('<EditServer />', () => {
history,
...renderWithStore(
<Router location={history.location} navigator={history}>
<EditServer />
<ContainerProvider value={fromPartial({ buildShlinkApiClient: vi.fn() })}>
<EditServer />
</ContainerProvider>
</Router>,
{
initialState: {

View File

@@ -1,6 +1,7 @@
import { screen } from '@testing-library/react';
import { fromPartial } from '@total-typescript/shoehorn';
import { MemoryRouter } from 'react-router';
import { ContainerProvider } from '../../src/container/context';
import type { ServersMap } from '../../src/servers/data';
import { ServersDropdown } from '../../src/servers/ServersDropdown';
import { checkAccessibility } from '../__helpers__/accessibility';
@@ -14,9 +15,11 @@ describe('<ServersDropdown />', () => {
};
const setUp = (servers: ServersMap = fallbackServers) => renderWithStore(
<MemoryRouter>
<ul role="menu">
<ServersDropdown />
</ul>
<ContainerProvider value={fromPartial({ buildShlinkApiClient: vi.fn() })}>
<ul role="menu">
<ServersDropdown />
</ul>
</ContainerProvider>
</MemoryRouter>,
{
initialState: { selectedServer: null, servers },

View File

@@ -1,6 +1,7 @@
import { screen } from '@testing-library/react';
import { fromPartial } from '@total-typescript/shoehorn';
import { MemoryRouter } from 'react-router';
import { ContainerProvider } from '../../../src/container/context';
import type { NonReachableServer, NotFoundServer, SelectedServer } from '../../../src/servers/data';
import { ServerError } from '../../../src/servers/helpers/ServerError';
import { checkAccessibility } from '../../__helpers__/accessibility';
@@ -9,7 +10,9 @@ import { renderWithStore } from '../../__helpers__/setUpTest';
describe('<ServerError />', () => {
const setUp = (selectedServer: SelectedServer) => renderWithStore(
<MemoryRouter>
<ServerError />
<ContainerProvider value={fromPartial({ buildShlinkApiClient: vi.fn() })}>
<ServerError />
</ContainerProvider>
</MemoryRouter>,
{
initialState: { selectedServer, servers: {} },