@northern.tech/testing 0.19.3 → 0.19.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/mockData.d.ts +0 -2
- package/dist/mockData.js +1 -2
- package/dist/openapi.yaml.d.ts +0 -2
- package/dist/requestHandlers/deploymentHandlers.d.ts +0 -2
- package/dist/requestHandlers/deploymentHandlers.js +2 -3
- package/dist/requestHandlers/deviceHandlers.d.ts +0 -2
- package/dist/requestHandlers/deviceHandlers.js +2 -3
- package/dist/requestHandlers/monitorHandlers.d.ts +0 -2
- package/dist/requestHandlers/monitorHandlers.js +2 -3
- package/dist/requestHandlers/organizationHandlers.d.ts +0 -2
- package/dist/requestHandlers/organizationHandlers.js +2 -3
- package/dist/requestHandlers/releaseHandlers.d.ts +0 -2
- package/dist/requestHandlers/releaseHandlers.js +2 -3
- package/dist/requestHandlers/requestHandlers.d.ts +0 -2
- package/dist/requestHandlers/requestHandlers.js +1 -2
- package/dist/requestHandlers/userHandlers.d.ts +0 -2
- package/dist/requestHandlers/userHandlers.js +2 -3
- package/dist/requestHandlers/validation.d.ts +0 -2
- package/dist/requestHandlers/validation.js +1 -1
- package/dist/setupTests.d.ts +9 -5
- package/dist/setupTests.js +1 -2
- package/dist/setupTests.js.map +1 -1
- package/dist/theme/light.d.ts +0 -2
- package/dist/theme/light.js +0 -1
- package/dist/theme/mui.d.ts +0 -2
- package/dist/utils.d.ts +0 -2
- package/dist/utils.js +1 -2
- package/dist/{validation-DgBXU2ez.js → validation-BwwNVIxo.js} +3 -5
- package/dist/{validation-DgBXU2ez.js.map → validation-BwwNVIxo.js.map} +1 -1
- package/package.json +3 -2
package/dist/mockData.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
//#region src/mockData.d.ts
|
|
2
1
|
export declare const undefineds: RegExp;
|
|
3
2
|
export declare const menderEnvironment: {
|
|
4
3
|
features: {
|
|
@@ -717,5 +716,4 @@ export declare const ssoEndpoint: {
|
|
|
717
716
|
start_url: string;
|
|
718
717
|
};
|
|
719
718
|
};
|
|
720
|
-
//#endregion
|
|
721
719
|
//# sourceMappingURL=mockData.d.ts.map
|
package/dist/mockData.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ALL_DEVICES, ALL_SOFTWARE, defaultPermissionSets, emptyRole, emptyUiPermissions, maxSessionAge, rolesById, scopedPermissionAreas, uiPermissionsById } from "@northern.tech/utils/constants";
|
|
2
|
-
|
|
2
|
+
// src/mockData.ts
|
|
3
3
|
const undefineds = /undefined|\[object Object\]/;
|
|
4
4
|
const menderEnvironment = {
|
|
5
5
|
features: { hasMultitenancy: true },
|
|
@@ -1377,7 +1377,6 @@ const ssoEndpoint = {
|
|
|
1377
1377
|
start_url: "https://hosted.mender.io/api/management/v1/useradm/oidc/1/start"
|
|
1378
1378
|
}
|
|
1379
1379
|
};
|
|
1380
|
-
//#endregion
|
|
1381
1380
|
export { TEST_SESSION_DATETIME, accessTokens, adminUserCapabilities, defaultCreationDate, defaultMacAddress, defaultPassword, manifestsList, menderEnvironment, mockApiResponses, mockDate, pendingEmailChange, permissionSets, rbacRoles, receivedPermissionSets, receivedRoles, releasesList, softwareList, spTenantLimits, ssoEndpoint, tenants, testSsoId, token, undefineds, userId, webhookEvents };
|
|
1382
1381
|
|
|
1383
1382
|
//# sourceMappingURL=mockData.js.map
|
package/dist/openapi.yaml.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { mockApiResponses } from "../mockData.js";
|
|
2
|
-
import { n as validated } from "../validation-
|
|
2
|
+
import { n as validated } from "../validation-BwwNVIxo.js";
|
|
3
3
|
import { deploymentsApiUrl, deploymentsApiUrlV2, headerNames, limitDefault } from "@northern.tech/utils/constants";
|
|
4
4
|
import { HttpResponse, http } from "msw/http";
|
|
5
|
-
|
|
5
|
+
// src/requestHandlers/deploymentHandlers.ts
|
|
6
6
|
const createdDeployment = {
|
|
7
7
|
id: "created-123",
|
|
8
8
|
name: "test deployment",
|
|
@@ -186,7 +186,6 @@ The deployment failed during the artifact download phase. The device was unable
|
|
|
186
186
|
return new HttpResponse(null, { status: 404 });
|
|
187
187
|
})
|
|
188
188
|
];
|
|
189
|
-
//#endregion
|
|
190
189
|
export { deploymentHandlers };
|
|
191
190
|
|
|
192
191
|
//# sourceMappingURL=deploymentHandlers.js.map
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
//#region src/requestHandlers/deviceHandlers.d.ts
|
|
2
1
|
export declare const defaultDeviceId = "a1";
|
|
3
2
|
export declare const inventoryDevice: {
|
|
4
3
|
id: string;
|
|
@@ -27,5 +26,4 @@ export declare const deviceComponents: {
|
|
|
27
26
|
}[];
|
|
28
27
|
};
|
|
29
28
|
export declare const deviceHandlers: import("msw/http").HttpHandler[];
|
|
30
|
-
//#endregion
|
|
31
29
|
//# sourceMappingURL=deviceHandlers.d.ts.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { defaultCreationDate, defaultMacAddress, mockApiResponses } from "../mockData.js";
|
|
2
|
-
import { n as validated } from "../validation-
|
|
2
|
+
import { n as validated } from "../validation-BwwNVIxo.js";
|
|
3
3
|
import { DEVICE_FILTERING_OPTIONS, DEVICE_STATES, deviceAuthV2, deviceConfig, deviceConnect, headerNames, inventoryApiUrl, inventoryApiUrlV2, inventoryApiUrlV2alpha1, iotManagerBaseURL } from "@northern.tech/utils/constants";
|
|
4
4
|
import { HttpResponse, http } from "msw/http";
|
|
5
|
-
|
|
5
|
+
// src/requestHandlers/deviceHandlers.ts
|
|
6
6
|
const defaultDeviceId = "a1";
|
|
7
7
|
const deviceAuthDevice = {
|
|
8
8
|
id: "a1",
|
|
@@ -457,7 +457,6 @@ const deviceHandlers = [
|
|
|
457
457
|
http.put(`${deviceConnect}/devices/:deviceId/upload`, validated(({ params: { deviceId } }) => new HttpResponse(null, { status: mockApiResponses.devices.byId[deviceId] ? 200 : 517 }))),
|
|
458
458
|
http.get(`${deviceAuthV2}/license`, () => HttpResponse.text("test,report"))
|
|
459
459
|
];
|
|
460
|
-
//#endregion
|
|
461
460
|
export { defaultDeviceId, deviceComponents, deviceHandlers, inventoryDevice };
|
|
462
461
|
|
|
463
462
|
//# sourceMappingURL=deviceHandlers.js.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { mockApiResponses } from "../mockData.js";
|
|
2
|
-
import { n as validated } from "../validation-
|
|
2
|
+
import { n as validated } from "../validation-BwwNVIxo.js";
|
|
3
3
|
import { alertChannels, headerNames, monitorApiUrlv1 } from "@northern.tech/utils/constants";
|
|
4
4
|
import { HttpResponse, http } from "msw/http";
|
|
5
|
-
|
|
5
|
+
// src/requestHandlers/monitorHandlers.ts
|
|
6
6
|
const monitorHandlers = [
|
|
7
7
|
http.get(`${monitorApiUrlv1}/devices/:id/alerts`, () => new HttpResponse(JSON.stringify([]), { headers: { [headerNames.total]: 1 } })),
|
|
8
8
|
http.get(`${monitorApiUrlv1}/devices/:id/alerts/latest`, () => HttpResponse.json([])),
|
|
@@ -16,7 +16,6 @@ const monitorHandlers = [
|
|
|
16
16
|
return new HttpResponse(null, { status: 590 });
|
|
17
17
|
}))
|
|
18
18
|
];
|
|
19
|
-
//#endregion
|
|
20
19
|
export { monitorHandlers };
|
|
21
20
|
|
|
22
21
|
//# sourceMappingURL=monitorHandlers.js.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { mockApiResponses, ssoEndpoint, tenants, webhookEvents } from "../mockData.js";
|
|
2
|
-
import { n as validated } from "../validation-
|
|
2
|
+
import { n as validated } from "../validation-BwwNVIxo.js";
|
|
3
3
|
import { auditLogsApiUrl, headerNames, iotManagerBaseURL, ssoEndpointsApiUrlv1, ssoIdpApiUrlv1, tenantadmApiUrlv2 } from "@northern.tech/utils/constants";
|
|
4
4
|
import { HttpResponse, http } from "msw/http";
|
|
5
|
-
|
|
5
|
+
// src/requestHandlers/organizationHandlers.ts
|
|
6
6
|
const PLANS = {
|
|
7
7
|
os: {
|
|
8
8
|
id: "os",
|
|
@@ -306,7 +306,6 @@ const organizationHandlers = [
|
|
|
306
306
|
http.delete(`${ssoIdpApiUrlv1}/:configId`, ({ params: { configId } }) => new HttpResponse(null, { status: configId ? 200 : 552 })),
|
|
307
307
|
http.get(ssoEndpointsApiUrlv1, () => HttpResponse.json(ssoEndpoint))
|
|
308
308
|
];
|
|
309
|
-
//#endregion
|
|
310
309
|
export { organizationHandlers };
|
|
311
310
|
|
|
312
311
|
//# sourceMappingURL=organizationHandlers.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { manifestsList, mockApiResponses, releasesList, softwareList } from "../mockData.js";
|
|
2
|
-
import { n as validated } from "../validation-
|
|
2
|
+
import { n as validated } from "../validation-BwwNVIxo.js";
|
|
3
3
|
import { SORTING_OPTIONS, deploymentsApiUrl, deploymentsApiUrlV2, headerNames } from "@northern.tech/utils/constants";
|
|
4
4
|
import { customSort } from "@northern.tech/utils/helpers";
|
|
5
5
|
import { HttpResponse, http } from "msw/http";
|
|
6
|
-
|
|
6
|
+
// src/requestHandlers/releaseHandlers.ts
|
|
7
7
|
const deltaJobs = {
|
|
8
8
|
"delta-job-1": {
|
|
9
9
|
id: "delta-job-1",
|
|
@@ -237,7 +237,6 @@ const releaseHandlers = [
|
|
|
237
237
|
]);
|
|
238
238
|
}))
|
|
239
239
|
];
|
|
240
|
-
//#endregion
|
|
241
240
|
export { releaseHandlers };
|
|
242
241
|
|
|
243
242
|
//# sourceMappingURL=releaseHandlers.js.map
|
|
@@ -5,7 +5,7 @@ import { organizationHandlers } from "./organizationHandlers.js";
|
|
|
5
5
|
import { releaseHandlers } from "./releaseHandlers.js";
|
|
6
6
|
import { userHandlers } from "./userHandlers.js";
|
|
7
7
|
import { HttpResponse, http } from "msw/http";
|
|
8
|
-
|
|
8
|
+
// src/requestHandlers/requestHandlers.ts
|
|
9
9
|
const testLocation = "/test";
|
|
10
10
|
const handlers = [
|
|
11
11
|
...[
|
|
@@ -21,7 +21,6 @@ const handlers = [
|
|
|
21
21
|
...releaseHandlers,
|
|
22
22
|
...userHandlers
|
|
23
23
|
];
|
|
24
|
-
//#endregion
|
|
25
24
|
export { handlers as default };
|
|
26
25
|
|
|
27
26
|
//# sourceMappingURL=requestHandlers.js.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { accessTokens, mockApiResponses, permissionSets, rbacRoles, testSsoId, token, userId } from "../mockData.js";
|
|
2
|
-
import { n as validated } from "../validation-
|
|
2
|
+
import { n as validated } from "../validation-BwwNVIxo.js";
|
|
3
3
|
import { APPLICATION_JWT_CONTENT_TYPE, useradmApiUrl, useradmApiUrlv2 } from "@northern.tech/utils/constants";
|
|
4
4
|
import { HttpResponse, http } from "msw/http";
|
|
5
|
-
|
|
5
|
+
// src/requestHandlers/userHandlers.ts
|
|
6
6
|
const userHandlers = [
|
|
7
7
|
http.post(`${useradmApiUrl}/auth/login`, ({ request }) => {
|
|
8
8
|
const authHeader = request.headers.get("authorization");
|
|
@@ -157,7 +157,6 @@ const userHandlers = [
|
|
|
157
157
|
return new HttpResponse(token, { headers: { "Content-Type": APPLICATION_JWT_CONTENT_TYPE } });
|
|
158
158
|
})
|
|
159
159
|
];
|
|
160
|
-
//#endregion
|
|
161
160
|
export { userHandlers };
|
|
162
161
|
|
|
163
162
|
//# sourceMappingURL=userHandlers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as validateRequest, n as validated } from "../validation-
|
|
1
|
+
export { t as validateRequest, n as validated } from "../validation-BwwNVIxo.js";
|
package/dist/setupTests.d.ts
CHANGED
|
@@ -1,13 +1,18 @@
|
|
|
1
|
-
import React from "react";
|
|
1
|
+
import React, { ReactNode } from "react";
|
|
2
|
+
import { ConfigureStoreOptions, EnhancedStore } from "@reduxjs/toolkit";
|
|
2
3
|
import "@testing-library/jest-dom/vitest";
|
|
4
|
+
import { RenderOptions } from "@testing-library/react";
|
|
3
5
|
export * from "@testing-library/react";
|
|
4
|
-
//#region src/setupTests.d.ts
|
|
5
6
|
export declare const TEST_LOCATION = "localhost";
|
|
6
7
|
export declare const beforeAll: () => Promise<() => undefined>;
|
|
7
8
|
export declare const beforeEach: () => void;
|
|
8
9
|
export declare const afterEach: () => Promise<void>;
|
|
9
10
|
export declare const afterAll: () => Promise<void>;
|
|
10
|
-
|
|
11
|
+
export type CustomRenderOptions = RenderOptions & {
|
|
12
|
+
preloadedState?: ConfigureStoreOptions['preloadedState'];
|
|
13
|
+
store?: EnhancedStore;
|
|
14
|
+
};
|
|
15
|
+
declare const customRender: (ui: ReactNode, options?: CustomRenderOptions) => {
|
|
11
16
|
container: HTMLElement;
|
|
12
17
|
baseElement: HTMLElement;
|
|
13
18
|
debug: (baseElement?: import("react-dom/client").Container | (Element | Document) | Array<import("react-dom/client").Container | (Element | Document)> | undefined, maxLength?: number | undefined, options?: import("pretty-format").OptionsReceived | undefined) => void;
|
|
@@ -62,8 +67,7 @@ declare const customRender: (ui: any, options?: {}) => {
|
|
|
62
67
|
queryAllByTestId: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions | undefined) => HTMLElement[];
|
|
63
68
|
findByTestId: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions | undefined, waitForElementOptions?: import("@testing-library/dom").waitForOptions | undefined) => Promise<HTMLElement>;
|
|
64
69
|
findAllByTestId: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions | undefined, waitForElementOptions?: import("@testing-library/dom").waitForOptions | undefined) => Promise<HTMLElement[]>;
|
|
65
|
-
store: any
|
|
70
|
+
store: import("redux").Store<any, import("redux").UnknownAction, unknown>;
|
|
66
71
|
};
|
|
67
|
-
//#endregion
|
|
68
72
|
export { customRender as render };
|
|
69
73
|
//# sourceMappingURL=setupTests.d.ts.map
|
package/dist/setupTests.js
CHANGED
|
@@ -13,7 +13,7 @@ import { expect, vi } from "vitest";
|
|
|
13
13
|
import { MessageChannel } from "worker_threads";
|
|
14
14
|
import { jsx } from "react/jsx-runtime";
|
|
15
15
|
export * from "@testing-library/react";
|
|
16
|
-
|
|
16
|
+
// src/setupTests.tsx
|
|
17
17
|
expect.addSnapshotSerializer(createSerializer({ includeStyles: true }));
|
|
18
18
|
const TEST_LOCATION = "localhost";
|
|
19
19
|
const oldWindowLocalStorage = window.localStorage;
|
|
@@ -119,7 +119,6 @@ const customRender = (ui, options = {}) => {
|
|
|
119
119
|
})
|
|
120
120
|
};
|
|
121
121
|
};
|
|
122
|
-
//#endregion
|
|
123
122
|
export { TEST_LOCATION, afterAll, afterEach, beforeAll, beforeEach, customRender as render };
|
|
124
123
|
|
|
125
124
|
//# sourceMappingURL=setupTests.js.map
|
package/dist/setupTests.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setupTests.js","names":["mockToken"],"sources":["../src/setupTests.tsx"],"sourcesContent":["// Copyright 2025 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n//@ts-nocheck\nimport React from 'react';\nimport { Provider } from 'react-redux';\nimport { MemoryRouter } from 'react-router';\n\nimport { createSerializer } from '@emotion/jest';\nimport { ThemeProvider } from '@mui/material/styles';\n\nimport { yes } from '@northern.tech/utils/helpers';\nimport { configureStore } from '@reduxjs/toolkit';\nimport '@testing-library/jest-dom/vitest';\nimport { cleanup, render } from '@testing-library/react';\nimport { expect, vi } from 'vitest';\nimport { MessageChannel } from 'worker_threads';\n\nimport { menderEnvironment, mockDate, token as mockToken } from './mockData';\nimport { theme } from './utils';\n\nexpect.addSnapshotSerializer(createSerializer({ includeStyles: true }));\n\nexport const TEST_LOCATION = 'localhost';\n\nconst oldWindowLocalStorage = window.localStorage;\nconst oldWindowLocation = window.location;\nconst oldWindowSessionStorage = window.sessionStorage;\n\nvi.mock('uuid', () => ({ v4: () => 'mock-uuid' }));\n\nconst storage = {};\nglobal.HTMLCanvasElement.prototype.getContext = vi.fn();\n\nexport const beforeAll = async () => {\n // Temporarily workaround for bug in @testing-library/react when use user-event with `vi.useFakeTimers()`\n\n // Enable the mocking in tests.\n delete window.location;\n window.location = {\n ...oldWindowLocation,\n hostname: TEST_LOCATION,\n origin: 'http://localhost',\n assign: vi.fn(),\n replace: vi.fn(),\n reload: vi.fn()\n };\n delete window.sessionStorage;\n window.sessionStorage = {\n ...oldWindowSessionStorage,\n getItem: vi.fn(yes),\n setItem: vi.fn(),\n removeItem: vi.fn()\n };\n delete window.localStorage;\n window.localStorage = {\n ...oldWindowLocalStorage,\n getItem: vi.fn(name => {\n if (name === 'JWT') {\n return JSON.stringify({ token: mockToken });\n }\n return storage[name];\n }),\n setItem: vi.fn(name => storage[name]),\n removeItem: vi.fn()\n };\n window.mender_environment = menderEnvironment;\n window.ENV = 'test';\n global.MessageChannel = MessageChannel;\n global.ResizeObserver = vi.fn().mockImplementation(function () {\n return {\n observe: vi.fn(),\n unobserve: vi.fn(),\n disconnect: vi.fn()\n };\n });\n window.RTCPeerConnection = () => ({\n createOffer: () => {},\n setLocalDescription: () => {},\n createDataChannel: () => {}\n });\n\n Object.defineProperty(navigator, 'appVersion', { value: 'Test', writable: true });\n const intersectionObserverMock = function () {\n return {\n observe: vi.fn(),\n disconnect: vi.fn()\n };\n };\n window.prompt = vi.fn();\n window.IntersectionObserver = vi.fn().mockImplementation(intersectionObserverMock);\n vi.spyOn(React, 'useEffect').mockImplementation(React.useLayoutEffect);\n\n //TODO: remove, once https://github.com/testing-library/react-testing-library/issues/1197 resolved\n const _jest = globalThis.jest;\n\n globalThis.jest = {\n ...globalThis.jest\n };\n\n vi.stubGlobal('jest', {\n advanceTimersByTime: vi.advanceTimersByTime.bind(vi)\n });\n return () => void (globalThis.jest = _jest);\n};\n\nexport const beforeEach = () => {\n vi.useFakeTimers({ now: mockDate });\n vi.setSystemTime(mockDate);\n};\n\nexport const afterEach = async () => {\n cleanup();\n vi.runOnlyPendingTimers();\n vi.useRealTimers();\n};\n\nexport const afterAll = async () => {\n // restore `window.location` etc. to the original `jsdom` `Location` object\n window.localStorage = oldWindowLocalStorage;\n window.location = oldWindowLocation;\n window.sessionStorage = oldWindowSessionStorage;\n React.useEffect.mockRestore();\n vi.unstubAllGlobals();\n};\n\nconst customRender = (ui, options = {}) => {\n const { preloadedState = { users: { currentSession: { token: mockToken, expiresAt: undefined } } }, ...remainder } = options;\n const store = options.store ?? configureStore({ preloadedState });\n const AllTheProviders = ({ children }) => (\n <ThemeProvider theme={theme}>\n <MemoryRouter>\n <Provider store={store}>{children}</Provider>\n </MemoryRouter>\n </ThemeProvider>\n );\n return { store, ...render(ui, { wrapper: AllTheProviders, ...remainder }) };\n};\n\nexport * from '@testing-library/react';\n// override render method\n\nexport { customRender as render };\n"],"mappings":";;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"setupTests.js","names":["mockToken"],"sources":["../src/setupTests.tsx"],"sourcesContent":["// Copyright 2025 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n//@ts-nocheck\nimport React from 'react';\nimport type { ReactNode } from 'react';\nimport { Provider } from 'react-redux';\nimport { MemoryRouter } from 'react-router';\n\nimport { createSerializer } from '@emotion/jest';\nimport { ThemeProvider } from '@mui/material/styles';\n\nimport { yes } from '@northern.tech/utils/helpers';\nimport { ConfigureStoreOptions, EnhancedStore, configureStore } from '@reduxjs/toolkit';\nimport '@testing-library/jest-dom/vitest';\nimport { RenderOptions, cleanup, render } from '@testing-library/react';\nimport { expect, vi } from 'vitest';\nimport { MessageChannel } from 'worker_threads';\n\nimport { menderEnvironment, mockDate, token as mockToken } from './mockData';\nimport { theme } from './utils';\n\nexpect.addSnapshotSerializer(createSerializer({ includeStyles: true }));\n\nexport const TEST_LOCATION = 'localhost';\n\nconst oldWindowLocalStorage = window.localStorage;\nconst oldWindowLocation = window.location;\nconst oldWindowSessionStorage = window.sessionStorage;\n\nvi.mock('uuid', () => ({ v4: () => 'mock-uuid' }));\n\nconst storage = {};\nglobal.HTMLCanvasElement.prototype.getContext = vi.fn();\n\nexport const beforeAll = async () => {\n // Temporarily workaround for bug in @testing-library/react when use user-event with `vi.useFakeTimers()`\n\n // Enable the mocking in tests.\n delete window.location;\n window.location = {\n ...oldWindowLocation,\n hostname: TEST_LOCATION,\n origin: 'http://localhost',\n assign: vi.fn(),\n replace: vi.fn(),\n reload: vi.fn()\n };\n delete window.sessionStorage;\n window.sessionStorage = {\n ...oldWindowSessionStorage,\n getItem: vi.fn(yes),\n setItem: vi.fn(),\n removeItem: vi.fn()\n };\n delete window.localStorage;\n window.localStorage = {\n ...oldWindowLocalStorage,\n getItem: vi.fn(name => {\n if (name === 'JWT') {\n return JSON.stringify({ token: mockToken });\n }\n return storage[name];\n }),\n setItem: vi.fn(name => storage[name]),\n removeItem: vi.fn()\n };\n window.mender_environment = menderEnvironment;\n window.ENV = 'test';\n global.MessageChannel = MessageChannel;\n global.ResizeObserver = vi.fn().mockImplementation(function () {\n return {\n observe: vi.fn(),\n unobserve: vi.fn(),\n disconnect: vi.fn()\n };\n });\n window.RTCPeerConnection = () => ({\n createOffer: () => {},\n setLocalDescription: () => {},\n createDataChannel: () => {}\n });\n\n Object.defineProperty(navigator, 'appVersion', { value: 'Test', writable: true });\n const intersectionObserverMock = function () {\n return {\n observe: vi.fn(),\n disconnect: vi.fn()\n };\n };\n window.prompt = vi.fn();\n window.IntersectionObserver = vi.fn().mockImplementation(intersectionObserverMock);\n vi.spyOn(React, 'useEffect').mockImplementation(React.useLayoutEffect);\n\n //TODO: remove, once https://github.com/testing-library/react-testing-library/issues/1197 resolved\n const _jest = globalThis.jest;\n\n globalThis.jest = {\n ...globalThis.jest\n };\n\n vi.stubGlobal('jest', {\n advanceTimersByTime: vi.advanceTimersByTime.bind(vi)\n });\n return () => void (globalThis.jest = _jest);\n};\n\nexport const beforeEach = () => {\n vi.useFakeTimers({ now: mockDate });\n vi.setSystemTime(mockDate);\n};\n\nexport const afterEach = async () => {\n cleanup();\n vi.runOnlyPendingTimers();\n vi.useRealTimers();\n};\n\nexport const afterAll = async () => {\n // restore `window.location` etc. to the original `jsdom` `Location` object\n window.localStorage = oldWindowLocalStorage;\n window.location = oldWindowLocation;\n window.sessionStorage = oldWindowSessionStorage;\n React.useEffect.mockRestore();\n vi.unstubAllGlobals();\n};\n\nexport type CustomRenderOptions = RenderOptions & { preloadedState?: ConfigureStoreOptions['preloadedState']; store?: EnhancedStore };\n\nconst customRender = (ui: ReactNode, options: CustomRenderOptions = {}) => {\n const { preloadedState = { users: { currentSession: { token: mockToken, expiresAt: undefined } } }, ...remainder } = options;\n const store = options.store ?? configureStore({ preloadedState });\n const AllTheProviders = ({ children }) => (\n <ThemeProvider theme={theme}>\n <MemoryRouter>\n <Provider store={store}>{children}</Provider>\n </MemoryRouter>\n </ThemeProvider>\n );\n return { store, ...render(ui, { wrapper: AllTheProviders, ...remainder }) };\n};\n\nexport * from '@testing-library/react';\n// override render method\n\nexport { customRender as render };\n"],"mappings":";;;;;;;;;;;;;;;;AAgCA,OAAO,sBAAsB,iBAAiB,EAAE,eAAe,KAAK,CAAC,CAAC;AAEtE,MAAa,gBAAgB;AAE7B,MAAM,wBAAwB,OAAO;AACrC,MAAM,oBAAoB,OAAO;AACjC,MAAM,0BAA0B,OAAO;AAEvC,GAAG,KAAK,eAAe,EAAE,UAAU,YAAY,EAAE;AAEjD,MAAM,UAAU,CAAC;AACjB,OAAO,kBAAkB,UAAU,aAAa,GAAG,GAAG;AAEtD,MAAa,YAAY,YAAY;CAInC,OAAO,OAAO;CACd,OAAO,WAAW;EAChB,GAAG;EACH,UAAU;EACV,QAAQ;EACR,QAAQ,GAAG,GAAG;EACd,SAAS,GAAG,GAAG;EACf,QAAQ,GAAG,GAAG;CAChB;CACA,OAAO,OAAO;CACd,OAAO,iBAAiB;EACtB,GAAG;EACH,SAAS,GAAG,GAAG,GAAG;EAClB,SAAS,GAAG,GAAG;EACf,YAAY,GAAG,GAAG;CACpB;CACA,OAAO,OAAO;CACd,OAAO,eAAe;EACpB,GAAG;EACH,SAAS,GAAG,IAAG,SAAQ;GACrB,IAAI,SAAS,OACX,OAAO,KAAK,UAAU,EAASA,MAAU,CAAC;GAE5C,OAAO,QAAQ;EACjB,CAAC;EACD,SAAS,GAAG,IAAG,SAAQ,QAAQ,KAAK;EACpC,YAAY,GAAG,GAAG;CACpB;CACA,OAAO,qBAAqB;CAC5B,OAAO,MAAM;CACb,OAAO,iBAAiB;CACxB,OAAO,iBAAiB,GAAG,GAAG,CAAC,CAAC,mBAAmB,WAAY;EAC7D,OAAO;GACL,SAAS,GAAG,GAAG;GACf,WAAW,GAAG,GAAG;GACjB,YAAY,GAAG,GAAG;EACpB;CACF,CAAC;CACD,OAAO,2BAA2B;EAChC,mBAAmB,CAAC;EACpB,2BAA2B,CAAC;EAC5B,yBAAyB,CAAC;CAC5B;CAEA,OAAO,eAAe,WAAW,cAAc;EAAE,OAAO;EAAQ,UAAU;CAAK,CAAC;CAChF,MAAM,2BAA2B,WAAY;EAC3C,OAAO;GACL,SAAS,GAAG,GAAG;GACf,YAAY,GAAG,GAAG;EACpB;CACF;CACA,OAAO,SAAS,GAAG,GAAG;CACtB,OAAO,uBAAuB,GAAG,GAAG,CAAC,CAAC,mBAAmB,wBAAwB;CACjF,GAAG,MAAM,OAAO,WAAW,CAAC,CAAC,mBAAmB,MAAM,eAAe;CAGrE,MAAM,QAAQ,WAAW;CAEzB,WAAW,OAAO,EAChB,GAAG,WAAW,KAChB;CAEA,GAAG,WAAW,QAAQ,EACpB,qBAAqB,GAAG,oBAAoB,KAAK,EAAE,EACrD,CAAC;CACD,aAAa,MAAM,WAAW,OAAO;AACvC;AAEA,MAAa,mBAAmB;CAC9B,GAAG,cAAc,EAAE,KAAK,SAAS,CAAC;CAClC,GAAG,cAAc,QAAQ;AAC3B;AAEA,MAAa,YAAY,YAAY;CACnC,QAAQ;CACR,GAAG,qBAAqB;CACxB,GAAG,cAAc;AACnB;AAEA,MAAa,WAAW,YAAY;CAElC,OAAO,eAAe;CACtB,OAAO,WAAW;CAClB,OAAO,iBAAiB;CACxB,MAAM,UAAU,YAAY;CAC5B,GAAG,iBAAiB;AACtB;AAIA,MAAM,gBAAgB,IAAe,UAA+B,CAAC,MAAM;CACzE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,gBAAgB;EAASA;EAAW,WAAW,KAAA;CAAU,EAAE,EAAE,GAAG,GAAG,cAAc;CACrH,MAAM,QAAQ,QAAQ,SAAS,eAAe,EAAE,eAAe,CAAC;CAChE,MAAM,mBAAmB,EAAE,eACzB,oBAAC,eAAD;EAAsB;EACpB,UAAA,oBAAC,cAAD,EAAA,UACE,oBAAC,UAAD;GAAiB;GAAQ;EAAmB,CAAA,EAChC,CAAA;CACD,CAAA;CAEjB,OAAO;EAAE;EAAO,GAAG,OAAO,IAAI;GAAE,SAAS;GAAiB,GAAG;EAAU,CAAC;CAAE;AAC5E"}
|
package/dist/theme/light.d.ts
CHANGED
package/dist/theme/light.js
CHANGED
package/dist/theme/mui.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { PaletteOptions } from "@mui/material";
|
|
2
|
-
//#region src/theme/mui.d.ts
|
|
3
2
|
declare module '@mui/material' {
|
|
4
3
|
interface PaletteOptions extends PaletteOptions {
|
|
5
4
|
border?: {
|
|
@@ -7,5 +6,4 @@ declare module '@mui/material' {
|
|
|
7
6
|
};
|
|
8
7
|
}
|
|
9
8
|
}
|
|
10
|
-
//#endregion
|
|
11
9
|
//# sourceMappingURL=mui.d.ts.map
|
package/dist/utils.d.ts
CHANGED
package/dist/utils.js
CHANGED
|
@@ -2,7 +2,7 @@ import { light } from "./theme/light.js";
|
|
|
2
2
|
import { createTheme } from "@mui/material/styles";
|
|
3
3
|
import { act, queryByRole, waitFor, within } from "@testing-library/react";
|
|
4
4
|
import { expect, vi } from "vitest";
|
|
5
|
-
|
|
5
|
+
// src/utils.ts
|
|
6
6
|
const selectMaterialUiSelectOption = async (element, optionText, user) => {
|
|
7
7
|
const selectButton = element.parentNode.querySelector("[role=combobox]");
|
|
8
8
|
await act(async () => await user.click(selectButton));
|
|
@@ -14,7 +14,6 @@ const selectMaterialUiSelectOption = async (element, optionText, user) => {
|
|
|
14
14
|
return Promise.resolve();
|
|
15
15
|
};
|
|
16
16
|
const theme = createTheme(light);
|
|
17
|
-
//#endregion
|
|
18
17
|
export { selectMaterialUiSelectOption, theme };
|
|
19
18
|
|
|
20
19
|
//# sourceMappingURL=utils.js.map
|