@openmrs/esm-framework 3.3.2-pre.33 → 4.0.0-pre.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/docs/API.md CHANGED
@@ -53,7 +53,6 @@
53
53
  - [inRange](API.md#inrange)
54
54
  - [isUrl](API.md#isurl)
55
55
  - [isUrlWithTemplateParameters](API.md#isurlwithtemplateparameters)
56
- - [oneOf](API.md#oneof)
57
56
  - [validator](API.md#validator)
58
57
 
59
58
  ### Date and Time Functions
@@ -142,6 +141,7 @@
142
141
 
143
142
  ### UI Functions
144
143
 
144
+ - [isDesktop](API.md#isdesktop)
145
145
  - [setLeftNav](API.md#setleftnav)
146
146
  - [showModal](API.md#showmodal)
147
147
  - [showNotification](API.md#shownotification)
@@ -495,7 +495,7 @@ ___
495
495
 
496
496
  ### LayoutType
497
497
 
498
- Ƭ **LayoutType**: ``"tablet"`` \| ``"phone"`` \| ``"desktop"``
498
+ Ƭ **LayoutType**: ``"phone"`` \| ``"tablet"`` \| ``"small-desktop"`` \| ``"large-desktop"``
499
499
 
500
500
  #### Defined in
501
501
 
@@ -515,17 +515,17 @@ ___
515
515
 
516
516
  ### UserHasAccess
517
517
 
518
- • **UserHasAccess**: `React.FC`<[`UserHasAccessProps`](interfaces/UserHasAccessProps.md)\>
518
+ `Const` **UserHasAccess**: `React.FC`<[`UserHasAccessProps`](interfaces/UserHasAccessProps.md)\>
519
519
 
520
520
  #### Defined in
521
521
 
522
- [packages/framework/esm-react-utils/src/UserHasAccess.tsx:9](https://github.com/openmrs/openmrs-esm-core/blob/master/packages/framework/esm-react-utils/src/UserHasAccess.tsx#L9)
522
+ [packages/framework/esm-react-utils/src/UserHasAccess.tsx:10](https://github.com/openmrs/openmrs-esm-core/blob/master/packages/framework/esm-react-utils/src/UserHasAccess.tsx#L10)
523
523
 
524
524
  ___
525
525
 
526
526
  ### defaultVisitCustomRepresentation
527
527
 
528
- • **defaultVisitCustomRepresentation**: `string`
528
+ `Const` **defaultVisitCustomRepresentation**: `string`
529
529
 
530
530
  #### Defined in
531
531
 
@@ -535,7 +535,7 @@ ___
535
535
 
536
536
  ### fhir
537
537
 
538
- • **fhir**: `FhirClient`
538
+ `Const` **fhir**: `FhirClient`
539
539
 
540
540
  The `fhir` object is [an instance of fhir.js](https://github.com/FHIR/fhir.js)
541
541
  that can be used to call FHIR-compliant OpenMRS APIs. See
@@ -550,7 +550,7 @@ ___
550
550
 
551
551
  ### fhirBaseUrl
552
552
 
553
- • **fhirBaseUrl**: ``"/ws/fhir2/R4"``
553
+ `Const` **fhirBaseUrl**: ``"/ws/fhir2/R4"``
554
554
 
555
555
  #### Defined in
556
556
 
@@ -560,7 +560,7 @@ ___
560
560
 
561
561
  ### getStartedVisit
562
562
 
563
- • **getStartedVisit**: `BehaviorSubject`<``null`` \| [`VisitItem`](interfaces/VisitItem.md)\>
563
+ `Const` **getStartedVisit**: `BehaviorSubject`<``null`` \| [`VisitItem`](interfaces/VisitItem.md)\>
564
564
 
565
565
  #### Defined in
566
566
 
@@ -570,7 +570,7 @@ ___
570
570
 
571
571
  ### sessionEndpoint
572
572
 
573
- • **sessionEndpoint**: ``"/ws/rest/v1/session"``
573
+ `Const` **sessionEndpoint**: ``"/ws/rest/v1/session"``
574
574
 
575
575
  #### Defined in
576
576
 
@@ -582,7 +582,7 @@ ___
582
582
 
583
583
  ### validators
584
584
 
585
- • **validators**: `Object`
585
+ `Const` **validators**: `Object`
586
586
 
587
587
  #### Type declaration
588
588
 
@@ -591,11 +591,10 @@ ___
591
591
  | `inRange` | (`min`: `number`, `max`: `number`) => [`Validator`](API.md#validator) |
592
592
  | `isUrl` | [`Validator`](API.md#validator) |
593
593
  | `isUrlWithTemplateParameters` | (`allowedTemplateParameters`: `string`[]) => [`Validator`](API.md#validator) |
594
- | `oneOf` | (`allowedValues`: `any`[]) => [`Validator`](API.md#validator) |
595
594
 
596
595
  #### Defined in
597
596
 
598
- [packages/framework/esm-config/src/validators/validators.ts:69](https://github.com/openmrs/openmrs-esm-core/blob/master/packages/framework/esm-config/src/validators/validators.ts#L69)
597
+ [packages/framework/esm-config/src/validators/validators.ts:58](https://github.com/openmrs/openmrs-esm-core/blob/master/packages/framework/esm-config/src/validators/validators.ts#L58)
599
598
 
600
599
  ___
601
600
 
@@ -603,7 +602,7 @@ ___
603
602
 
604
603
  ### ConfigurableLink
605
604
 
606
- • **ConfigurableLink**: `React.FC`<[`ConfigurableLinkProps`](interfaces/ConfigurableLinkProps.md)\>
605
+ `Const` **ConfigurableLink**: `React.FC`<[`ConfigurableLinkProps`](interfaces/ConfigurableLinkProps.md)\>
607
606
 
608
607
  A React link component which calls [navigate](API.md#navigate) when clicked
609
608
 
@@ -623,7 +622,7 @@ ___
623
622
 
624
623
  ### offlineUuidPrefix
625
624
 
626
- • **offlineUuidPrefix**: ``"OFFLINE+"``
625
+ `Const` **offlineUuidPrefix**: ``"OFFLINE+"``
627
626
 
628
627
  #### Defined in
629
628
 
@@ -633,7 +632,7 @@ ___
633
632
 
634
633
  ### omrsOfflineCachingStrategyHttpHeaderName
635
634
 
636
- • **omrsOfflineCachingStrategyHttpHeaderName**: ``"x-omrs-offline-caching-strategy"``
635
+ `Const` **omrsOfflineCachingStrategyHttpHeaderName**: ``"x-omrs-offline-caching-strategy"``
637
636
 
638
637
  #### Defined in
639
638
 
@@ -643,7 +642,7 @@ ___
643
642
 
644
643
  ### omrsOfflineResponseBodyHttpHeaderName
645
644
 
646
- • **omrsOfflineResponseBodyHttpHeaderName**: ``"x-omrs-offline-response-body"``
645
+ `Const` **omrsOfflineResponseBodyHttpHeaderName**: ``"x-omrs-offline-response-body"``
647
646
 
648
647
  #### Defined in
649
648
 
@@ -653,7 +652,7 @@ ___
653
652
 
654
653
  ### omrsOfflineResponseStatusHttpHeaderName
655
654
 
656
- • **omrsOfflineResponseStatusHttpHeaderName**: ``"x-omrs-offline-response-status"``
655
+ `Const` **omrsOfflineResponseStatusHttpHeaderName**: ``"x-omrs-offline-response-status"``
657
656
 
658
657
  #### Defined in
659
658
 
@@ -665,7 +664,7 @@ ___
665
664
 
666
665
  ### Extension
667
666
 
668
- • **Extension**: `React.FC`<[`ExtensionProps`](interfaces/ExtensionProps.md)\>
667
+ `Const` **Extension**: `React.FC`<[`ExtensionProps`](interfaces/ExtensionProps.md)\>
669
668
 
670
669
  Represents the position in the DOM where each extension within
671
670
  an extension slot is rendered.
@@ -683,7 +682,7 @@ ___
683
682
 
684
683
  ### ExtensionSlot
685
684
 
686
- • **ExtensionSlot**: `React.FC`<[`ExtensionSlotProps`](API.md#extensionslotprops)\>
685
+ `Const` **ExtensionSlot**: `React.FC`<[`ExtensionSlotProps`](API.md#extensionslotprops)\>
687
686
 
688
687
  #### Defined in
689
688
 
@@ -693,7 +692,7 @@ ___
693
692
 
694
693
  ### backendDependencies
695
694
 
696
- • **backendDependencies**: `Object`
695
+ `Const` **backendDependencies**: `Object`
697
696
 
698
697
  #### Type declaration
699
698
 
@@ -712,7 +711,7 @@ ___
712
711
 
713
712
  ### LeftNavMenu
714
713
 
715
- • **LeftNavMenu**: `ForwardRefExoticComponent`<`SideNavProps` & `RefAttributes`<`HTMLElement`\>\>
714
+ `Const` **LeftNavMenu**: `ForwardRefExoticComponent`<`Pick`<`SideNavProps`, `string` \| `number` \| `symbol`\> & `RefAttributes`<`HTMLElement`\>\>
716
715
 
717
716
  #### Defined in
718
717
 
@@ -1599,7 +1598,7 @@ ___
1599
1598
 
1600
1599
  ### inRange
1601
1600
 
1602
- `Const` **inRange**(`min`, `max`): [`Validator`](API.md#validator)
1601
+ ▸ **inRange**(`min`, `max`): [`Validator`](API.md#validator)
1603
1602
 
1604
1603
  Verifies that the value is between the provided minimum and maximum
1605
1604
 
@@ -1622,7 +1621,7 @@ ___
1622
1621
 
1623
1622
  ### isUrl
1624
1623
 
1625
- `Const` **isUrl**(`value`): `string` \| `void`
1624
+ ▸ **isUrl**(`value`): `string` \| `void`
1626
1625
 
1627
1626
  Verifies that a string contains only the default URL template parameters.
1628
1627
 
@@ -1646,7 +1645,7 @@ ___
1646
1645
 
1647
1646
  ### isUrlWithTemplateParameters
1648
1647
 
1649
- `Const` **isUrlWithTemplateParameters**(`allowedTemplateParameters`): [`Validator`](API.md#validator)
1648
+ ▸ **isUrlWithTemplateParameters**(`allowedTemplateParameters`): [`Validator`](API.md#validator)
1650
1649
 
1651
1650
  Verifies that a string contains only the default URL template
1652
1651
  parameters, plus any specified in `allowedTemplateParameters`.
@@ -1669,63 +1668,24 @@ parameters, plus any specified in `allowedTemplateParameters`.
1669
1668
 
1670
1669
  ___
1671
1670
 
1672
- ### oneOf
1673
-
1674
- ▸ `Const` **oneOf**(`allowedValues`): [`Validator`](API.md#validator)
1675
-
1676
- Verifies that the value is one of the allowed options.
1677
-
1678
- #### Parameters
1679
-
1680
- | Name | Type | Description |
1681
- | :------ | :------ | :------ |
1682
- | `allowedValues` | `any`[] | The list of allowable values |
1683
-
1684
- #### Returns
1685
-
1686
- [`Validator`](API.md#validator)
1687
-
1688
- #### Defined in
1689
-
1690
- [packages/framework/esm-config/src/validators/validators.ts:62](https://github.com/openmrs/openmrs-esm-core/blob/master/packages/framework/esm-config/src/validators/validators.ts#L62)
1691
-
1692
- ___
1693
-
1694
1671
  ### validator
1695
1672
 
1696
1673
  ▸ **validator**(`validationFunction`, `message`): [`Validator`](API.md#validator)
1697
1674
 
1698
- Constructs a custom validator.
1699
-
1700
- ### Example
1701
-
1702
- ```typescript
1703
- {
1704
- foo: {
1705
- _default: 0,
1706
- _validators: [
1707
- validator(val => val >= 0, "Must not be negative.")
1708
- ]
1709
- }
1710
- }
1711
- ```
1712
-
1713
1675
  #### Parameters
1714
1676
 
1715
- | Name | Type | Description |
1716
- | :------ | :------ | :------ |
1717
- | `validationFunction` | [`ValidatorFunction`](API.md#validatorfunction) | Takes the configured value as input. Returns true if it is valid, false otherwise. |
1718
- | `message` | `string` \| (`value`: `any`) => `string` | A string message that explains why the value is invalid. Can also be a function that takes the value as input and returns a string. |
1677
+ | Name | Type |
1678
+ | :------ | :------ |
1679
+ | `validationFunction` | [`ValidatorFunction`](API.md#validatorfunction) |
1680
+ | `message` | `string` |
1719
1681
 
1720
1682
  #### Returns
1721
1683
 
1722
1684
  [`Validator`](API.md#validator)
1723
1685
 
1724
- A validator ready for use in a config schema
1725
-
1726
1686
  #### Defined in
1727
1687
 
1728
- [packages/framework/esm-config/src/validators/validator.ts:25](https://github.com/openmrs/openmrs-esm-core/blob/master/packages/framework/esm-config/src/validators/validator.ts#L25)
1688
+ [packages/framework/esm-config/src/validators/validator.ts:4](https://github.com/openmrs/openmrs-esm-core/blob/master/packages/framework/esm-config/src/validators/validator.ts#L4)
1729
1689
 
1730
1690
  ___
1731
1691
 
@@ -2255,7 +2215,7 @@ ___
2255
2215
 
2256
2216
  ### getExtensionStore
2257
2217
 
2258
- `Const` **getExtensionStore**(): `Store`<[`ExtensionStore`](interfaces/ExtensionStore.md)\>
2218
+ ▸ **getExtensionStore**(): `Store`<[`ExtensionStore`](interfaces/ExtensionStore.md)\>
2259
2219
 
2260
2220
  This returns a [store](https://github.com/developit/unistore#store)
2261
2221
  that modules can use to get information about the state of the
@@ -2401,7 +2361,7 @@ ___
2401
2361
 
2402
2362
  ### useExtensionStore
2403
2363
 
2404
- `Const` **useExtensionStore**(): `T`
2364
+ ▸ **useExtensionStore**(): `T`
2405
2365
 
2406
2366
  #### Returns
2407
2367
 
@@ -2411,7 +2371,7 @@ ___
2411
2371
 
2412
2372
  [packages/framework/esm-react-utils/src/useExtensionStore.ts:5](https://github.com/openmrs/openmrs-esm-core/blob/master/packages/framework/esm-react-utils/src/useExtensionStore.ts#L5)
2413
2373
 
2414
- `Const` **useExtensionStore**(`actions`): `T` & [`BoundActions`](API.md#boundactions)
2374
+ ▸ **useExtensionStore**(`actions`): `T` & [`BoundActions`](API.md#boundactions)
2415
2375
 
2416
2376
  #### Parameters
2417
2377
 
@@ -2427,7 +2387,7 @@ ___
2427
2387
 
2428
2388
  [packages/framework/esm-react-utils/src/useExtensionStore.ts:5](https://github.com/openmrs/openmrs-esm-core/blob/master/packages/framework/esm-react-utils/src/useExtensionStore.ts#L5)
2429
2389
 
2430
- `Const` **useExtensionStore**(`actions?`): `T` & [`BoundActions`](API.md#boundactions)
2390
+ ▸ **useExtensionStore**(`actions?`): `T` & [`BoundActions`](API.md#boundactions)
2431
2391
 
2432
2392
  #### Parameters
2433
2393
 
@@ -2449,7 +2409,7 @@ ___
2449
2409
 
2450
2410
  ### getAsyncExtensionLifecycle
2451
2411
 
2452
- `Const` **getAsyncExtensionLifecycle**<`T`\>(`lazy`, `options`): () => `Promise`<`ReactAppOrParcel`<`any`\>\>
2412
+ ▸ **getAsyncExtensionLifecycle**<`T`\>(`lazy`, `options`): () => `Promise`<`ReactAppOrParcel`<`any`\>\>
2453
2413
 
2454
2414
  **`deprecated`** Use getAsyncLifecycle instead.
2455
2415
 
@@ -3455,6 +3415,26 @@ ___
3455
3415
 
3456
3416
  ## UI Functions
3457
3417
 
3418
+ ### isDesktop
3419
+
3420
+ ▸ **isDesktop**(`layout`): `boolean`
3421
+
3422
+ #### Parameters
3423
+
3424
+ | Name | Type |
3425
+ | :------ | :------ |
3426
+ | `layout` | [`LayoutType`](API.md#layouttype) |
3427
+
3428
+ #### Returns
3429
+
3430
+ `boolean`
3431
+
3432
+ #### Defined in
3433
+
3434
+ [packages/framework/esm-react-utils/src/useLayoutType.ts:40](https://github.com/openmrs/openmrs-esm-core/blob/master/packages/framework/esm-react-utils/src/useLayoutType.ts#L40)
3435
+
3436
+ ___
3437
+
3458
3438
  ### setLeftNav
3459
3439
 
3460
3440
  ▸ **setLeftNav**(`__namedParameters`): `void`
@@ -3525,7 +3505,7 @@ Displays an inline notification in the UI.
3525
3505
 
3526
3506
  #### Defined in
3527
3507
 
3528
- [packages/framework/esm-styleguide/src/notifications/index.tsx:41](https://github.com/openmrs/openmrs-esm-core/blob/master/packages/framework/esm-styleguide/src/notifications/index.tsx#L41)
3508
+ [packages/framework/esm-styleguide/src/notifications/index.tsx:40](https://github.com/openmrs/openmrs-esm-core/blob/master/packages/framework/esm-styleguide/src/notifications/index.tsx#L40)
3529
3509
 
3530
3510
  ___
3531
3511
 
@@ -3547,7 +3527,7 @@ Displays a toast notification in the UI.
3547
3527
 
3548
3528
  #### Defined in
3549
3529
 
3550
- [packages/framework/esm-styleguide/src/toasts/index.tsx:35](https://github.com/openmrs/openmrs-esm-core/blob/master/packages/framework/esm-styleguide/src/toasts/index.tsx#L35)
3530
+ [packages/framework/esm-styleguide/src/toasts/index.tsx:36](https://github.com/openmrs/openmrs-esm-core/blob/master/packages/framework/esm-styleguide/src/toasts/index.tsx#L36)
3551
3531
 
3552
3532
  ___
3553
3533
 
@@ -3653,7 +3633,7 @@ ___
3653
3633
 
3654
3634
  #### Defined in
3655
3635
 
3656
- [packages/framework/esm-react-utils/src/useLayoutType.ts:23](https://github.com/openmrs/openmrs-esm-core/blob/master/packages/framework/esm-react-utils/src/useLayoutType.ts#L23)
3636
+ [packages/framework/esm-react-utils/src/useLayoutType.ts:26](https://github.com/openmrs/openmrs-esm-core/blob/master/packages/framework/esm-react-utils/src/useLayoutType.ts#L26)
3657
3637
 
3658
3638
  ___
3659
3639
 
@@ -6,10 +6,21 @@
6
6
 
7
7
  ### API Properties
8
8
 
9
+ - [children](UserHasAccessProps.md#children)
9
10
  - [privilege](UserHasAccessProps.md#privilege)
10
11
 
11
12
  ## API Properties
12
13
 
14
+ ### children
15
+
16
+ • `Optional` **children**: `ReactNode`
17
+
18
+ #### Defined in
19
+
20
+ [packages/framework/esm-react-utils/src/UserHasAccess.tsx:7](https://github.com/openmrs/openmrs-esm-core/blob/master/packages/framework/esm-react-utils/src/UserHasAccess.tsx#L7)
21
+
22
+ ___
23
+
13
24
  ### privilege
14
25
 
15
26
  • **privilege**: `string`
package/jest.config.js CHANGED
@@ -6,6 +6,11 @@ module.exports = {
6
6
  "\\.(s?css)$": "identity-obj-proxy",
7
7
  "\\.(svg)$": "<rootDir>/__mocks__/fileMock.js",
8
8
  "lodash-es/(.*)": "lodash/$1",
9
+ // See https://jestjs.io/docs/upgrading-to-jest28#packagejson-exports
10
+ // which links to https://github.com/microsoft/accessibility-insights-web/pull/5421#issuecomment-1109168149
11
+ "^dexie$": require.resolve("dexie"),
12
+ "^uuid$": require.resolve("uuid"),
9
13
  },
10
14
  setupFilesAfterEnv: ["<rootDir>/src/integration-tests/setup-tests.ts"],
15
+ testEnvironment: "jsdom",
11
16
  };
package/mock.tsx CHANGED
@@ -10,11 +10,7 @@ export {
10
10
  formatTime,
11
11
  age,
12
12
  } from "@openmrs/esm-utils";
13
- export {
14
- interpolateString,
15
- interpolateUrl,
16
- validators,
17
- } from "@openmrs/esm-config";
13
+ export { interpolateString, interpolateUrl } from "@openmrs/esm-config";
18
14
 
19
15
  window.i18next = { ...window.i18next, language: "en" };
20
16
 
@@ -153,6 +149,13 @@ export enum Type {
153
149
  UUID = "UUID",
154
150
  }
155
151
 
152
+ export const validators = {
153
+ isBoolean: jest.fn(),
154
+ isString: jest.fn(),
155
+ isUuid: jest.fn(),
156
+ isObject: jest.fn(),
157
+ };
158
+
156
159
  let configSchema = {};
157
160
  function getDefaults(schema) {
158
161
  let tmp = {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openmrs/esm-framework",
3
- "version": "3.3.2-pre.33",
3
+ "version": "4.0.0-pre.0",
4
4
  "license": "MPL-2.0",
5
5
  "browser": "dist/openmrs-esm-framework.js",
6
6
  "main": "src/index.ts",
@@ -35,18 +35,18 @@
35
35
  "access": "public"
36
36
  },
37
37
  "dependencies": {
38
- "@openmrs/esm-api": "^3.3.2-pre.33",
39
- "@openmrs/esm-breadcrumbs": "^3.3.2-pre.33",
40
- "@openmrs/esm-config": "^3.3.2-pre.33",
41
- "@openmrs/esm-error-handling": "^3.3.2-pre.33",
42
- "@openmrs/esm-extensions": "^3.3.2-pre.33",
43
- "@openmrs/esm-globals": "^3.3.2-pre.33",
44
- "@openmrs/esm-offline": "^3.3.2-pre.33",
45
- "@openmrs/esm-react-utils": "^3.3.2-pre.33",
46
- "@openmrs/esm-state": "^3.3.2-pre.33",
47
- "@openmrs/esm-styleguide": "^3.3.2-pre.33",
48
- "@openmrs/esm-utils": "^3.3.2-pre.33",
38
+ "@openmrs/esm-api": "^4.0.0-pre.0",
39
+ "@openmrs/esm-breadcrumbs": "^4.0.0-pre.0",
40
+ "@openmrs/esm-config": "^4.0.0-pre.0",
41
+ "@openmrs/esm-error-handling": "^4.0.0-pre.0",
42
+ "@openmrs/esm-extensions": "^4.0.0-pre.0",
43
+ "@openmrs/esm-globals": "^4.0.0-pre.0",
44
+ "@openmrs/esm-offline": "^4.0.0-pre.0",
45
+ "@openmrs/esm-react-utils": "^4.0.0-pre.0",
46
+ "@openmrs/esm-state": "^4.0.0-pre.0",
47
+ "@openmrs/esm-styleguide": "^4.0.0-pre.0",
48
+ "@openmrs/esm-utils": "^4.0.0-pre.0",
49
49
  "dayjs": "^1.10.7"
50
50
  },
51
- "gitHead": "f198f5768f43f7a24b7d0ab2124d3ea4b5faac90"
51
+ "gitHead": "254a7226212aac82df4434639b2584e24ac240e4"
52
52
  }
@@ -3,8 +3,6 @@ import {
3
3
  attach,
4
4
  registerExtension,
5
5
  updateInternalExtensionStore,
6
- getExtensionInternalStore,
7
- getExtensionStore,
8
6
  } from "../../../esm-extensions";
9
7
  import {
10
8
  ExtensionSlot,
@@ -22,7 +20,6 @@ import {
22
20
  getExtensionSlotsConfigStore,
23
21
  } from "../../../esm-config/src";
24
22
  import { act, render, screen, waitFor } from "@testing-library/react";
25
- import { waitForElementToBeRemoved } from "@testing-library/dom";
26
23
 
27
24
  describe("Interaction between configuration and extension systems", () => {
28
25
  beforeEach(() => {
@@ -210,7 +207,9 @@ describe("Interaction between configuration and extension systems", () => {
210
207
  });
211
208
  });
212
209
  expect(screen.queryByText("green")).not.toBeInTheDocument();
213
- expect(screen.getByTestId("slot")).toHaveTextContent(/black/);
210
+ waitFor(() =>
211
+ expect(screen.getByTestId("slot")).toHaveTextContent(/black/)
212
+ );
214
213
  });
215
214
 
216
215
  test("Extension config should be available in extension store", async () => {