@m4l/testing 1.2.0 → 1.2.1-beta-docs-autocomplete-async-with-add-mf-sync.0
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/README.md +4 -1
- package/chunks/{reactLeaflet-Ca5S8G_T.js → reactLeaflet-CYEpmWXL.js} +123 -100
- package/index.js +54 -52
- package/package.json +1 -1
- package/types/packages/testing/vitest/src/factories/app/m4lAppComponents.d.ts +3 -1
- package/types/packages/testing/vitest/src/factories/packages/m4lPackageGclick.d.ts +3 -1
- package/types/packages/testing/vitest/src/types.d.ts +32 -0
- package/vitest/index.js +38 -36
package/README.md
CHANGED
|
@@ -312,6 +312,7 @@ Current shared Vitest helpers in `@m4l/testing/vitest` include:
|
|
|
312
312
|
- `createM4lAppFormLayoutsModuleOverrides(...)`
|
|
313
313
|
- `createM4lAppCoreModuleMock(...)`
|
|
314
314
|
- `createM4lPackageGclickModuleMock(...)`
|
|
315
|
+
- `createM4lResourceSynchronizationModuleOverrides()`
|
|
315
316
|
- `createM4lPackageGclickRealtimeModuleMock(...)`
|
|
316
317
|
- `createM4lAppGraphicsModuleMock(...)`
|
|
317
318
|
Includes a neutral `useInfinitePaginate()` entry (no rows, `hasMore: false`,
|
|
@@ -338,8 +339,9 @@ Current shared Vitest helpers in `@m4l/testing/vitest` include:
|
|
|
338
339
|
- `createReResizableModuleMock(...)`
|
|
339
340
|
- `createReactLeafletModuleMock(...)`
|
|
340
341
|
Reusable module factories for M4L component consumers plus app and package `test/setup.ts` files so packages, hosts, and MFs can keep thin local adapters instead of repeating the same large `vi.mock(...)` payloads. When a consumer needs untouched real exports too, pass `baseModule` populated from `importOriginal(...)` and let the shared factory override only the test-facing surface.
|
|
341
|
-
`createM4lAppFormComponentsModuleOverrides(...)` provides a reusable override payload for app/MF `@m4l/components` setups that need the dynamic-MF parameters store plus neutral form container/action placeholders (`FormContainer`, `ActionsContainer`, `ActionFormCancel`, `ActionFormIntro`, `RHFAutocompleteAsync`, and `RHFRadioGroup`) without copying the same local override object across app test setups.
|
|
342
|
+
`createM4lAppFormComponentsModuleOverrides(...)` provides a reusable override payload for app/MF `@m4l/components` setups that need the dynamic-MF parameters store plus neutral form container/action placeholders (`FormContainer`, `ActionsContainer`, `ActionFormCancel`, `ActionFormIntro`, `RHFAutocompleteAsync`, and `RHFRadioGroup`) without copying the same local override object across app test setups. The canonical `RHFAutocompleteAsync` mock remains a neutral placeholder; inspect its props for optional `add` configuration without opening a real creation window.
|
|
342
343
|
`createM4lAppFormLayoutsModuleOverrides(...)` provides a reusable override payload for app/MF `@m4l/layouts` setups that need neutral paper-form seams (`useDynamicPaperForm`, `useFormAddEdit`) and a configurable `createComponentField(...)` identity baseline without repeating the same setup-local overrides.
|
|
344
|
+
`createM4lMFActionModuleOverrides()` provides opt-in `completeMFAction` and `isMFActionRequest` spies plus the production `MF_ACTION_REQUEST_PARAM` identity for save-orchestration tests. Request recognition defaults to false and completion is a no-op; individual scenarios can enable recognition or make the observer throw. Compose it through app-component `moduleOverrides` instead of dynamically importing a component implementation from an MF setup, because that dynamic workspace import marks the component package as lazy in Nx's dependency graph. The standard factory continues to preserve real action helpers through `baseModule`; transport and lifecycle behavior have their own component-level tests.
|
|
343
345
|
`createReactHookFormModuleMock(...)` now accepts `useFormContextData` so tests can inject package-local `setValue`, `reset`, `formState`, and related RHF behavior without rebuilding the full `react-hook-form` contract in each file.
|
|
344
346
|
`createLeafletModuleMock(...)` now covers the repeated partial `leaflet` seams that showed up during the `GpsMap` normalization work: configurable `L.control.scale()` and `L.DomEvent.disableClickPropagation()` / `disableScrollPropagation()` behavior, while still preserving real exports through `baseModule` when the consumer needs the untouched runtime surface.
|
|
345
347
|
`createReactLeafletModuleMock(...)` now covers neutral `Circle`, `GeoJSON`, `Polygon`, `Polyline`, `LayerGroup`, `Marker`, `Popup`, and configurable `useMap()` behavior. Use `useMapData` when the test can keep one stable map object for the whole file, or `useMapImplementation` when the test needs `useMap()` to read mutable per-test state such as a late-bound fake map ref. When a test still needs real exports such as `MapContainer`, keep the mock partial by passing `baseModule` from `importOriginal(...)` and override only the shape components or `useMap()` contract that belong to the scenario.
|
|
@@ -361,6 +363,7 @@ Current shared Vitest helpers in `@m4l/testing/vitest` include:
|
|
|
361
363
|
The shared M4L app factories now also cover neutral platform-shell and MF-loading collaborators that repeatedly show up in app tests, including provider passthrough components such as `ModuleDictionaryProvider`, `ModuleSkeletonProvider`, `DomainCountryProvider`, `FormatterProvider`, `ModalProvider`, `PopupsProvider`, `AreasProvider`, `FlagsProvider`, `EnvironmentProvider`, `HostToolsProvider`, `NetworkProvider`, `AuthProvider`, `LocalesProvider`, `ThemeSettingsProvider`, `DeviceTypeProvider`, and `HostThemeProvider`, plus shell primitives such as `SideBar`, `AppBar`, `HelmetPage`, `AreasAdmin`, `LanguagePopover`, `AccountPopover`, `MFNoAuthApp`, `MFLoader`, `createDynamicMFStore(...)`, `createToaster(...)`, `getMFLoaderComponentsDictionary()`, `getLoadingErrorComponentsDictionary()`, and locale/domain hooks such as `useLocales()`, `useDomainCountry()`, and `getLocaleFromNetwork()`.
|
|
362
364
|
The shared base `@m4l/components` layer now also owns reusable view primitives such as `Divider`, `NavLink`, and `WindowBase`, plus focused placeholder helpers such as `createDividerComponentMock(...)`, `createNavLinkComponentMock(...)`, and `createWindowBaseComponentMock(...)` so app tests can stay on top of the setup-owned baseline instead of rebuilding local workspace-library mocks.
|
|
363
365
|
`createM4lPackageGclickModuleMock(...)` remains intentionally specific to the `@m4l/gclick` package and covers map-store, indicator, and GNSS enum behavior that only makes sense when mocking that exact runtime package.
|
|
366
|
+
`createM4lResourceSynchronizationModuleOverrides()` is an explicit opt-in for MF orchestration suites that need controllable `useResourceInvalidation`, `useResourceMutation`, and `useEntityReferenceAdd` hooks plus the `PERSONS_RESOURCE` and `PROTOCOL_PERSON_REPORT_METHODS_RESOURCE` identities. A lightweight MF setup can use this payload directly without importing the full map/video runtime; a suite that needs other GClick exports can pass it through `moduleOverrides` or combine it with its existing partial mock. The standard package factory keeps these new exports real by default. Each factory invocation owns stable hook results and action functions, so component rerenders do not create artificial subscription changes. The resource contract test imports the real public root while isolating unrelated feature barrels, and compares the two identity constants with production values. Component passthrough contracts reuse the existing real Components preload; the generic autocomplete and MF action helpers remain real unless explicitly overridden.
|
|
364
367
|
The shared app-components baseline now exposes a minimal but stable
|
|
365
368
|
`WINDOW_SIZES.square` contract with both `medium` and `large` entries so app
|
|
366
369
|
tests can open modal windows without each suite rebuilding the same shape
|
|
@@ -5,7 +5,7 @@ import { q as Q, l as x, r as B, w as ee, v as te, u as re } from "./userPrefere
|
|
|
5
5
|
import "date-fns";
|
|
6
6
|
import "history";
|
|
7
7
|
import y from "react";
|
|
8
|
-
const
|
|
8
|
+
const k = "__rhfOnSubmitRef", ne = {
|
|
9
9
|
square: {
|
|
10
10
|
large: {
|
|
11
11
|
width: 800,
|
|
@@ -102,13 +102,13 @@ function he(e) {
|
|
|
102
102
|
function Se(e) {
|
|
103
103
|
return e?.type === "icon";
|
|
104
104
|
}
|
|
105
|
-
function
|
|
105
|
+
function Me(e) {
|
|
106
106
|
return e?.type === "color";
|
|
107
107
|
}
|
|
108
|
-
function
|
|
108
|
+
function Pe(e) {
|
|
109
109
|
return e?.type === "image";
|
|
110
110
|
}
|
|
111
|
-
function
|
|
111
|
+
function O(e) {
|
|
112
112
|
return typeof e == "string" ? JSON.stringify(e) : typeof e == "symbol" ? e.toString() : $(e, {
|
|
113
113
|
depth: 4,
|
|
114
114
|
breakLength: 1 / 0,
|
|
@@ -118,15 +118,15 @@ function k(e) {
|
|
|
118
118
|
}
|
|
119
119
|
function A(e, n, o, r, a) {
|
|
120
120
|
e.push(
|
|
121
|
-
`${n} ${o}: expected ${
|
|
121
|
+
`${n} ${o}: expected ${O(r)}, got ${O(a)}`
|
|
122
122
|
);
|
|
123
123
|
}
|
|
124
|
-
function
|
|
124
|
+
function R(e, n, o) {
|
|
125
125
|
e.push(`${n} ${o}: expected a function, got undefined`);
|
|
126
126
|
}
|
|
127
|
-
function
|
|
127
|
+
function L(e, n, o) {
|
|
128
128
|
e.push(
|
|
129
|
-
`${n} ${o}: expected undefined, got ${
|
|
129
|
+
`${n} ${o}: expected undefined, got ${O("function")}`
|
|
130
130
|
);
|
|
131
131
|
}
|
|
132
132
|
function Ae(e, n, o, r) {
|
|
@@ -136,7 +136,7 @@ function Ae(e, n, o, r) {
|
|
|
136
136
|
}
|
|
137
137
|
const a = Object.keys(o).sort(), i = Object.keys(r).sort();
|
|
138
138
|
g(a, i) || e.push(
|
|
139
|
-
`${n} testProps keys: expected ${
|
|
139
|
+
`${n} testProps keys: expected ${O(i)}, got ${O(a)}`
|
|
140
140
|
), i.forEach((s) => {
|
|
141
141
|
const c = r[s], d = o[s];
|
|
142
142
|
if (c === D) {
|
|
@@ -264,14 +264,14 @@ function be(e) {
|
|
|
264
264
|
requiresFormatter: !0,
|
|
265
265
|
requiresFilter: !1,
|
|
266
266
|
requiresSort: !1
|
|
267
|
-
} :
|
|
267
|
+
} : Me(e) ? {
|
|
268
268
|
expectedTestProps: {
|
|
269
269
|
fieldValue: e.fieldValue
|
|
270
270
|
},
|
|
271
271
|
requiresFormatter: !0,
|
|
272
272
|
requiresFilter: !1,
|
|
273
273
|
requiresSort: !1
|
|
274
|
-
} :
|
|
274
|
+
} : Pe(e) ? {
|
|
275
275
|
expectedTestProps: {
|
|
276
276
|
fieldValue: e.fieldValue,
|
|
277
277
|
fieldText: e.fieldText,
|
|
@@ -287,7 +287,7 @@ function be(e) {
|
|
|
287
287
|
function Te(e) {
|
|
288
288
|
return {
|
|
289
289
|
expectedTestProps: {
|
|
290
|
-
unsupportedHookCall:
|
|
290
|
+
unsupportedHookCall: O(e)
|
|
291
291
|
},
|
|
292
292
|
requiresFormatter: !0,
|
|
293
293
|
requiresFilter: !0,
|
|
@@ -335,10 +335,10 @@ function et(e, n) {
|
|
|
335
335
|
s,
|
|
336
336
|
i.testProps,
|
|
337
337
|
c.expectedTestProps
|
|
338
|
-
), i.formatter === void 0 &&
|
|
338
|
+
), i.formatter === void 0 && R(o, s, "formatter"), c.requiresFilter && i.customFilter === void 0 && R(o, s, "customFilter"), c.requiresSort && i.customSort === void 0 && R(o, s, "customSort");
|
|
339
339
|
return;
|
|
340
340
|
}
|
|
341
|
-
i.formatter !== void 0 &&
|
|
341
|
+
i.formatter !== void 0 && L(o, s, "formatter"), i.customFilter !== void 0 && L(o, s, "customFilter"), i.customSort !== void 0 && L(o, s, "customSort");
|
|
342
342
|
}), o;
|
|
343
343
|
}
|
|
344
344
|
function p(e) {
|
|
@@ -387,21 +387,21 @@ function T(e) {
|
|
|
387
387
|
})
|
|
388
388
|
);
|
|
389
389
|
}
|
|
390
|
-
function
|
|
390
|
+
function Oe(e = "property") {
|
|
391
391
|
return t.fn(
|
|
392
392
|
({ property: n }) => y.createElement("div", {
|
|
393
393
|
"data-testid": `${e}-${String(n)}`
|
|
394
394
|
})
|
|
395
395
|
);
|
|
396
396
|
}
|
|
397
|
-
function
|
|
397
|
+
function Ee(e = "data-src") {
|
|
398
398
|
return t.fn(
|
|
399
399
|
({ src: n }) => y.createElement("span", {
|
|
400
400
|
[e]: String(n)
|
|
401
401
|
})
|
|
402
402
|
);
|
|
403
403
|
}
|
|
404
|
-
function
|
|
404
|
+
function Fe(e = "divider") {
|
|
405
405
|
return t.fn(
|
|
406
406
|
({ customVariant: n, orientation: o }) => y.createElement("div", {
|
|
407
407
|
"data-testid": e,
|
|
@@ -410,7 +410,7 @@ function Ee(e = "divider") {
|
|
|
410
410
|
})
|
|
411
411
|
);
|
|
412
412
|
}
|
|
413
|
-
function
|
|
413
|
+
function ke(e = "nav-link") {
|
|
414
414
|
return t.fn(
|
|
415
415
|
({ children: n, reloadDocument: o, text: r, to: a, ...i }) => y.createElement(
|
|
416
416
|
"a",
|
|
@@ -444,7 +444,7 @@ function Ie(e = "window-base") {
|
|
|
444
444
|
)
|
|
445
445
|
);
|
|
446
446
|
}
|
|
447
|
-
function
|
|
447
|
+
function _e({
|
|
448
448
|
testId: e,
|
|
449
449
|
disabledProp: n = "disabled",
|
|
450
450
|
handlerProp: o = "onClick",
|
|
@@ -490,7 +490,7 @@ function C() {
|
|
|
490
490
|
testProps: e
|
|
491
491
|
}));
|
|
492
492
|
}
|
|
493
|
-
function
|
|
493
|
+
function w(e) {
|
|
494
494
|
return typeof e == "string" ? JSON.stringify(e) : $(e, {
|
|
495
495
|
depth: 4,
|
|
496
496
|
breakLength: 1 / 0,
|
|
@@ -498,9 +498,9 @@ function R(e) {
|
|
|
498
498
|
sorted: !0
|
|
499
499
|
});
|
|
500
500
|
}
|
|
501
|
-
function
|
|
501
|
+
function P(e, n, o, r, a) {
|
|
502
502
|
e.push(
|
|
503
|
-
`${n} ${o}: expected ${
|
|
503
|
+
`${n} ${o}: expected ${w(r)}, got ${w(a)}`
|
|
504
504
|
);
|
|
505
505
|
}
|
|
506
506
|
function rt(e, n) {
|
|
@@ -513,37 +513,37 @@ function rt(e, n) {
|
|
|
513
513
|
o.push(`${s} missing field at index ${a}`);
|
|
514
514
|
return;
|
|
515
515
|
}
|
|
516
|
-
if (i.name !== r.name &&
|
|
516
|
+
if (i.name !== r.name && P(
|
|
517
517
|
o,
|
|
518
518
|
s,
|
|
519
519
|
"name",
|
|
520
520
|
r.name,
|
|
521
521
|
i.name
|
|
522
|
-
), g(i.dictionaryId, r.dictionaryId) ||
|
|
522
|
+
), g(i.dictionaryId, r.dictionaryId) || P(
|
|
523
523
|
o,
|
|
524
524
|
s,
|
|
525
525
|
"dictionaryId",
|
|
526
526
|
r.dictionaryId,
|
|
527
527
|
i.dictionaryId
|
|
528
|
-
), i.type !== r.type &&
|
|
528
|
+
), i.type !== r.type && P(
|
|
529
529
|
o,
|
|
530
530
|
s,
|
|
531
531
|
"type",
|
|
532
532
|
r.type,
|
|
533
533
|
i.type
|
|
534
|
-
), g(i.multiple, r.multiple) ||
|
|
534
|
+
), g(i.multiple, r.multiple) || P(
|
|
535
535
|
o,
|
|
536
536
|
s,
|
|
537
537
|
"multiple",
|
|
538
538
|
r.multiple,
|
|
539
539
|
i.multiple
|
|
540
|
-
), g(i.presence, r.presence) ||
|
|
540
|
+
), g(i.presence, r.presence) || P(
|
|
541
541
|
o,
|
|
542
542
|
s,
|
|
543
543
|
"presence",
|
|
544
544
|
r.presence,
|
|
545
545
|
i.presence
|
|
546
|
-
), r.defaultOperator !== void 0 && !g(i.defaultOperator, r.defaultOperator) &&
|
|
546
|
+
), r.defaultOperator !== void 0 && !g(i.defaultOperator, r.defaultOperator) && P(
|
|
547
547
|
o,
|
|
548
548
|
s,
|
|
549
549
|
"defaultOperator",
|
|
@@ -552,19 +552,19 @@ function rt(e, n) {
|
|
|
552
552
|
), r.restritcOperatorsTo !== void 0 && !g(
|
|
553
553
|
i.restritcOperatorsTo,
|
|
554
554
|
r.restritcOperatorsTo
|
|
555
|
-
) &&
|
|
555
|
+
) && P(
|
|
556
556
|
o,
|
|
557
557
|
s,
|
|
558
558
|
"restritcOperatorsTo",
|
|
559
559
|
r.restritcOperatorsTo,
|
|
560
560
|
i.restritcOperatorsTo
|
|
561
|
-
), r.defaultOperand1 !== void 0 && !g(i.defaultOperand1, r.defaultOperand1) &&
|
|
561
|
+
), r.defaultOperand1 !== void 0 && !g(i.defaultOperand1, r.defaultOperand1) && P(
|
|
562
562
|
o,
|
|
563
563
|
s,
|
|
564
564
|
"defaultOperand1",
|
|
565
565
|
r.defaultOperand1,
|
|
566
566
|
i.defaultOperand1
|
|
567
|
-
), r.urlIcon !== void 0 && !g(i.urlIcon, r.urlIcon) &&
|
|
567
|
+
), r.urlIcon !== void 0 && !g(i.urlIcon, r.urlIcon) && P(
|
|
568
568
|
o,
|
|
569
569
|
s,
|
|
570
570
|
"urlIcon",
|
|
@@ -580,7 +580,7 @@ function rt(e, n) {
|
|
|
580
580
|
r.selectAsyncOptions && !g(
|
|
581
581
|
i.selectAsyncOptions,
|
|
582
582
|
r.selectAsyncOptions
|
|
583
|
-
) &&
|
|
583
|
+
) && P(
|
|
584
584
|
o,
|
|
585
585
|
s,
|
|
586
586
|
"selectAsyncOptions",
|
|
@@ -589,13 +589,13 @@ function rt(e, n) {
|
|
|
589
589
|
);
|
|
590
590
|
}
|
|
591
591
|
}), o) : (o.push(
|
|
592
|
-
`[fields] type: expected "array", got ${
|
|
592
|
+
`[fields] type: expected "array", got ${w(typeof e)}`
|
|
593
593
|
), o);
|
|
594
594
|
}
|
|
595
|
-
function
|
|
595
|
+
function Re(e = k) {
|
|
596
596
|
return globalThis[e];
|
|
597
597
|
}
|
|
598
|
-
function
|
|
598
|
+
function Le(e) {
|
|
599
599
|
return e === void 0 ? "" : JSON.stringify(e);
|
|
600
600
|
}
|
|
601
601
|
function V(e) {
|
|
@@ -606,7 +606,7 @@ function V(e) {
|
|
|
606
606
|
sorted: !0
|
|
607
607
|
});
|
|
608
608
|
}
|
|
609
|
-
function
|
|
609
|
+
function E(e, n, o, r, a) {
|
|
610
610
|
e.push(
|
|
611
611
|
`${n} ${o}: expected ${V(r)}, got ${V(a)}`
|
|
612
612
|
);
|
|
@@ -621,31 +621,31 @@ function nt(e, n) {
|
|
|
621
621
|
o.push(`${s} missing field at index ${a}`);
|
|
622
622
|
return;
|
|
623
623
|
}
|
|
624
|
-
i.name !== r.name &&
|
|
624
|
+
i.name !== r.name && E(
|
|
625
625
|
o,
|
|
626
626
|
s,
|
|
627
627
|
"name",
|
|
628
628
|
r.name,
|
|
629
629
|
i.name
|
|
630
|
-
), g(i.dictionaryId, r.dictionaryId) ||
|
|
630
|
+
), g(i.dictionaryId, r.dictionaryId) || E(
|
|
631
631
|
o,
|
|
632
632
|
s,
|
|
633
633
|
"dictionaryId",
|
|
634
634
|
r.dictionaryId,
|
|
635
635
|
i.dictionaryId
|
|
636
|
-
), i.type !== r.type &&
|
|
636
|
+
), i.type !== r.type && E(
|
|
637
637
|
o,
|
|
638
638
|
s,
|
|
639
639
|
"type",
|
|
640
640
|
r.type,
|
|
641
641
|
i.type
|
|
642
|
-
), g(i.presence, r.presence) ||
|
|
642
|
+
), g(i.presence, r.presence) || E(
|
|
643
643
|
o,
|
|
644
644
|
s,
|
|
645
645
|
"presence",
|
|
646
646
|
r.presence,
|
|
647
647
|
i.presence
|
|
648
|
-
), r.urlIcon !== void 0 && !g(i.urlIcon, r.urlIcon) &&
|
|
648
|
+
), r.urlIcon !== void 0 && !g(i.urlIcon, r.urlIcon) && E(
|
|
649
649
|
o,
|
|
650
650
|
s,
|
|
651
651
|
"urlIcon",
|
|
@@ -656,7 +656,7 @@ function nt(e, n) {
|
|
|
656
656
|
`[fields] type: expected "array", got ${V(typeof e)}`
|
|
657
657
|
), o);
|
|
658
658
|
}
|
|
659
|
-
function
|
|
659
|
+
function we() {
|
|
660
660
|
return {
|
|
661
661
|
hashLayers: {},
|
|
662
662
|
mapActions: {
|
|
@@ -711,7 +711,7 @@ function at({
|
|
|
711
711
|
console.error = n;
|
|
712
712
|
});
|
|
713
713
|
}
|
|
714
|
-
function st(e =
|
|
714
|
+
function st(e = k) {
|
|
715
715
|
globalThis[e] = {
|
|
716
716
|
current: null
|
|
717
717
|
};
|
|
@@ -795,7 +795,7 @@ function ct({
|
|
|
795
795
|
function W({
|
|
796
796
|
baseModule: e = {},
|
|
797
797
|
moduleOverrides: n = {},
|
|
798
|
-
submitRefGlobalKey: o =
|
|
798
|
+
submitRefGlobalKey: o = k
|
|
799
799
|
} = {}) {
|
|
800
800
|
const r = e.createValidationPartialObject, a = e.createValidationFullObject, i = e.createValidationSchema, s = e.getStepsAndValidationSchema;
|
|
801
801
|
return {
|
|
@@ -803,7 +803,7 @@ function W({
|
|
|
803
803
|
Accordion: p("accordion"),
|
|
804
804
|
ContainerFlow: S("container-flow"),
|
|
805
805
|
ActionsGroup: p("actions-group"),
|
|
806
|
-
Divider:
|
|
806
|
+
Divider: Fe(),
|
|
807
807
|
ChipStatusFormatter: t.fn(({ label: c }) => /* @__PURE__ */ u("div", { "data-testid": "chip-status-formatter", children: c ?? "" })),
|
|
808
808
|
BooleanFormatter: t.fn(({ value: c }) => /* @__PURE__ */ u("div", { "data-testid": "boolean-formatter", children: `${c ?? ""}` })),
|
|
809
809
|
DateFormatter: t.fn(({ value: c }) => `${c ?? ""}`),
|
|
@@ -813,9 +813,9 @@ function W({
|
|
|
813
813
|
getTypographyStyles: t.fn(() => ({})),
|
|
814
814
|
getComponentClasses: t.fn(
|
|
815
815
|
(c, d) => (Array.isArray(d) ? d : Object.keys(d)).reduce(
|
|
816
|
-
(m,
|
|
816
|
+
(m, M) => ({
|
|
817
817
|
...m,
|
|
818
|
-
[
|
|
818
|
+
[M]: M
|
|
819
819
|
}),
|
|
820
820
|
{}
|
|
821
821
|
)
|
|
@@ -847,7 +847,7 @@ function W({
|
|
|
847
847
|
onSubmit: d,
|
|
848
848
|
statusLoad: l
|
|
849
849
|
}) => {
|
|
850
|
-
const m =
|
|
850
|
+
const m = Re(o);
|
|
851
851
|
return m && d && (m.current = d), /* @__PURE__ */ u(
|
|
852
852
|
"div",
|
|
853
853
|
{
|
|
@@ -884,10 +884,10 @@ function W({
|
|
|
884
884
|
DataGrid: t.fn(({ children: c }) => /* @__PURE__ */ u("div", { "data-testid": "data-grid", children: c })),
|
|
885
885
|
Stack: v("stack"),
|
|
886
886
|
Button: t.fn(
|
|
887
|
-
({ children: c, disabled: d, label: l, onClick: m, "data-testid":
|
|
887
|
+
({ children: c, disabled: d, label: l, onClick: m, "data-testid": M }) => /* @__PURE__ */ u(
|
|
888
888
|
"button",
|
|
889
889
|
{
|
|
890
|
-
"data-testid": typeof
|
|
890
|
+
"data-testid": typeof M == "string" ? M : "button",
|
|
891
891
|
disabled: !!d,
|
|
892
892
|
onClick: m,
|
|
893
893
|
children: String(l ?? c ?? "")
|
|
@@ -898,7 +898,7 @@ function W({
|
|
|
898
898
|
WindowBase: Ie(),
|
|
899
899
|
Card: v("card"),
|
|
900
900
|
Typography: v("typography"),
|
|
901
|
-
NavLink:
|
|
901
|
+
NavLink: ke(),
|
|
902
902
|
Tooltip: t.fn(
|
|
903
903
|
({
|
|
904
904
|
children: c,
|
|
@@ -931,8 +931,8 @@ function W({
|
|
|
931
931
|
}
|
|
932
932
|
)
|
|
933
933
|
),
|
|
934
|
-
Icon:
|
|
935
|
-
ReactJsonViewer: t.fn(({ data: c }) => /* @__PURE__ */ u("div", { "data-testid": "react-json-view", children:
|
|
934
|
+
Icon: Ee(),
|
|
935
|
+
ReactJsonViewer: t.fn(({ data: c }) => /* @__PURE__ */ u("div", { "data-testid": "react-json-view", children: Le(c) })),
|
|
936
936
|
TabsNavigator: S("tabs-navigator", "TabsNavigator"),
|
|
937
937
|
DistanceToNowFormatter: t.fn(
|
|
938
938
|
({
|
|
@@ -967,7 +967,7 @@ function W({
|
|
|
967
967
|
(c, d, l) => d.filter((m) => c.has(l(m)))
|
|
968
968
|
),
|
|
969
969
|
PaperForm: Ce(),
|
|
970
|
-
PropertyValue:
|
|
970
|
+
PropertyValue: Oe(),
|
|
971
971
|
RHFColorPicker: T("rhf-color"),
|
|
972
972
|
RHFCheckbox: T("rhf-checkbox"),
|
|
973
973
|
RHFHelperError: T("rhf-helper"),
|
|
@@ -995,7 +995,7 @@ function W({
|
|
|
995
995
|
StepperNextButton: S("stepper-next"),
|
|
996
996
|
StepperPrevButton: S("stepper-prev"),
|
|
997
997
|
StepperSubmitButton: S("stepper-submit"),
|
|
998
|
-
StepperCancelButton:
|
|
998
|
+
StepperCancelButton: _e({
|
|
999
999
|
testId: "stepper-cancel-button",
|
|
1000
1000
|
handlerProp: "onClose",
|
|
1001
1001
|
labelProp: "children"
|
|
@@ -1013,7 +1013,7 @@ function W({
|
|
|
1013
1013
|
function dt({
|
|
1014
1014
|
baseModule: e = {},
|
|
1015
1015
|
moduleOverrides: n = {},
|
|
1016
|
-
submitRefGlobalKey: o =
|
|
1016
|
+
submitRefGlobalKey: o = k
|
|
1017
1017
|
} = {}) {
|
|
1018
1018
|
return {
|
|
1019
1019
|
...W({ baseModule: e, submitRefGlobalKey: o }),
|
|
@@ -1106,7 +1106,14 @@ function ut({
|
|
|
1106
1106
|
RHFRadioGroup: t.fn(() => null)
|
|
1107
1107
|
};
|
|
1108
1108
|
}
|
|
1109
|
-
function ft({
|
|
1109
|
+
function ft() {
|
|
1110
|
+
return {
|
|
1111
|
+
MF_ACTION_REQUEST_PARAM: "mfActionRequest",
|
|
1112
|
+
completeMFAction: t.fn(),
|
|
1113
|
+
isMFActionRequest: t.fn(() => !1)
|
|
1114
|
+
};
|
|
1115
|
+
}
|
|
1116
|
+
function lt({
|
|
1110
1117
|
baseModule: e = {},
|
|
1111
1118
|
baseStoreState: n,
|
|
1112
1119
|
environmentData: o,
|
|
@@ -1124,7 +1131,7 @@ function ft({
|
|
|
1124
1131
|
const m = x({
|
|
1125
1132
|
...U,
|
|
1126
1133
|
...o
|
|
1127
|
-
}),
|
|
1134
|
+
}), M = r ?? B(), h = ee(
|
|
1128
1135
|
s
|
|
1129
1136
|
), b = te(s), K = n ?? {}, z = l ?? {
|
|
1130
1137
|
flagsActions: {
|
|
@@ -1170,16 +1177,16 @@ function ft({
|
|
|
1170
1177
|
EMMIT_EVENT_HOST_EMERGE_WINDOW: "EMMIT_EVENT_HOST_EMERGE_WINDOW"
|
|
1171
1178
|
},
|
|
1172
1179
|
getPropertyByString: t.fn(
|
|
1173
|
-
(f, I,
|
|
1180
|
+
(f, I, _) => {
|
|
1174
1181
|
if (f == null)
|
|
1175
|
-
return
|
|
1182
|
+
return _;
|
|
1176
1183
|
try {
|
|
1177
1184
|
return I.split(".").reduce(
|
|
1178
1185
|
(Z, X) => Z?.[X],
|
|
1179
1186
|
f
|
|
1180
|
-
) ??
|
|
1187
|
+
) ?? _;
|
|
1181
1188
|
} catch {
|
|
1182
|
-
return
|
|
1189
|
+
return _;
|
|
1183
1190
|
}
|
|
1184
1191
|
}
|
|
1185
1192
|
),
|
|
@@ -1195,7 +1202,7 @@ function ft({
|
|
|
1195
1202
|
useFlagsStore: t.fn(
|
|
1196
1203
|
(f) => f(z)
|
|
1197
1204
|
),
|
|
1198
|
-
useHostTools: t.fn(() =>
|
|
1205
|
+
useHostTools: t.fn(() => M),
|
|
1199
1206
|
useModuleDictionary: t.fn(() => ({
|
|
1200
1207
|
getLabel: t.fn(i),
|
|
1201
1208
|
getModuleLabel: t.fn(() => a)
|
|
@@ -1238,7 +1245,7 @@ function ft({
|
|
|
1238
1245
|
...c
|
|
1239
1246
|
};
|
|
1240
1247
|
}
|
|
1241
|
-
function
|
|
1248
|
+
function pt({
|
|
1242
1249
|
baseModule: e = {},
|
|
1243
1250
|
moduleOverrides: n = {}
|
|
1244
1251
|
} = {}) {
|
|
@@ -1301,7 +1308,7 @@ function lt({
|
|
|
1301
1308
|
...n
|
|
1302
1309
|
};
|
|
1303
1310
|
}
|
|
1304
|
-
function
|
|
1311
|
+
function mt({
|
|
1305
1312
|
baseModule: e = {},
|
|
1306
1313
|
moduleOverrides: n = {}
|
|
1307
1314
|
} = {}) {
|
|
@@ -1340,7 +1347,7 @@ function pt({
|
|
|
1340
1347
|
...n
|
|
1341
1348
|
};
|
|
1342
1349
|
}
|
|
1343
|
-
function
|
|
1350
|
+
function yt({
|
|
1344
1351
|
createComponentFieldImplementation: e
|
|
1345
1352
|
} = {}) {
|
|
1346
1353
|
return {
|
|
@@ -1351,7 +1358,7 @@ function mt({
|
|
|
1351
1358
|
)
|
|
1352
1359
|
};
|
|
1353
1360
|
}
|
|
1354
|
-
function
|
|
1361
|
+
function gt({
|
|
1355
1362
|
baseModule: e = {},
|
|
1356
1363
|
domEventData: n,
|
|
1357
1364
|
moduleOverrides: o = {},
|
|
@@ -1375,7 +1382,7 @@ function yt({
|
|
|
1375
1382
|
...o
|
|
1376
1383
|
};
|
|
1377
1384
|
}
|
|
1378
|
-
function
|
|
1385
|
+
function vt({
|
|
1379
1386
|
baseModule: e = {},
|
|
1380
1387
|
dataGridPersistenceData: n,
|
|
1381
1388
|
dynamicFilterAndSortData: o,
|
|
@@ -1406,7 +1413,7 @@ function gt({
|
|
|
1406
1413
|
popupsActions: {
|
|
1407
1414
|
addPopup: t.fn()
|
|
1408
1415
|
}
|
|
1409
|
-
},
|
|
1416
|
+
}, M = s ?? {
|
|
1410
1417
|
getCookie: t.fn(),
|
|
1411
1418
|
getWindowId: t.fn(() => "test-window-id"),
|
|
1412
1419
|
setCookie: t.fn(),
|
|
@@ -1424,11 +1431,11 @@ function gt({
|
|
|
1424
1431
|
),
|
|
1425
1432
|
useWatchTyped: t.fn(() => {
|
|
1426
1433
|
}),
|
|
1427
|
-
useWindowToolsMF: t.fn(() =>
|
|
1434
|
+
useWindowToolsMF: t.fn(() => M),
|
|
1428
1435
|
...a
|
|
1429
1436
|
};
|
|
1430
1437
|
}
|
|
1431
|
-
function
|
|
1438
|
+
function ht({
|
|
1432
1439
|
baseModule: e = {},
|
|
1433
1440
|
environmentData: n,
|
|
1434
1441
|
getLabel: o = (d, l) => l ? `label:${d}:${l}` : `label:${d}`,
|
|
@@ -1443,7 +1450,7 @@ function vt({
|
|
|
1443
1450
|
...n
|
|
1444
1451
|
}), l = r ?? B(), m = s ?? {
|
|
1445
1452
|
hasPrivilege: t.fn(() => !0)
|
|
1446
|
-
},
|
|
1453
|
+
}, M = c ?? {
|
|
1447
1454
|
networkOperation: t.fn()
|
|
1448
1455
|
};
|
|
1449
1456
|
return {
|
|
@@ -1459,17 +1466,17 @@ function vt({
|
|
|
1459
1466
|
})),
|
|
1460
1467
|
useModulePrivileges: t.fn(() => m),
|
|
1461
1468
|
useModuleSkeleton: t.fn(() => !1),
|
|
1462
|
-
useNetwork: t.fn(() =>
|
|
1469
|
+
useNetwork: t.fn(() => M),
|
|
1463
1470
|
...a
|
|
1464
1471
|
};
|
|
1465
1472
|
}
|
|
1466
|
-
function
|
|
1473
|
+
function St({
|
|
1467
1474
|
baseModule: e = {},
|
|
1468
1475
|
mapStoreState: n,
|
|
1469
1476
|
moduleOverrides: o = {}
|
|
1470
1477
|
} = {}) {
|
|
1471
1478
|
const r = {
|
|
1472
|
-
...
|
|
1479
|
+
...we(),
|
|
1473
1480
|
...n
|
|
1474
1481
|
};
|
|
1475
1482
|
return {
|
|
@@ -1537,16 +1544,30 @@ function ht({
|
|
|
1537
1544
|
...o
|
|
1538
1545
|
};
|
|
1539
1546
|
}
|
|
1547
|
+
function Mt() {
|
|
1548
|
+
const e = { scopeKey: "test-scope", refreshKey: void 0 }, n = {
|
|
1549
|
+
scopeKey: "test-scope",
|
|
1550
|
+
publishResourceChange: t.fn(async (r) => r.operationId ?? "operation-test"),
|
|
1551
|
+
reportFailure: t.fn()
|
|
1552
|
+
}, o = t.fn(async () => ({ status: "cancelled" }));
|
|
1553
|
+
return {
|
|
1554
|
+
PERSONS_RESOURCE: "rt_persons",
|
|
1555
|
+
PROTOCOL_PERSON_REPORT_METHODS_RESOURCE: "rt_protocol_person_report_methods",
|
|
1556
|
+
useResourceInvalidation: t.fn(() => e),
|
|
1557
|
+
useResourceMutation: t.fn(() => n),
|
|
1558
|
+
useEntityReferenceAdd: t.fn(() => o)
|
|
1559
|
+
};
|
|
1560
|
+
}
|
|
1540
1561
|
const He = "#1E96DC", Ne = /* @__PURE__ */ new Set(["state", "updatedAt", "value"]);
|
|
1541
1562
|
var G = /* @__PURE__ */ ((e) => (e[e.off = 0] = "off", e[e.moving = 1] = "moving", e[e.stopped = 2] = "stopped", e[e.stoppedRalenti = 3] = "stoppedRalenti", e[e.stoppedExcesiveRalenti = 4] = "stoppedExcesiveRalenti", e[e.towing = 5] = "towing", e[e.powerSaving = 6] = "powerSaving", e[e.maxSpeed = 7] = "maxSpeed", e[e.notDetectable = 250] = "notDetectable", e))(G || {}), J = /* @__PURE__ */ ((e) => (e[e.reliable = 0] = "reliable", e[e.acceptable = 1] = "acceptable", e[e.noSignal = 2] = "noSignal", e))(J || {});
|
|
1542
|
-
function
|
|
1563
|
+
function F(e) {
|
|
1543
1564
|
if (typeof e != "object" || e === null || Array.isArray(e))
|
|
1544
1565
|
return !1;
|
|
1545
1566
|
const n = Object.getPrototypeOf(e);
|
|
1546
1567
|
return n === Object.prototype || n === null;
|
|
1547
1568
|
}
|
|
1548
1569
|
function N(e) {
|
|
1549
|
-
return
|
|
1570
|
+
return F(e) ? Object.keys(e).some((n) => Ne.has(n)) : !1;
|
|
1550
1571
|
}
|
|
1551
1572
|
function qe(e, n) {
|
|
1552
1573
|
const o = e.updatedAt, r = n.updatedAt;
|
|
@@ -1580,7 +1601,7 @@ function j(e, n) {
|
|
|
1580
1601
|
};
|
|
1581
1602
|
if (Array.isArray(n))
|
|
1582
1603
|
return n;
|
|
1583
|
-
if (
|
|
1604
|
+
if (F(e) && F(n)) {
|
|
1584
1605
|
let o = n, r = !1;
|
|
1585
1606
|
return Object.entries(n).forEach(([a, i]) => {
|
|
1586
1607
|
const s = j(
|
|
@@ -1598,9 +1619,9 @@ function Ue(e, n) {
|
|
|
1598
1619
|
e,
|
|
1599
1620
|
n
|
|
1600
1621
|
);
|
|
1601
|
-
return
|
|
1622
|
+
return F(o) ? o : n;
|
|
1602
1623
|
}
|
|
1603
|
-
function
|
|
1624
|
+
function Pt({
|
|
1604
1625
|
baseModule: e = {},
|
|
1605
1626
|
moduleOverrides: n = {},
|
|
1606
1627
|
surface: o = "root"
|
|
@@ -1622,7 +1643,7 @@ function St({
|
|
|
1622
1643
|
...n
|
|
1623
1644
|
};
|
|
1624
1645
|
}
|
|
1625
|
-
function
|
|
1646
|
+
function At({
|
|
1626
1647
|
baseModule: e = {},
|
|
1627
1648
|
moduleOverrides: n = {}
|
|
1628
1649
|
} = {}) {
|
|
@@ -1648,7 +1669,7 @@ function Pt({
|
|
|
1648
1669
|
...n
|
|
1649
1670
|
};
|
|
1650
1671
|
}
|
|
1651
|
-
function
|
|
1672
|
+
function bt({
|
|
1652
1673
|
baseModule: e = {},
|
|
1653
1674
|
moduleOverrides: n = {}
|
|
1654
1675
|
} = {}) {
|
|
@@ -1684,7 +1705,7 @@ function Mt({
|
|
|
1684
1705
|
...n
|
|
1685
1706
|
};
|
|
1686
1707
|
}
|
|
1687
|
-
function
|
|
1708
|
+
function Tt({
|
|
1688
1709
|
baseModule: e = {},
|
|
1689
1710
|
moduleOverrides: n = {},
|
|
1690
1711
|
useFormContextData: o = {}
|
|
@@ -1707,12 +1728,12 @@ function At({
|
|
|
1707
1728
|
...n
|
|
1708
1729
|
};
|
|
1709
1730
|
}
|
|
1710
|
-
function
|
|
1731
|
+
function Ct() {
|
|
1711
1732
|
return {
|
|
1712
1733
|
Resizable: t.fn(({ children: e }) => /* @__PURE__ */ u("div", { "data-testid": "resizable", children: e }))
|
|
1713
1734
|
};
|
|
1714
1735
|
}
|
|
1715
|
-
function
|
|
1736
|
+
function Dt({
|
|
1716
1737
|
baseModule: e = {},
|
|
1717
1738
|
moduleOverrides: n = {},
|
|
1718
1739
|
useMapData: o,
|
|
@@ -1810,10 +1831,11 @@ function Tt({
|
|
|
1810
1831
|
};
|
|
1811
1832
|
}
|
|
1812
1833
|
export {
|
|
1834
|
+
Dt as $,
|
|
1813
1835
|
H as A,
|
|
1814
1836
|
ot as B,
|
|
1815
1837
|
it as C,
|
|
1816
|
-
|
|
1838
|
+
k as D,
|
|
1817
1839
|
at as E,
|
|
1818
1840
|
st as F,
|
|
1819
1841
|
ct as G,
|
|
@@ -1824,18 +1846,19 @@ export {
|
|
|
1824
1846
|
pt as L,
|
|
1825
1847
|
ne as M,
|
|
1826
1848
|
mt as N,
|
|
1827
|
-
|
|
1828
|
-
|
|
1829
|
-
|
|
1830
|
-
|
|
1849
|
+
yt as O,
|
|
1850
|
+
W as P,
|
|
1851
|
+
gt as Q,
|
|
1852
|
+
$e as R,
|
|
1831
1853
|
vt as S,
|
|
1832
1854
|
ht as T,
|
|
1833
1855
|
St as U,
|
|
1834
|
-
|
|
1835
|
-
|
|
1856
|
+
Mt as V,
|
|
1857
|
+
Pt as W,
|
|
1836
1858
|
At as X,
|
|
1837
1859
|
bt as Y,
|
|
1838
1860
|
Tt as Z,
|
|
1861
|
+
Ct as _,
|
|
1839
1862
|
oe as a,
|
|
1840
1863
|
ie as b,
|
|
1841
1864
|
ae as c,
|
|
@@ -1849,17 +1872,17 @@ export {
|
|
|
1849
1872
|
v as k,
|
|
1850
1873
|
De as l,
|
|
1851
1874
|
T as m,
|
|
1852
|
-
|
|
1853
|
-
|
|
1854
|
-
|
|
1855
|
-
|
|
1875
|
+
Oe as n,
|
|
1876
|
+
Ee as o,
|
|
1877
|
+
Fe as p,
|
|
1878
|
+
ke as q,
|
|
1856
1879
|
Ie as r,
|
|
1857
|
-
|
|
1880
|
+
_e as s,
|
|
1858
1881
|
tt as t,
|
|
1859
1882
|
C as u,
|
|
1860
1883
|
rt as v,
|
|
1861
|
-
|
|
1862
|
-
|
|
1884
|
+
Re as w,
|
|
1885
|
+
Le as x,
|
|
1863
1886
|
nt as y,
|
|
1864
|
-
|
|
1887
|
+
we as z
|
|
1865
1888
|
};
|
package/index.js
CHANGED
|
@@ -1,78 +1,80 @@
|
|
|
1
1
|
import { act as o } from "react";
|
|
2
|
-
import { afterAll as r, afterEach as c, beforeAll as s, beforeEach as M, describe as l, expect as n, it as i, test as k, vi as
|
|
2
|
+
import { afterAll as r, afterEach as c, beforeAll as s, beforeEach as M, describe as l, expect as n, it as i, test as k, vi as d } from "vitest";
|
|
3
3
|
import { cleanup as u, fireEvent as m, renderHook as C, screen as f, waitFor as g, within as A } from "@testing-library/react";
|
|
4
4
|
import { default as E } from "@testing-library/user-event";
|
|
5
|
-
import { c as
|
|
6
|
-
import { D as
|
|
5
|
+
import { c as v } from "./chunks/render-CsuV8xqo.js";
|
|
6
|
+
import { D as R, a as x, M as L, f as _, v as D, y as h, s as G, k as O, h as b, u as B, z as H, p as I, l as y, o as T, Q as w, G as N, H as W, K, I as z, O as U, L as V, N as Y, P as Z, J as j, R as q, S as J, T as Q, U as X, W as $, X as ee, Y as ae, V as oe, m as te, q as re, j as ce, n as se, _ as Me, Z as le, $ as ne, i as ie, t as ke, r as de, d as pe, b as ue, c as me, e as Ce, g as fe, B as ge, A as Ae, C as Fe, w as Ee, E as Pe, F as ve, x as Se } from "./chunks/reactLeaflet-CYEpmWXL.js";
|
|
7
7
|
export {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
R as DEFAULT_RHF_SUBMIT_REF_GLOBAL_KEY,
|
|
9
|
+
x as M4L_APP_DATAGRID_SEMANTIC_WIDTHS,
|
|
10
|
+
L as M4L_APP_WINDOW_SIZES,
|
|
11
11
|
o as act,
|
|
12
12
|
r as afterAll,
|
|
13
13
|
c as afterEach,
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
_ as assertColumnConfigs,
|
|
15
|
+
D as assertFilterFields,
|
|
16
|
+
h as assertSortFields,
|
|
17
17
|
s as beforeAll,
|
|
18
18
|
M as beforeEach,
|
|
19
19
|
u as cleanup,
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
20
|
+
G as createActionButtonComponentMock,
|
|
21
|
+
O as createChildrenContainerComponentMock,
|
|
22
|
+
b as createChildrenDivComponentMock,
|
|
23
|
+
B as createDataGridColumnHookMock,
|
|
24
|
+
H as createDefaultM4lPackageGclickMapStoreState,
|
|
25
|
+
I as createDividerComponentMock,
|
|
26
|
+
y as createHelmetPageComponentMock,
|
|
27
|
+
T as createIconComponentMock,
|
|
28
|
+
w as createLeafletModuleMock,
|
|
29
29
|
N as createM4lAppBaseModuleMock,
|
|
30
30
|
W as createM4lAppComponentsModuleMock,
|
|
31
31
|
K as createM4lAppCoreModuleMock,
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
z as createM4lAppFormComponentsModuleOverrides,
|
|
33
|
+
U as createM4lAppFormLayoutsModuleOverrides,
|
|
34
|
+
V as createM4lAppGraphicsModuleMock,
|
|
35
35
|
Y as createM4lAppLayoutsModuleMock,
|
|
36
36
|
Z as createM4lBaseComponentsModuleMock,
|
|
37
|
-
j as
|
|
38
|
-
q as
|
|
39
|
-
J as
|
|
40
|
-
Q as
|
|
41
|
-
X as
|
|
42
|
-
$ as
|
|
43
|
-
ee as
|
|
44
|
-
ae as
|
|
45
|
-
oe as
|
|
46
|
-
te as
|
|
47
|
-
re as
|
|
48
|
-
ce as
|
|
49
|
-
se as
|
|
50
|
-
Me as
|
|
51
|
-
le as
|
|
52
|
-
ne as
|
|
53
|
-
ie as
|
|
54
|
-
ke as
|
|
55
|
-
|
|
37
|
+
j as createM4lMFActionModuleOverrides,
|
|
38
|
+
q as createM4lPackageBaseModuleMock,
|
|
39
|
+
J as createM4lPackageComponentsModuleMock,
|
|
40
|
+
Q as createM4lPackageCoreModuleMock,
|
|
41
|
+
X as createM4lPackageGclickModuleMock,
|
|
42
|
+
$ as createM4lPackageGclickRealtimeModuleMock,
|
|
43
|
+
ee as createM4lPackageGraphicsModuleMock,
|
|
44
|
+
ae as createM4lPackageLayoutsModuleMock,
|
|
45
|
+
oe as createM4lResourceSynchronizationModuleOverrides,
|
|
46
|
+
te as createNamedFieldComponentMock,
|
|
47
|
+
re as createNavLinkComponentMock,
|
|
48
|
+
ce as createPaperFormComponentMock,
|
|
49
|
+
se as createPropertyValueComponentMock,
|
|
50
|
+
Me as createReResizableModuleMock,
|
|
51
|
+
le as createReactHookFormModuleMock,
|
|
52
|
+
ne as createReactLeafletModuleMock,
|
|
53
|
+
ie as createStaticDivComponentMock,
|
|
54
|
+
ke as createSuspenseLoadableComponentMock,
|
|
55
|
+
de as createWindowBaseComponentMock,
|
|
56
|
+
pe as defaultM4lAppEnvironmentOverrides,
|
|
57
|
+
ue as defaultM4lPackageEnvironmentOverrides,
|
|
56
58
|
l as describe,
|
|
57
|
-
|
|
59
|
+
me as distanceToNowFormatterFixture,
|
|
58
60
|
n as expect,
|
|
59
61
|
m as fireEvent,
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
62
|
+
Ce as gclickGnssMotionStatusEnumFixture,
|
|
63
|
+
fe as gclickGnssSignalEnumFixture,
|
|
64
|
+
ge as getMissingModuleMockExports,
|
|
65
|
+
Ae as getModuleExportContractKind,
|
|
66
|
+
Fe as getModuleMockKindMismatches,
|
|
67
|
+
Ee as getRHFSubmitRef,
|
|
68
|
+
Pe as installConsoleErrorFilter,
|
|
69
|
+
ve as installRhfOnSubmitRef,
|
|
68
70
|
i as it,
|
|
69
|
-
|
|
71
|
+
v as render,
|
|
70
72
|
C as renderHook,
|
|
71
73
|
f as screen,
|
|
72
|
-
|
|
74
|
+
Se as stringifyViewerData,
|
|
73
75
|
k as test,
|
|
74
76
|
E as userEvent,
|
|
75
|
-
|
|
77
|
+
d as vi,
|
|
76
78
|
g as waitFor,
|
|
77
79
|
A as within
|
|
78
80
|
};
|
package/package.json
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { CreateM4lAppComponentsModuleMockOptions, CreateM4lAppFormComponentsModuleOverridesOptions, VitestModuleMockExports } from '../../types';
|
|
1
|
+
import type { CreateM4lAppComponentsModuleMockOptions, CreateM4lAppFormComponentsModuleOverridesOptions, MFActionModuleOverrides, VitestModuleMockExports } from '../../types';
|
|
2
2
|
/**
|
|
3
3
|
* Builds the shared `@m4l/components` mock payload used by M4L app test
|
|
4
4
|
* setups.
|
|
@@ -18,3 +18,5 @@ export declare function createM4lAppComponentsModuleMock({ baseModule, moduleOve
|
|
|
18
18
|
* `moduleOverrides` payloads.
|
|
19
19
|
*/
|
|
20
20
|
export declare function createM4lAppFormComponentsModuleOverrides({ dynamicMFParameters, }?: CreateM4lAppFormComponentsModuleOverridesOptions): VitestModuleMockExports;
|
|
21
|
+
/** Isolate MF completion observers for app tests while leaving the standard factory's real exports intact. */
|
|
22
|
+
export declare function createM4lMFActionModuleOverrides(): MFActionModuleOverrides;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { CreateM4lPackageGclickModuleMockOptions, VitestModuleMockExports } from '../../types';
|
|
1
|
+
import type { CreateM4lPackageGclickModuleMockOptions, ResourceSynchronizationModuleOverrides, VitestModuleMockExports } from '../../types';
|
|
2
2
|
/**
|
|
3
3
|
* Builds the shared `@m4l/gclick` mock payload used by tests that depend on
|
|
4
4
|
* the exact runtime package.
|
|
@@ -8,3 +8,5 @@ import type { CreateM4lPackageGclickModuleMockOptions, VitestModuleMockExports }
|
|
|
8
8
|
* on orchestration logic.
|
|
9
9
|
*/
|
|
10
10
|
export declare function createM4lPackageGclickModuleMock({ baseModule, mapStoreState, moduleOverrides, }?: CreateM4lPackageGclickModuleMockOptions): VitestModuleMockExports;
|
|
11
|
+
/** Supply isolated resource hooks and stable identities without loading unrelated GClick feature runtimes. */
|
|
12
|
+
export declare function createM4lResourceSynchronizationModuleOverrides(): ResourceSynchronizationModuleOverrides;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { EnvironmentFixture, HostToolsFixture, UserPreferencesFixture } from '../../mocks/src/index';
|
|
2
2
|
import type React from 'react';
|
|
3
|
+
import type { Mock } from 'vitest';
|
|
3
4
|
export type UnknownRecord = Record<string, unknown>;
|
|
4
5
|
export type VitestModuleMockExports = Record<string, unknown>;
|
|
5
6
|
export type PropsWithChildren = {
|
|
@@ -67,6 +68,12 @@ export interface CreateM4lAppComponentsModuleMockOptions extends CreateVitestMod
|
|
|
67
68
|
export interface CreateM4lAppFormComponentsModuleOverridesOptions {
|
|
68
69
|
dynamicMFParameters?: UnknownRecord;
|
|
69
70
|
}
|
|
71
|
+
/** Describe opt-in MF completion collaborators without importing the runtime component package. */
|
|
72
|
+
export type MFActionModuleOverrides = {
|
|
73
|
+
MF_ACTION_REQUEST_PARAM: 'mfActionRequest';
|
|
74
|
+
completeMFAction: Mock<(hostTools: unknown, request: unknown, outcome: unknown) => void>;
|
|
75
|
+
isMFActionRequest: Mock<(value: unknown) => boolean>;
|
|
76
|
+
};
|
|
70
77
|
export interface CreateM4lAppFormLayoutsModuleOverridesOptions {
|
|
71
78
|
createComponentFieldImplementation?: (field: UnknownRecord) => unknown;
|
|
72
79
|
}
|
|
@@ -95,6 +102,31 @@ export type CreateM4lPackageGraphicsModuleMockOptions = CreateVitestModuleMockOp
|
|
|
95
102
|
export interface CreateM4lPackageGclickModuleMockOptions extends CreateVitestModuleMockOptions {
|
|
96
103
|
mapStoreState?: UnknownRecord;
|
|
97
104
|
}
|
|
105
|
+
/** Mirrors the committed-mutation input needed by resource synchronization mocks. */
|
|
106
|
+
export interface ResourceMutationMockInput {
|
|
107
|
+
mutation: 'created' | 'updated' | 'deleted' | 'revalidate';
|
|
108
|
+
entityId: string;
|
|
109
|
+
operationId?: string;
|
|
110
|
+
requestId?: string;
|
|
111
|
+
requesterWindowId?: string;
|
|
112
|
+
}
|
|
113
|
+
/** Names resource-hook mocks through Vitest's public types for portable declarations. */
|
|
114
|
+
export type ResourceSynchronizationModuleOverrides = {
|
|
115
|
+
PERSONS_RESOURCE: 'rt_persons';
|
|
116
|
+
PROTOCOL_PERSON_REPORT_METHODS_RESOURCE: 'rt_protocol_person_report_methods';
|
|
117
|
+
useResourceInvalidation: Mock<() => {
|
|
118
|
+
scopeKey: string;
|
|
119
|
+
refreshKey: string | undefined;
|
|
120
|
+
}>;
|
|
121
|
+
useResourceMutation: Mock<() => {
|
|
122
|
+
scopeKey: string;
|
|
123
|
+
publishResourceChange: Mock<(change: ResourceMutationMockInput) => Promise<string>>;
|
|
124
|
+
reportFailure: Mock;
|
|
125
|
+
}>;
|
|
126
|
+
useEntityReferenceAdd: Mock<() => Mock<() => Promise<{
|
|
127
|
+
status: 'cancelled';
|
|
128
|
+
}>>>;
|
|
129
|
+
};
|
|
98
130
|
export interface CreateM4lPackageGclickRealtimeModuleMockOptions extends CreateVitestModuleMockOptions {
|
|
99
131
|
surface?: 'root' | 'payload' | 'contracts';
|
|
100
132
|
}
|
package/vitest/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { D as o, a as t, M as c, f as s, v as r, y as M, s as l, k as n, h as i, u as k, z as
|
|
1
|
+
import { D as o, a as t, M as c, f as s, v as r, y as M, s as l, k as n, h as i, u as k, z as d, p as u, l as p, o as m, Q as C, G as g, H as F, K as A, I as P, O as S, L as R, N as v, P as E, J as L, R as _, S as f, T as D, U as G, W as O, X as h, Y as B, V as I, m as x, q as y, j as H, n as T, _ as N, Z as b, $ as W, i as w, t as K, r as z, d as U, b as V, c as Y, e as Z, g as j, B as q, A as J, C as Q, w as X, E as $, F as ee, x as ae } from "../chunks/reactLeaflet-CYEpmWXL.js";
|
|
2
2
|
export {
|
|
3
3
|
o as DEFAULT_RHF_SUBMIT_REF_GLOBAL_KEY,
|
|
4
4
|
t as M4L_APP_DATAGRID_SEMANTIC_WIDTHS,
|
|
@@ -10,9 +10,9 @@ export {
|
|
|
10
10
|
n as createChildrenContainerComponentMock,
|
|
11
11
|
i as createChildrenDivComponentMock,
|
|
12
12
|
k as createDataGridColumnHookMock,
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
d as createDefaultM4lPackageGclickMapStoreState,
|
|
14
|
+
u as createDividerComponentMock,
|
|
15
|
+
p as createHelmetPageComponentMock,
|
|
16
16
|
m as createIconComponentMock,
|
|
17
17
|
C as createLeafletModuleMock,
|
|
18
18
|
g as createM4lAppBaseModuleMock,
|
|
@@ -20,36 +20,38 @@ export {
|
|
|
20
20
|
A as createM4lAppCoreModuleMock,
|
|
21
21
|
P as createM4lAppFormComponentsModuleOverrides,
|
|
22
22
|
S as createM4lAppFormLayoutsModuleOverrides,
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
G as
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
x as
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
N as
|
|
40
|
-
b as
|
|
41
|
-
W as
|
|
42
|
-
w as
|
|
43
|
-
K as
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
Y as
|
|
48
|
-
Z as
|
|
49
|
-
j as
|
|
50
|
-
q as
|
|
51
|
-
J as
|
|
52
|
-
Q as
|
|
53
|
-
X as
|
|
54
|
-
$ as
|
|
23
|
+
R as createM4lAppGraphicsModuleMock,
|
|
24
|
+
v as createM4lAppLayoutsModuleMock,
|
|
25
|
+
E as createM4lBaseComponentsModuleMock,
|
|
26
|
+
L as createM4lMFActionModuleOverrides,
|
|
27
|
+
_ as createM4lPackageBaseModuleMock,
|
|
28
|
+
f as createM4lPackageComponentsModuleMock,
|
|
29
|
+
D as createM4lPackageCoreModuleMock,
|
|
30
|
+
G as createM4lPackageGclickModuleMock,
|
|
31
|
+
O as createM4lPackageGclickRealtimeModuleMock,
|
|
32
|
+
h as createM4lPackageGraphicsModuleMock,
|
|
33
|
+
B as createM4lPackageLayoutsModuleMock,
|
|
34
|
+
I as createM4lResourceSynchronizationModuleOverrides,
|
|
35
|
+
x as createNamedFieldComponentMock,
|
|
36
|
+
y as createNavLinkComponentMock,
|
|
37
|
+
H as createPaperFormComponentMock,
|
|
38
|
+
T as createPropertyValueComponentMock,
|
|
39
|
+
N as createReResizableModuleMock,
|
|
40
|
+
b as createReactHookFormModuleMock,
|
|
41
|
+
W as createReactLeafletModuleMock,
|
|
42
|
+
w as createStaticDivComponentMock,
|
|
43
|
+
K as createSuspenseLoadableComponentMock,
|
|
44
|
+
z as createWindowBaseComponentMock,
|
|
45
|
+
U as defaultM4lAppEnvironmentOverrides,
|
|
46
|
+
V as defaultM4lPackageEnvironmentOverrides,
|
|
47
|
+
Y as distanceToNowFormatterFixture,
|
|
48
|
+
Z as gclickGnssMotionStatusEnumFixture,
|
|
49
|
+
j as gclickGnssSignalEnumFixture,
|
|
50
|
+
q as getMissingModuleMockExports,
|
|
51
|
+
J as getModuleExportContractKind,
|
|
52
|
+
Q as getModuleMockKindMismatches,
|
|
53
|
+
X as getRHFSubmitRef,
|
|
54
|
+
$ as installConsoleErrorFilter,
|
|
55
|
+
ee as installRhfOnSubmitRef,
|
|
56
|
+
ae as stringifyViewerData
|
|
55
57
|
};
|