@dynatrace/strato-components-testing 3.11.3 → 3.12.1
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/esm/jest/index.js +9 -1
- package/esm/jest/index.js.map +2 -2
- package/esm/jest/mocks/create-range-mock.js +4 -22
- package/esm/jest/mocks/create-range-mock.js.map +2 -2
- package/esm/jest/mocks/fetch-mock.js +4 -14
- package/esm/jest/mocks/fetch-mock.js.map +2 -2
- package/esm/jest/mocks/framer-motion-mock.js +3 -48
- package/esm/jest/mocks/framer-motion-mock.js.map +3 -3
- package/esm/jest/mocks/intersection-observer-mock.js +4 -35
- package/esm/jest/mocks/intersection-observer-mock.js.map +2 -2
- package/esm/jest/mocks/match-media-mock.js +4 -21
- package/esm/jest/mocks/match-media-mock.js.map +2 -2
- package/esm/jest/mocks/resize-observer-mock.js +4 -18
- package/esm/jest/mocks/resize-observer-mock.js.map +2 -2
- package/esm/jest/mocks/scroll-into-view-mock.js +4 -10
- package/esm/jest/mocks/scroll-into-view-mock.js.map +2 -2
- package/esm/jest/testing-helpers/filters/filter-field.js +12 -415
- package/esm/jest/testing-helpers/filters/filter-field.js.map +2 -2
- package/esm/jest/testing-helpers/tables/datatable.js +1 -11
- package/esm/jest/testing-helpers/tables/datatable.js.map +2 -2
- package/esm/jest/testing-helpers/utils/setup-user-event.js +1 -1
- package/esm/jest/testing-helpers/utils/setup-user-event.js.map +2 -2
- package/esm/shared/mocks/create-range-mock.js +29 -0
- package/esm/shared/mocks/create-range-mock.js.map +7 -0
- package/esm/shared/mocks/fetch-mock.js +23 -0
- package/esm/shared/mocks/fetch-mock.js.map +7 -0
- package/esm/shared/mocks/framer-motion-mock.js +54 -0
- package/esm/shared/mocks/framer-motion-mock.js.map +7 -0
- package/esm/shared/mocks/intersection-observer-mock.js +39 -0
- package/esm/shared/mocks/intersection-observer-mock.js.map +7 -0
- package/esm/shared/mocks/match-media-mock.js +28 -0
- package/esm/shared/mocks/match-media-mock.js.map +7 -0
- package/esm/shared/mocks/resize-observer-mock.js +25 -0
- package/esm/shared/mocks/resize-observer-mock.js.map +7 -0
- package/esm/shared/mocks/scroll-into-view-mock.js +17 -0
- package/esm/shared/mocks/scroll-into-view-mock.js.map +7 -0
- package/esm/shared/testing-helpers/filters/filter-field.js +439 -0
- package/esm/shared/testing-helpers/filters/filter-field.js.map +7 -0
- package/esm/vitest/index.js +149 -0
- package/esm/vitest/index.js.map +7 -0
- package/esm/vitest/mocks/create-range-mock.js +10 -0
- package/esm/vitest/mocks/create-range-mock.js.map +7 -0
- package/esm/vitest/mocks/fetch-mock.js +10 -0
- package/esm/vitest/mocks/fetch-mock.js.map +7 -0
- package/esm/vitest/mocks/framer-motion-mock.js +13 -0
- package/esm/vitest/mocks/framer-motion-mock.js.map +7 -0
- package/esm/vitest/mocks/intersection-observer-mock.js +10 -0
- package/esm/vitest/mocks/intersection-observer-mock.js.map +7 -0
- package/esm/vitest/mocks/match-media-mock.js +10 -0
- package/esm/vitest/mocks/match-media-mock.js.map +7 -0
- package/esm/vitest/mocks/resize-observer-mock.js +10 -0
- package/esm/vitest/mocks/resize-observer-mock.js.map +7 -0
- package/esm/vitest/mocks/scroll-into-view-mock.js +10 -0
- package/esm/vitest/mocks/scroll-into-view-mock.js.map +7 -0
- package/esm/vitest/preset/index.js +5 -0
- package/esm/vitest/preset/index.js.map +7 -0
- package/esm/vitest/preset/vitest-preset.js +9 -0
- package/esm/vitest/preset/vitest-preset.js.map +7 -0
- package/esm/vitest/setup/index.js +77 -0
- package/esm/vitest/setup/index.js.map +7 -0
- package/esm/vitest/testing-helpers/filters/filter-field.js +24 -0
- package/esm/vitest/testing-helpers/filters/filter-field.js.map +7 -0
- package/esm/vitest/testing-helpers/utils/isFakeTimersEnabled.js +8 -0
- package/esm/vitest/testing-helpers/utils/isFakeTimersEnabled.js.map +7 -0
- package/esm/vitest/testing-helpers/utils/setup-user-event.js +16 -0
- package/esm/vitest/testing-helpers/utils/setup-user-event.js.map +7 -0
- package/jest/index.d.ts +3 -1
- package/jest/index.js +4 -0
- package/jest/mocks/create-range-mock.d.ts +4 -11
- package/jest/mocks/create-range-mock.js +4 -22
- package/jest/mocks/fetch-mock.d.ts +4 -10
- package/jest/mocks/fetch-mock.js +4 -14
- package/jest/mocks/framer-motion-mock.js +3 -46
- package/jest/mocks/intersection-observer-mock.d.ts +4 -11
- package/jest/mocks/intersection-observer-mock.js +4 -35
- package/jest/mocks/match-media-mock.d.ts +4 -11
- package/jest/mocks/match-media-mock.js +4 -21
- package/jest/mocks/resize-observer-mock.d.ts +4 -13
- package/jest/mocks/resize-observer-mock.js +4 -18
- package/jest/mocks/scroll-into-view-mock.d.ts +4 -10
- package/jest/mocks/scroll-into-view-mock.js +4 -10
- package/jest/testing-helpers/filters/filter-field.d.ts +5 -109
- package/jest/testing-helpers/filters/filter-field.js +11 -414
- package/jest/testing-helpers/tables/datatable.js +1 -11
- package/jest/testing-helpers/utils/setup-user-event.js +1 -1
- package/package.json +3 -3
- package/shared/mocks/create-range-mock.d.ts +7 -0
- package/shared/mocks/create-range-mock.js +47 -0
- package/shared/mocks/fetch-mock.d.ts +13 -0
- package/shared/mocks/fetch-mock.js +41 -0
- package/shared/mocks/framer-motion-mock.d.ts +15 -0
- package/shared/mocks/framer-motion-mock.js +70 -0
- package/shared/mocks/intersection-observer-mock.d.ts +7 -0
- package/shared/mocks/intersection-observer-mock.js +57 -0
- package/shared/mocks/match-media-mock.d.ts +7 -0
- package/shared/mocks/match-media-mock.js +46 -0
- package/shared/mocks/resize-observer-mock.d.ts +8 -0
- package/shared/mocks/resize-observer-mock.js +43 -0
- package/shared/mocks/scroll-into-view-mock.d.ts +7 -0
- package/shared/mocks/scroll-into-view-mock.js +35 -0
- package/shared/testing-helpers/filters/filter-field.d.ts +128 -0
- package/shared/testing-helpers/filters/filter-field.js +449 -0
- package/vitest/index.d.ts +32 -0
- package/vitest/index.js +98 -0
- package/vitest/mocks/create-range-mock.d.ts +5 -0
- package/vitest/mocks/create-range-mock.js +28 -0
- package/vitest/mocks/fetch-mock.d.ts +5 -0
- package/vitest/mocks/fetch-mock.js +28 -0
- package/vitest/mocks/framer-motion-mock.d.ts +27 -0
- package/vitest/mocks/framer-motion-mock.js +31 -0
- package/vitest/mocks/intersection-observer-mock.d.ts +5 -0
- package/vitest/mocks/intersection-observer-mock.js +28 -0
- package/vitest/mocks/match-media-mock.d.ts +5 -0
- package/vitest/mocks/match-media-mock.js +28 -0
- package/vitest/mocks/resize-observer-mock.d.ts +5 -0
- package/vitest/mocks/resize-observer-mock.js +28 -0
- package/vitest/mocks/scroll-into-view-mock.d.ts +5 -0
- package/vitest/mocks/scroll-into-view-mock.js +28 -0
- package/vitest/preset/index.d.ts +2 -0
- package/vitest/preset/index.js +23 -0
- package/vitest/preset/vitest-preset.d.ts +24 -0
- package/vitest/preset/vitest-preset.js +27 -0
- package/vitest/setup/index.d.ts +2 -0
- package/vitest/setup/index.js +40 -0
- package/vitest/testing-helpers/filters/filter-field.d.ts +6 -0
- package/vitest/testing-helpers/filters/filter-field.js +36 -0
- package/vitest/testing-helpers/utils/isFakeTimersEnabled.d.ts +6 -0
- package/vitest/testing-helpers/utils/isFakeTimersEnabled.js +26 -0
- package/vitest/testing-helpers/utils/setup-user-event.d.ts +7 -0
- package/vitest/testing-helpers/utils/setup-user-event.js +44 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
type MockFnCreator = <TArgs extends unknown[], TReturn>(impl?: (...args: TArgs) => TReturn) => (...args: TArgs) => TReturn;
|
|
2
|
+
export declare function createCreateRangeMockHelpers(fn: MockFnCreator): {
|
|
3
|
+
setupCreateRangeMock: () => void;
|
|
4
|
+
clearCreateRangeMock: () => void;
|
|
5
|
+
};
|
|
6
|
+
export {};
|
|
7
|
+
//# sourceMappingURL=create-range-mock.d.ts.map
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
var create_range_mock_exports = {};
|
|
19
|
+
__export(create_range_mock_exports, {
|
|
20
|
+
createCreateRangeMockHelpers: () => createCreateRangeMockHelpers
|
|
21
|
+
});
|
|
22
|
+
module.exports = __toCommonJS(create_range_mock_exports);
|
|
23
|
+
function createCreateRangeMockHelpers(fn) {
|
|
24
|
+
const pristineCreateRange = global.document.createRange;
|
|
25
|
+
function setupCreateRangeMock() {
|
|
26
|
+
Object.defineProperty(global.document, "createRange", {
|
|
27
|
+
writable: true,
|
|
28
|
+
value: () => {
|
|
29
|
+
const range = new Range();
|
|
30
|
+
range.getBoundingClientRect = fn();
|
|
31
|
+
range.getClientRects = () => {
|
|
32
|
+
return {
|
|
33
|
+
item: () => null,
|
|
34
|
+
length: 0,
|
|
35
|
+
[Symbol.iterator]: function* () {
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
return range;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
function clearCreateRangeMock() {
|
|
44
|
+
global.document.createRange = pristineCreateRange;
|
|
45
|
+
}
|
|
46
|
+
return { setupCreateRangeMock, clearCreateRangeMock };
|
|
47
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
type MockFnCreator = <TArgs extends unknown[], TReturn>(impl?: (...args: TArgs) => TReturn) => (...args: TArgs) => TReturn;
|
|
2
|
+
/** @public */
|
|
3
|
+
export interface MockedResponse {
|
|
4
|
+
ok: boolean;
|
|
5
|
+
status: number;
|
|
6
|
+
json: () => unknown;
|
|
7
|
+
}
|
|
8
|
+
export declare function createFetchMockHelpers(fn: MockFnCreator): {
|
|
9
|
+
setupFetchMock: (mockedValue?: Partial<MockedResponse>) => void;
|
|
10
|
+
clearFetchMock: () => void;
|
|
11
|
+
};
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=fetch-mock.d.ts.map
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
var fetch_mock_exports = {};
|
|
19
|
+
__export(fetch_mock_exports, {
|
|
20
|
+
createFetchMockHelpers: () => createFetchMockHelpers
|
|
21
|
+
});
|
|
22
|
+
module.exports = __toCommonJS(fetch_mock_exports);
|
|
23
|
+
const defaultMockedValue = {
|
|
24
|
+
ok: true,
|
|
25
|
+
status: 200,
|
|
26
|
+
json: () => ({})
|
|
27
|
+
};
|
|
28
|
+
function createFetchMockHelpers(fn) {
|
|
29
|
+
const pristineFetch = global.fetch;
|
|
30
|
+
function setupFetchMock(mockedValue = {}) {
|
|
31
|
+
const merged = { ...defaultMockedValue, ...mockedValue };
|
|
32
|
+
const mockedFetchPromise = Promise.resolve(merged);
|
|
33
|
+
global.fetch = fn(
|
|
34
|
+
() => mockedFetchPromise
|
|
35
|
+
);
|
|
36
|
+
}
|
|
37
|
+
function clearFetchMock() {
|
|
38
|
+
global.fetch = pristineFetch;
|
|
39
|
+
}
|
|
40
|
+
return { setupFetchMock, clearFetchMock };
|
|
41
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type PropsWithChildren, type ComponentType, type RefAttributes } from 'react';
|
|
2
|
+
type MockFnCreator = <TArgs extends unknown[], TReturn>(impl?: (...args: TArgs) => TReturn) => (...args: TArgs) => TReturn;
|
|
3
|
+
interface FramerMotionActual {
|
|
4
|
+
isValidMotionProp: (key: string) => boolean;
|
|
5
|
+
cubicBezier: (mX1: number, mY1: number, mX2: number, mY2: number) => (t: number) => number;
|
|
6
|
+
}
|
|
7
|
+
type MotionComponentType = ComponentType<Record<string, unknown> & RefAttributes<unknown>>;
|
|
8
|
+
export declare function buildFramerMotionMock(fn: MockFnCreator, actual: FramerMotionActual): {
|
|
9
|
+
motion: Record<string, MotionComponentType>;
|
|
10
|
+
AnimatePresence: ComponentType<PropsWithChildren>;
|
|
11
|
+
useReducedMotion: (value?: boolean) => boolean;
|
|
12
|
+
cubicBezier: (mX1: number, mY1: number, mX2: number, mY2: number) => (t: number) => number;
|
|
13
|
+
};
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=framer-motion-mock.d.ts.map
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
var framer_motion_mock_exports = {};
|
|
19
|
+
__export(framer_motion_mock_exports, {
|
|
20
|
+
buildFramerMotionMock: () => buildFramerMotionMock
|
|
21
|
+
});
|
|
22
|
+
module.exports = __toCommonJS(framer_motion_mock_exports);
|
|
23
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
24
|
+
var import_react = require("react");
|
|
25
|
+
function buildFramerMotionMock(fn, actual) {
|
|
26
|
+
const MockedTransition = fn(
|
|
27
|
+
({ children }) => children
|
|
28
|
+
);
|
|
29
|
+
const MockedAnimatePresence = fn(({ children }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MockedTransition, { children }));
|
|
30
|
+
function motionMock(Component, _customMotionComponentConfig = {}) {
|
|
31
|
+
const motion = {
|
|
32
|
+
div: (0, import_react.forwardRef)((props, ref) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { ...props, ref }))
|
|
33
|
+
};
|
|
34
|
+
return (0, import_react.forwardRef)(
|
|
35
|
+
(props, forwardedRef) => {
|
|
36
|
+
const componentProps = Object.fromEntries(
|
|
37
|
+
Object.entries(props).filter(
|
|
38
|
+
([key]) => !actual.isValidMotionProp(key)
|
|
39
|
+
)
|
|
40
|
+
);
|
|
41
|
+
if (typeof Component === "string") {
|
|
42
|
+
const MotionComponent = motion[Component];
|
|
43
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
44
|
+
MotionComponent,
|
|
45
|
+
{
|
|
46
|
+
...componentProps,
|
|
47
|
+
ref: forwardedRef
|
|
48
|
+
}
|
|
49
|
+
);
|
|
50
|
+
}
|
|
51
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
52
|
+
Component,
|
|
53
|
+
{
|
|
54
|
+
ref: forwardedRef,
|
|
55
|
+
...componentProps
|
|
56
|
+
}
|
|
57
|
+
);
|
|
58
|
+
}
|
|
59
|
+
);
|
|
60
|
+
}
|
|
61
|
+
const motionProxy = new Proxy(motionMock, {
|
|
62
|
+
get: (_target, prop) => motionMock(prop)
|
|
63
|
+
});
|
|
64
|
+
return {
|
|
65
|
+
motion: motionProxy,
|
|
66
|
+
AnimatePresence: MockedAnimatePresence,
|
|
67
|
+
useReducedMotion: (value = true) => value,
|
|
68
|
+
cubicBezier: actual.cubicBezier
|
|
69
|
+
};
|
|
70
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
type MockFnCreator = <TArgs extends unknown[], TReturn>(impl?: (...args: TArgs) => TReturn) => (...args: TArgs) => TReturn;
|
|
2
|
+
export declare function createIntersectionObserverMockHelpers(fn: MockFnCreator): {
|
|
3
|
+
setupIntersectionObserverMock: (entries?: Partial<IntersectionObserverEntry>[]) => void;
|
|
4
|
+
clearIntersectionObserverMock: () => void;
|
|
5
|
+
};
|
|
6
|
+
export {};
|
|
7
|
+
//# sourceMappingURL=intersection-observer-mock.d.ts.map
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
var intersection_observer_mock_exports = {};
|
|
19
|
+
__export(intersection_observer_mock_exports, {
|
|
20
|
+
createIntersectionObserverMockHelpers: () => createIntersectionObserverMockHelpers
|
|
21
|
+
});
|
|
22
|
+
module.exports = __toCommonJS(intersection_observer_mock_exports);
|
|
23
|
+
function createIntersectionObserverMockHelpers(fn) {
|
|
24
|
+
const pristineIntersectionObserver = window.IntersectionObserver;
|
|
25
|
+
function setupIntersectionObserverMock(entries = [
|
|
26
|
+
{
|
|
27
|
+
isIntersecting: true,
|
|
28
|
+
intersectionRatio: 1
|
|
29
|
+
}
|
|
30
|
+
]) {
|
|
31
|
+
class MockIntersectionObserver {
|
|
32
|
+
root = null;
|
|
33
|
+
rootMargin = "";
|
|
34
|
+
scrollMargin = "";
|
|
35
|
+
thresholds = [];
|
|
36
|
+
callback;
|
|
37
|
+
constructor(callback, _options) {
|
|
38
|
+
this.callback = callback;
|
|
39
|
+
}
|
|
40
|
+
disconnect = fn();
|
|
41
|
+
observe = fn(
|
|
42
|
+
() => this.callback(entries, this)
|
|
43
|
+
);
|
|
44
|
+
takeRecords = fn();
|
|
45
|
+
unobserve = fn();
|
|
46
|
+
}
|
|
47
|
+
Object.defineProperty(global, "IntersectionObserver", {
|
|
48
|
+
writable: true,
|
|
49
|
+
configurable: true,
|
|
50
|
+
value: MockIntersectionObserver
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
function clearIntersectionObserverMock() {
|
|
54
|
+
global.IntersectionObserver = pristineIntersectionObserver;
|
|
55
|
+
}
|
|
56
|
+
return { setupIntersectionObserverMock, clearIntersectionObserverMock };
|
|
57
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
type MockFnCreator = <TArgs extends unknown[], TReturn>(impl?: (...args: TArgs) => TReturn) => (...args: TArgs) => TReturn;
|
|
2
|
+
export declare function createMatchMediaMockHelpers(fn: MockFnCreator): {
|
|
3
|
+
setupMatchMediaMock: (isMatching?: boolean) => void;
|
|
4
|
+
clearMatchMediaMock: () => void;
|
|
5
|
+
};
|
|
6
|
+
export {};
|
|
7
|
+
//# sourceMappingURL=match-media-mock.d.ts.map
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
var match_media_mock_exports = {};
|
|
19
|
+
__export(match_media_mock_exports, {
|
|
20
|
+
createMatchMediaMockHelpers: () => createMatchMediaMockHelpers
|
|
21
|
+
});
|
|
22
|
+
module.exports = __toCommonJS(match_media_mock_exports);
|
|
23
|
+
function createMatchMediaMockHelpers(fn) {
|
|
24
|
+
const pristineMatchMedia = window.matchMedia;
|
|
25
|
+
function setupMatchMediaMock(isMatching = false) {
|
|
26
|
+
Object.defineProperty(window, "matchMedia", {
|
|
27
|
+
writable: true,
|
|
28
|
+
value: fn((query) => ({
|
|
29
|
+
matches: isMatching,
|
|
30
|
+
media: query,
|
|
31
|
+
onchange: null,
|
|
32
|
+
addListener: fn(),
|
|
33
|
+
// Deprecated
|
|
34
|
+
removeListener: fn(),
|
|
35
|
+
// Deprecated
|
|
36
|
+
addEventListener: fn(),
|
|
37
|
+
removeEventListener: fn(),
|
|
38
|
+
dispatchEvent: fn()
|
|
39
|
+
}))
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
function clearMatchMediaMock() {
|
|
43
|
+
window.matchMedia = pristineMatchMedia;
|
|
44
|
+
}
|
|
45
|
+
return { setupMatchMediaMock, clearMatchMediaMock };
|
|
46
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { PartialDeep } from 'type-fest';
|
|
2
|
+
type MockFnCreator = <TArgs extends unknown[], TReturn>(impl?: (...args: TArgs) => TReturn) => (...args: TArgs) => TReturn;
|
|
3
|
+
export declare function createResizeObserverMockHelpers(fn: MockFnCreator): {
|
|
4
|
+
setupResizeObserverMock: (mockedObserveCallbackValue?: PartialDeep<ResizeObserverEntry>[]) => void;
|
|
5
|
+
clearResizeObserverMock: () => void;
|
|
6
|
+
};
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=resize-observer-mock.d.ts.map
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
var resize_observer_mock_exports = {};
|
|
19
|
+
__export(resize_observer_mock_exports, {
|
|
20
|
+
createResizeObserverMockHelpers: () => createResizeObserverMockHelpers
|
|
21
|
+
});
|
|
22
|
+
module.exports = __toCommonJS(resize_observer_mock_exports);
|
|
23
|
+
function createResizeObserverMockHelpers(fn) {
|
|
24
|
+
const pristineResizeObserver = window.ResizeObserver;
|
|
25
|
+
function setupResizeObserverMock(mockedObserveCallbackValue) {
|
|
26
|
+
Object.defineProperty(window, "ResizeObserver", {
|
|
27
|
+
writable: true,
|
|
28
|
+
value: fn(function(callback) {
|
|
29
|
+
return {
|
|
30
|
+
observe: mockedObserveCallbackValue ? fn(() => {
|
|
31
|
+
callback(mockedObserveCallbackValue);
|
|
32
|
+
}) : fn(),
|
|
33
|
+
unobserve: fn(),
|
|
34
|
+
disconnect: fn()
|
|
35
|
+
};
|
|
36
|
+
})
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
function clearResizeObserverMock() {
|
|
40
|
+
window.ResizeObserver = pristineResizeObserver;
|
|
41
|
+
}
|
|
42
|
+
return { setupResizeObserverMock, clearResizeObserverMock };
|
|
43
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
type MockFnCreator = <TArgs extends unknown[], TReturn>(impl?: (...args: TArgs) => TReturn) => (...args: TArgs) => TReturn;
|
|
2
|
+
export declare function createScrollIntoViewMockHelpers(fn: MockFnCreator): {
|
|
3
|
+
setupScrollIntoViewMock: () => void;
|
|
4
|
+
clearScrollIntoViewMock: () => void;
|
|
5
|
+
};
|
|
6
|
+
export {};
|
|
7
|
+
//# sourceMappingURL=scroll-into-view-mock.d.ts.map
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
var scroll_into_view_mock_exports = {};
|
|
19
|
+
__export(scroll_into_view_mock_exports, {
|
|
20
|
+
createScrollIntoViewMockHelpers: () => createScrollIntoViewMockHelpers
|
|
21
|
+
});
|
|
22
|
+
module.exports = __toCommonJS(scroll_into_view_mock_exports);
|
|
23
|
+
function createScrollIntoViewMockHelpers(fn) {
|
|
24
|
+
const pristineScrollIntoView = window.HTMLElement.prototype.scrollIntoView;
|
|
25
|
+
function setupScrollIntoViewMock() {
|
|
26
|
+
Object.defineProperty(HTMLElement.prototype, "scrollIntoView", {
|
|
27
|
+
writable: true,
|
|
28
|
+
value: fn()
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
function clearScrollIntoViewMock() {
|
|
32
|
+
window.HTMLElement.prototype.scrollIntoView = pristineScrollIntoView;
|
|
33
|
+
}
|
|
34
|
+
return { setupScrollIntoViewMock, clearScrollIntoViewMock };
|
|
35
|
+
}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { type Options, UserEvent } from '@testing-library/user-event';
|
|
2
|
+
/** @internal */
|
|
3
|
+
export interface _FilterFieldDeps {
|
|
4
|
+
isFakeTimersEnabled: () => boolean;
|
|
5
|
+
runOnlyPendingTimers: () => void;
|
|
6
|
+
setupUserEvent: (options?: Options) => UserEvent;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Base class for pinned or recent filter field suggestion.
|
|
10
|
+
* @public */
|
|
11
|
+
export declare class FilterFieldPinnedAndRecentSuggestionBase {
|
|
12
|
+
readonly suggestionRoot: HTMLDivElement;
|
|
13
|
+
private readonly _deps;
|
|
14
|
+
/** @internal */
|
|
15
|
+
constructor(suggestionRoot: HTMLDivElement, deps: _FilterFieldDeps);
|
|
16
|
+
get pinButtonElement(): HTMLButtonElement | null;
|
|
17
|
+
/**
|
|
18
|
+
* Receives the value of the suggestion that would be applied.
|
|
19
|
+
*/
|
|
20
|
+
get value(): string | null;
|
|
21
|
+
/**
|
|
22
|
+
* Returns if the current suggestion is currently pinned or not.
|
|
23
|
+
*/
|
|
24
|
+
get pinned(): boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Applies the suggestion to the filter field.
|
|
27
|
+
*/
|
|
28
|
+
apply(): Promise<void>;
|
|
29
|
+
get pinEnabled(): boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Allows the suggestion to be pinned if not pinned already.
|
|
32
|
+
*/
|
|
33
|
+
pin(): Promise<void>;
|
|
34
|
+
/**
|
|
35
|
+
* Allows the suggestion to be unpinned if not unpinned already.
|
|
36
|
+
*/
|
|
37
|
+
unpin(): Promise<void>;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Testing helper class for pinned suggestions in the filter field
|
|
41
|
+
* @public */
|
|
42
|
+
export declare class FilterFieldPinnedSuggestion extends FilterFieldPinnedAndRecentSuggestionBase {
|
|
43
|
+
/**
|
|
44
|
+
* Receives the value of the suggestion that would be applied.
|
|
45
|
+
*/
|
|
46
|
+
get value(): string | null;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Testing helper class for recent suggestions in the filter field
|
|
50
|
+
* @public */
|
|
51
|
+
export declare class FilterFieldRecentSuggestion extends FilterFieldPinnedAndRecentSuggestionBase {
|
|
52
|
+
/**
|
|
53
|
+
* Receives the value of the suggestion that would be applied.
|
|
54
|
+
*/
|
|
55
|
+
get value(): string | null;
|
|
56
|
+
/**
|
|
57
|
+
* Receives time offset indicating when the filter statement has last been used.
|
|
58
|
+
*/
|
|
59
|
+
get lastUsed(): string | null;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Helper class for interacting with the filter field.
|
|
63
|
+
* @public
|
|
64
|
+
*/
|
|
65
|
+
export declare class FilterFieldHelper {
|
|
66
|
+
readonly dataTestId: string;
|
|
67
|
+
private readonly _deps;
|
|
68
|
+
get filterFieldWrapper(): HTMLElement;
|
|
69
|
+
get editorView(): {
|
|
70
|
+
dispatch: (spec: {
|
|
71
|
+
selection: {
|
|
72
|
+
anchor: number;
|
|
73
|
+
};
|
|
74
|
+
}) => void;
|
|
75
|
+
state: {
|
|
76
|
+
doc: {
|
|
77
|
+
length: number;
|
|
78
|
+
};
|
|
79
|
+
};
|
|
80
|
+
} | undefined;
|
|
81
|
+
get inputElement(): HTMLInputElement;
|
|
82
|
+
get filterFieldElement(): HTMLDivElement;
|
|
83
|
+
get placeholderElement(): HTMLSpanElement | null;
|
|
84
|
+
get suggestionsContainer(): HTMLDivElement | null;
|
|
85
|
+
/** @internal */
|
|
86
|
+
constructor(dataTestId: string, deps: _FilterFieldDeps);
|
|
87
|
+
/** Returns the value of the native text input. */
|
|
88
|
+
get value(): string;
|
|
89
|
+
/** Returns the value of the filter field. */
|
|
90
|
+
get filterFieldValue(): string;
|
|
91
|
+
/**
|
|
92
|
+
* The placeholder text shown in the filter field.
|
|
93
|
+
* Undefined if the placeholder is currently not rendered.
|
|
94
|
+
*/
|
|
95
|
+
get placeholder(): string | undefined;
|
|
96
|
+
/** Focus the filter field if not already focused. */
|
|
97
|
+
focus(): Promise<void>;
|
|
98
|
+
/** Blur the filter field by tabbing out of it. */
|
|
99
|
+
blur(): Promise<void>;
|
|
100
|
+
/** Fill a provided value into the filter field. */
|
|
101
|
+
type(text: string, cursorIndex?: number): Promise<void>;
|
|
102
|
+
/** Clears the filter field value. */
|
|
103
|
+
clear(): Promise<void>;
|
|
104
|
+
/**
|
|
105
|
+
* Moves the cursor to the given index.
|
|
106
|
+
* -1 moves to the end of the input.
|
|
107
|
+
*/
|
|
108
|
+
moveCursorTo(index: number): Promise<void>;
|
|
109
|
+
/** Open the suggestions overlay with the keyboard shortcut. */
|
|
110
|
+
openSuggestions(): Promise<void>;
|
|
111
|
+
/**
|
|
112
|
+
* Close the suggestions overlay using the `Escape` key.
|
|
113
|
+
* If the filter field is focused, the focus will stay in the filter field.
|
|
114
|
+
*/
|
|
115
|
+
closeSuggestions(): Promise<void>;
|
|
116
|
+
/** Apply the suggestion with the given text. */
|
|
117
|
+
applySuggestion(queryString: string): Promise<void>;
|
|
118
|
+
/** Get recent suggestions */
|
|
119
|
+
getRecentSuggestions(): Promise<FilterFieldRecentSuggestion[]>;
|
|
120
|
+
/** Get pinned suggestions */
|
|
121
|
+
getPinnedSuggestions(): Promise<FilterFieldPinnedSuggestion[]>;
|
|
122
|
+
/** Paste text at the current cursor position */
|
|
123
|
+
paste(text: string, cursorIndex?: number): Promise<void>;
|
|
124
|
+
}
|
|
125
|
+
export declare function createFilterFieldHelpers(deps: _FilterFieldDeps): {
|
|
126
|
+
getFilterFieldHelper: (dataTestId: string) => FilterFieldHelper;
|
|
127
|
+
};
|
|
128
|
+
//# sourceMappingURL=filter-field.d.ts.map
|