@jmruthers/pace-core 0.5.164 → 0.5.166
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{DataTable-HAATGNJY.js → DataTable-Z6IYTME3.js} +3 -3
- package/dist/{chunk-DDB2M4XO.js → chunk-5PH366QI.js} +2 -2
- package/dist/{chunk-GFSYFEVZ.js → chunk-BPIFVNEO.js} +24 -24
- package/dist/chunk-BPIFVNEO.js.map +1 -0
- package/dist/{chunk-G3EZSUTR.js → chunk-JIRBF5HR.js} +6 -23
- package/dist/chunk-JIRBF5HR.js.map +1 -0
- package/dist/{chunk-23YYDN24.js → chunk-SVMR7EVX.js} +2 -2
- package/dist/components.js +3 -3
- package/dist/index.js +4 -4
- package/dist/rbac/index.d.ts +10 -3
- package/dist/rbac/index.js +2 -2
- package/dist/utils.js +1 -1
- package/docs/api/classes/ColumnFactory.md +1 -1
- package/docs/api/classes/ErrorBoundary.md +1 -1
- package/docs/api/classes/InvalidScopeError.md +1 -1
- package/docs/api/classes/MissingUserContextError.md +1 -1
- package/docs/api/classes/OrganisationContextRequiredError.md +1 -1
- package/docs/api/classes/PermissionDeniedError.md +1 -1
- package/docs/api/classes/PublicErrorBoundary.md +1 -1
- package/docs/api/classes/RBACAuditManager.md +1 -1
- package/docs/api/classes/RBACCache.md +1 -1
- package/docs/api/classes/RBACEngine.md +1 -1
- package/docs/api/classes/RBACError.md +1 -1
- package/docs/api/classes/RBACNotInitializedError.md +1 -1
- package/docs/api/classes/SecureSupabaseClient.md +1 -1
- package/docs/api/classes/StorageUtils.md +1 -1
- package/docs/api/enums/FileCategory.md +1 -1
- package/docs/api/interfaces/AggregateConfig.md +1 -1
- package/docs/api/interfaces/BadgeProps.md +1 -1
- package/docs/api/interfaces/ButtonProps.md +1 -1
- package/docs/api/interfaces/CalendarProps.md +1 -1
- package/docs/api/interfaces/CardProps.md +1 -1
- package/docs/api/interfaces/ColorPalette.md +1 -1
- package/docs/api/interfaces/ColorShade.md +1 -1
- package/docs/api/interfaces/DataAccessRecord.md +1 -1
- package/docs/api/interfaces/DataRecord.md +1 -1
- package/docs/api/interfaces/DataTableAction.md +1 -1
- package/docs/api/interfaces/DataTableColumn.md +1 -1
- package/docs/api/interfaces/DataTableProps.md +1 -1
- package/docs/api/interfaces/DataTableToolbarButton.md +1 -1
- package/docs/api/interfaces/EmptyStateConfig.md +1 -1
- package/docs/api/interfaces/EnhancedNavigationMenuProps.md +1 -1
- package/docs/api/interfaces/EventAppRoleData.md +1 -1
- package/docs/api/interfaces/EventLogoProps.md +1 -1
- package/docs/api/interfaces/ExportColumn.md +1 -1
- package/docs/api/interfaces/ExportOptions.md +1 -1
- package/docs/api/interfaces/FileDisplayProps.md +1 -1
- package/docs/api/interfaces/FileMetadata.md +1 -1
- package/docs/api/interfaces/FileReference.md +1 -1
- package/docs/api/interfaces/FileSizeLimits.md +1 -1
- package/docs/api/interfaces/FileUploadOptions.md +1 -1
- package/docs/api/interfaces/FileUploadProps.md +1 -1
- package/docs/api/interfaces/FooterProps.md +1 -1
- package/docs/api/interfaces/GrantEventAppRoleParams.md +1 -1
- package/docs/api/interfaces/InactivityWarningModalProps.md +1 -1
- package/docs/api/interfaces/InputProps.md +1 -1
- package/docs/api/interfaces/LabelProps.md +1 -1
- package/docs/api/interfaces/LoginFormProps.md +1 -1
- package/docs/api/interfaces/NavigationAccessRecord.md +1 -1
- package/docs/api/interfaces/NavigationContextType.md +1 -1
- package/docs/api/interfaces/NavigationGuardProps.md +1 -1
- package/docs/api/interfaces/NavigationItem.md +1 -1
- package/docs/api/interfaces/NavigationMenuProps.md +1 -1
- package/docs/api/interfaces/NavigationProviderProps.md +1 -1
- package/docs/api/interfaces/Organisation.md +1 -1
- package/docs/api/interfaces/OrganisationContextType.md +1 -1
- package/docs/api/interfaces/OrganisationMembership.md +1 -1
- package/docs/api/interfaces/OrganisationProviderProps.md +1 -1
- package/docs/api/interfaces/OrganisationSecurityError.md +1 -1
- package/docs/api/interfaces/PaceAppLayoutProps.md +1 -1
- package/docs/api/interfaces/PaceLoginPageProps.md +1 -1
- package/docs/api/interfaces/PageAccessRecord.md +1 -1
- package/docs/api/interfaces/PagePermissionContextType.md +1 -1
- package/docs/api/interfaces/PagePermissionGuardProps.md +1 -1
- package/docs/api/interfaces/PagePermissionProviderProps.md +1 -1
- package/docs/api/interfaces/PaletteData.md +1 -1
- package/docs/api/interfaces/PermissionEnforcerProps.md +1 -1
- package/docs/api/interfaces/ProtectedRouteProps.md +1 -1
- package/docs/api/interfaces/PublicErrorBoundaryProps.md +1 -1
- package/docs/api/interfaces/PublicErrorBoundaryState.md +1 -1
- package/docs/api/interfaces/PublicLoadingSpinnerProps.md +1 -1
- package/docs/api/interfaces/PublicPageFooterProps.md +1 -1
- package/docs/api/interfaces/PublicPageHeaderProps.md +1 -1
- package/docs/api/interfaces/PublicPageLayoutProps.md +1 -1
- package/docs/api/interfaces/RBACConfig.md +1 -1
- package/docs/api/interfaces/RBACLogger.md +1 -1
- package/docs/api/interfaces/ResourcePermissions.md +1 -1
- package/docs/api/interfaces/RevokeEventAppRoleParams.md +1 -1
- package/docs/api/interfaces/RoleBasedRouterContextType.md +1 -1
- package/docs/api/interfaces/RoleBasedRouterProps.md +1 -1
- package/docs/api/interfaces/RoleManagementResult.md +1 -1
- package/docs/api/interfaces/RouteAccessRecord.md +1 -1
- package/docs/api/interfaces/RouteConfig.md +1 -1
- package/docs/api/interfaces/SecureDataContextType.md +1 -1
- package/docs/api/interfaces/SecureDataProviderProps.md +1 -1
- package/docs/api/interfaces/SessionRestorationLoaderProps.md +1 -1
- package/docs/api/interfaces/StorageConfig.md +1 -1
- package/docs/api/interfaces/StorageFileInfo.md +1 -1
- package/docs/api/interfaces/StorageFileMetadata.md +1 -1
- package/docs/api/interfaces/StorageListOptions.md +1 -1
- package/docs/api/interfaces/StorageListResult.md +1 -1
- package/docs/api/interfaces/StorageUploadOptions.md +1 -1
- package/docs/api/interfaces/StorageUploadResult.md +1 -1
- package/docs/api/interfaces/StorageUrlOptions.md +1 -1
- package/docs/api/interfaces/StyleImport.md +1 -1
- package/docs/api/interfaces/SwitchProps.md +1 -1
- package/docs/api/interfaces/TabsContentProps.md +1 -1
- package/docs/api/interfaces/TabsListProps.md +1 -1
- package/docs/api/interfaces/TabsProps.md +1 -1
- package/docs/api/interfaces/TabsTriggerProps.md +1 -1
- package/docs/api/interfaces/TextareaProps.md +1 -1
- package/docs/api/interfaces/ToastActionElement.md +1 -1
- package/docs/api/interfaces/ToastProps.md +1 -1
- package/docs/api/interfaces/UnifiedAuthContextType.md +1 -1
- package/docs/api/interfaces/UnifiedAuthProviderProps.md +1 -1
- package/docs/api/interfaces/UseInactivityTrackerOptions.md +1 -1
- package/docs/api/interfaces/UseInactivityTrackerReturn.md +1 -1
- package/docs/api/interfaces/UsePublicEventOptions.md +1 -1
- package/docs/api/interfaces/UsePublicEventReturn.md +1 -1
- package/docs/api/interfaces/UsePublicFileDisplayOptions.md +1 -1
- package/docs/api/interfaces/UsePublicFileDisplayReturn.md +1 -1
- package/docs/api/interfaces/UsePublicRouteParamsReturn.md +1 -1
- package/docs/api/interfaces/UseResolvedScopeOptions.md +1 -1
- package/docs/api/interfaces/UseResolvedScopeReturn.md +1 -1
- package/docs/api/interfaces/UseResourcePermissionsOptions.md +1 -1
- package/docs/api/interfaces/UserEventAccess.md +1 -1
- package/docs/api/interfaces/UserMenuProps.md +1 -1
- package/docs/api/interfaces/UserProfile.md +1 -1
- package/docs/api/modules.md +19 -12
- package/package.json +2 -2
- package/src/__tests__/hooks/usePermissions.test.ts +12 -9
- package/src/components/NavigationMenu/NavigationMenu.tsx +4 -26
- package/src/hooks/__tests__/ServiceHooks.test.tsx +2 -2
- package/src/rbac/hooks/__tests__/usePermissions.integration.test.ts +32 -34
- package/src/rbac/hooks/usePermissions.test.ts +34 -32
- package/src/rbac/hooks/usePermissions.ts +41 -28
- package/dist/chunk-G3EZSUTR.js.map +0 -1
- package/dist/chunk-GFSYFEVZ.js.map +0 -1
- /package/dist/{DataTable-HAATGNJY.js.map → DataTable-Z6IYTME3.js.map} +0 -0
- /package/dist/{chunk-DDB2M4XO.js.map → chunk-5PH366QI.js.map} +0 -0
- /package/dist/{chunk-23YYDN24.js.map → chunk-SVMR7EVX.js.map} +0 -0
package/docs/api/modules.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
[@jmruthers/pace-core - v0.5.
|
|
1
|
+
[@jmruthers/pace-core - v0.5.165](README.md) / Exports
|
|
2
2
|
|
|
3
|
-
# @jmruthers/pace-core - v0.5.
|
|
3
|
+
# @jmruthers/pace-core - v0.5.165
|
|
4
4
|
|
|
5
5
|
**`File`**
|
|
6
6
|
|
|
@@ -6578,7 +6578,7 @@ ___
|
|
|
6578
6578
|
|
|
6579
6579
|
### usePermissions
|
|
6580
6580
|
|
|
6581
|
-
▸ **usePermissions**(`userId`, `
|
|
6581
|
+
▸ **usePermissions**(`userId`, `organisationId`, `eventId`, `appId`): `Object`
|
|
6582
6582
|
|
|
6583
6583
|
Hook to get user's permissions in a scope
|
|
6584
6584
|
|
|
@@ -6587,7 +6587,9 @@ Hook to get user's permissions in a scope
|
|
|
6587
6587
|
| Name | Type | Description |
|
|
6588
6588
|
| :------ | :------ | :------ |
|
|
6589
6589
|
| `userId` | `string` | User ID |
|
|
6590
|
-
| `
|
|
6590
|
+
| `organisationId` | `undefined` \| `string` | Organisation ID |
|
|
6591
|
+
| `eventId` | `undefined` \| `string` | Event ID (optional) |
|
|
6592
|
+
| `appId` | `undefined` \| `string` | Application ID (optional) |
|
|
6591
6593
|
|
|
6592
6594
|
#### Returns
|
|
6593
6595
|
|
|
@@ -6609,7 +6611,12 @@ Permission state and methods
|
|
|
6609
6611
|
|
|
6610
6612
|
```tsx
|
|
6611
6613
|
function MyComponent() {
|
|
6612
|
-
const { permissions, isLoading, error } = usePermissions(
|
|
6614
|
+
const { permissions, isLoading, error } = usePermissions(
|
|
6615
|
+
userId,
|
|
6616
|
+
organisationId,
|
|
6617
|
+
eventId,
|
|
6618
|
+
appId
|
|
6619
|
+
);
|
|
6613
6620
|
|
|
6614
6621
|
if (isLoading) return <div>Loading...</div>;
|
|
6615
6622
|
if (error) return <div>Error: {error.message}</div>;
|
|
@@ -6625,7 +6632,7 @@ function MyComponent() {
|
|
|
6625
6632
|
|
|
6626
6633
|
#### Defined in
|
|
6627
6634
|
|
|
6628
|
-
[packages/core/src/rbac/hooks/usePermissions.ts:
|
|
6635
|
+
[packages/core/src/rbac/hooks/usePermissions.ts:57](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/usePermissions.ts#L57)
|
|
6629
6636
|
|
|
6630
6637
|
___
|
|
6631
6638
|
|
|
@@ -6673,7 +6680,7 @@ function MyComponent() {
|
|
|
6673
6680
|
|
|
6674
6681
|
#### Defined in
|
|
6675
6682
|
|
|
6676
|
-
[packages/core/src/rbac/hooks/usePermissions.ts:
|
|
6683
|
+
[packages/core/src/rbac/hooks/usePermissions.ts:328](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/usePermissions.ts#L328)
|
|
6677
6684
|
|
|
6678
6685
|
___
|
|
6679
6686
|
|
|
@@ -6723,7 +6730,7 @@ function MyComponent() {
|
|
|
6723
6730
|
|
|
6724
6731
|
#### Defined in
|
|
6725
6732
|
|
|
6726
|
-
[packages/core/src/rbac/hooks/usePermissions.ts:
|
|
6733
|
+
[packages/core/src/rbac/hooks/usePermissions.ts:524](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/usePermissions.ts#L524)
|
|
6727
6734
|
|
|
6728
6735
|
___
|
|
6729
6736
|
|
|
@@ -6780,7 +6787,7 @@ function MyComponent() {
|
|
|
6780
6787
|
|
|
6781
6788
|
#### Defined in
|
|
6782
6789
|
|
|
6783
|
-
[packages/core/src/rbac/hooks/usePermissions.ts:
|
|
6790
|
+
[packages/core/src/rbac/hooks/usePermissions.ts:599](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/usePermissions.ts#L599)
|
|
6784
6791
|
|
|
6785
6792
|
___
|
|
6786
6793
|
|
|
@@ -6831,7 +6838,7 @@ function MyComponent() {
|
|
|
6831
6838
|
|
|
6832
6839
|
#### Defined in
|
|
6833
6840
|
|
|
6834
|
-
[packages/core/src/rbac/hooks/usePermissions.ts:
|
|
6841
|
+
[packages/core/src/rbac/hooks/usePermissions.ts:682](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/usePermissions.ts#L682)
|
|
6835
6842
|
|
|
6836
6843
|
___
|
|
6837
6844
|
|
|
@@ -6882,7 +6889,7 @@ function MyComponent() {
|
|
|
6882
6889
|
|
|
6883
6890
|
#### Defined in
|
|
6884
6891
|
|
|
6885
|
-
[packages/core/src/rbac/hooks/usePermissions.ts:
|
|
6892
|
+
[packages/core/src/rbac/hooks/usePermissions.ts:768](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/usePermissions.ts#L768)
|
|
6886
6893
|
|
|
6887
6894
|
___
|
|
6888
6895
|
|
|
@@ -6933,7 +6940,7 @@ function MyComponent() {
|
|
|
6933
6940
|
|
|
6934
6941
|
#### Defined in
|
|
6935
6942
|
|
|
6936
|
-
[packages/core/src/rbac/hooks/usePermissions.ts:
|
|
6943
|
+
[packages/core/src/rbac/hooks/usePermissions.ts:853](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/usePermissions.ts#L853)
|
|
6937
6944
|
|
|
6938
6945
|
___
|
|
6939
6946
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jmruthers/pace-core",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.166",
|
|
4
4
|
"description": "Clean, modern React component library with Tailwind v4 styling and native utilities",
|
|
5
5
|
"private": false,
|
|
6
6
|
"publishConfig": {
|
|
@@ -147,7 +147,7 @@
|
|
|
147
147
|
"build:docs:force": "node scripts/build-docs-incremental.js --force",
|
|
148
148
|
"build:all": "npm run build && npm run build:docs",
|
|
149
149
|
"validate:theme": "node scripts/validate-theme.js",
|
|
150
|
-
"prepublishOnly": "npm run build
|
|
150
|
+
"prepublishOnly": "npm run build",
|
|
151
151
|
"clean": "rimraf dist",
|
|
152
152
|
"_comment_test": "Test suite with various configurations",
|
|
153
153
|
"test": "cross-env NODE_OPTIONS=\"--max-old-space-size=8192 --max-semi-space-size=128\" vitest run --config ../../vitest.config.ts",
|
|
@@ -29,10 +29,13 @@ const mockIsPermittedCached = vi.mocked(isPermittedCached);
|
|
|
29
29
|
|
|
30
30
|
describe('usePermissions Hook Stability', () => {
|
|
31
31
|
const mockUserId = 'user-123';
|
|
32
|
+
const mockOrgId = 'org-123';
|
|
33
|
+
const mockEventId = 'event-123';
|
|
34
|
+
const mockAppId = 'app-123';
|
|
32
35
|
const mockScope = {
|
|
33
|
-
organisationId:
|
|
34
|
-
eventId:
|
|
35
|
-
appId:
|
|
36
|
+
organisationId: mockOrgId,
|
|
37
|
+
eventId: mockEventId,
|
|
38
|
+
appId: mockAppId
|
|
36
39
|
};
|
|
37
40
|
|
|
38
41
|
beforeEach(() => {
|
|
@@ -49,7 +52,7 @@ describe('usePermissions Hook Stability', () => {
|
|
|
49
52
|
mockGetPermissionMap.mockResolvedValue(mockPermissions);
|
|
50
53
|
|
|
51
54
|
const { result, rerender } = renderHook(() =>
|
|
52
|
-
usePermissions(mockUserId,
|
|
55
|
+
usePermissions(mockUserId, mockOrgId, mockEventId, mockAppId)
|
|
53
56
|
);
|
|
54
57
|
|
|
55
58
|
// Wait for initial load
|
|
@@ -122,7 +125,7 @@ describe('usePermissions Hook Stability', () => {
|
|
|
122
125
|
|
|
123
126
|
const { result } = renderHook(() => {
|
|
124
127
|
renderCount++;
|
|
125
|
-
return usePermissions(mockUserId,
|
|
128
|
+
return usePermissions(mockUserId, mockOrgId, mockEventId, mockAppId);
|
|
126
129
|
});
|
|
127
130
|
|
|
128
131
|
// Wait for initial load
|
|
@@ -215,7 +218,7 @@ describe('usePermissions Hook Stability', () => {
|
|
|
215
218
|
mockGetPermissionMap.mockResolvedValue({ 'read:users': true });
|
|
216
219
|
|
|
217
220
|
const { result, rerender } = renderHook(
|
|
218
|
-
({ userId }) => usePermissions(userId,
|
|
221
|
+
({ userId }) => usePermissions(userId, mockOrgId, mockEventId, mockAppId),
|
|
219
222
|
{ initialProps: { userId: 'user-1' } }
|
|
220
223
|
);
|
|
221
224
|
|
|
@@ -243,8 +246,8 @@ describe('usePermissions Hook Stability', () => {
|
|
|
243
246
|
mockGetPermissionMap.mockResolvedValue({ 'read:users': true });
|
|
244
247
|
|
|
245
248
|
const { result, rerender } = renderHook(
|
|
246
|
-
({
|
|
247
|
-
{ initialProps: {
|
|
249
|
+
({ orgId }) => usePermissions(mockUserId, orgId, mockEventId, mockAppId),
|
|
250
|
+
{ initialProps: { orgId: 'org-1' } }
|
|
248
251
|
);
|
|
249
252
|
|
|
250
253
|
await act(async () => {
|
|
@@ -252,7 +255,7 @@ describe('usePermissions Hook Stability', () => {
|
|
|
252
255
|
});
|
|
253
256
|
|
|
254
257
|
// Change scope
|
|
255
|
-
rerender({
|
|
258
|
+
rerender({ orgId: 'org-2' });
|
|
256
259
|
|
|
257
260
|
await act(async () => {
|
|
258
261
|
await new Promise(resolve => setTimeout(resolve, 0));
|
|
@@ -594,34 +594,12 @@ export const NavigationMenu = React.forwardRef<
|
|
|
594
594
|
}
|
|
595
595
|
}, [filterByPermissions, stableScope.organisationId, stableScope.eventId, stableScope.appId, userId]);
|
|
596
596
|
|
|
597
|
-
//
|
|
598
|
-
// IMPORTANT: Extract individual values to ensure React detects changes
|
|
599
|
-
// This ensures usePermissions detects changes when appId changes from undefined to a value
|
|
600
|
-
const orgId = stableScope.organisationId || '';
|
|
601
|
-
const eventId = stableScope.eventId;
|
|
602
|
-
const appId = stableScope.appId;
|
|
603
|
-
|
|
604
|
-
const stableScopeForPermissions = React.useMemo(() => {
|
|
605
|
-
const scope = {
|
|
606
|
-
organisationId: orgId,
|
|
607
|
-
eventId: eventId,
|
|
608
|
-
appId: appId
|
|
609
|
-
};
|
|
610
|
-
// Log when scope changes to verify React detects the change
|
|
611
|
-
if (filterByPermissions && scope.organisationId) {
|
|
612
|
-
logger.warn('NavigationMenu', 'stableScopeForPermissions created', {
|
|
613
|
-
organisationId: scope.organisationId,
|
|
614
|
-
eventId: scope.eventId,
|
|
615
|
-
appId: scope.appId,
|
|
616
|
-
hasAppId: !!scope.appId
|
|
617
|
-
});
|
|
618
|
-
}
|
|
619
|
-
return scope;
|
|
620
|
-
}, [filterByPermissions, orgId, eventId, appId]);
|
|
621
|
-
|
|
597
|
+
// Call usePermissions with primitive parameters for reliable React dependency tracking
|
|
622
598
|
const { permissions: permissionMap, hasAnyPermission, isLoading: permissionsLoading, error: permissionsError } = usePermissions(
|
|
623
599
|
userId as any,
|
|
624
|
-
|
|
600
|
+
stableScope.organisationId,
|
|
601
|
+
stableScope.eventId,
|
|
602
|
+
stableScope.appId
|
|
625
603
|
);
|
|
626
604
|
|
|
627
605
|
// Debug logging for permission map state
|
|
@@ -332,7 +332,7 @@ describe('Service Hooks', () => {
|
|
|
332
332
|
|
|
333
333
|
mockUseContext.mockReturnValue({ rbacService: mockService });
|
|
334
334
|
|
|
335
|
-
const { result } = renderHook(() => usePermissions('user-1',
|
|
335
|
+
const { result } = renderHook(() => usePermissions('user-1', 'org-1', 'event-1', 'test-app'), { wrapper });
|
|
336
336
|
|
|
337
337
|
expect(result.current.permissions).toEqual({ 'events:read': true });
|
|
338
338
|
expect(result.current.roles).toEqual(['admin']);
|
|
@@ -535,7 +535,7 @@ describe('Service Hooks', () => {
|
|
|
535
535
|
const { result: authResult } = renderHook(() => useAuth(), { wrapper });
|
|
536
536
|
|
|
537
537
|
mockUseContext.mockReturnValue({ rbacService: mockRBACService });
|
|
538
|
-
const { result: permissionsResult } = renderHook(() => usePermissions('user-1',
|
|
538
|
+
const { result: permissionsResult } = renderHook(() => usePermissions('user-1', 'org-1', 'event-1', 'test-app'), { wrapper });
|
|
539
539
|
|
|
540
540
|
mockUseContext.mockReturnValue({ organisationService: mockOrganisationService });
|
|
541
541
|
const { result: organisationResult } = renderHook(() => useCurrentOrganisation(), { wrapper });
|