diff --git a/libs/permissions/permissionLogic/src/lib/application/application.machine.ts b/libs/permissions/permissionLogic/src/lib/application/application.machine.ts index 1af7c9d..2297ff6 100644 --- a/libs/permissions/permissionLogic/src/lib/application/application.machine.ts +++ b/libs/permissions/permissionLogic/src/lib/application/application.machine.ts @@ -17,10 +17,12 @@ export const applicationMachine = setup({ }).createMachine({ invoke: [ { + id: ActorSystemIds.features, systemId: ActorSystemIds.features, src: 'featuresMachine', }, { + id: ActorSystemIds.systemManagement, systemId: ActorSystemIds.systemManagement, src: 'topLevelSystemStuff', }, diff --git a/libs/permissions/permissionLogic/src/lib/permission-logic.spec.ts b/libs/permissions/permissionLogic/src/lib/permission-logic.spec.ts index 933aa71..0b142d4 100644 --- a/libs/permissions/permissionLogic/src/lib/permission-logic.spec.ts +++ b/libs/permissions/permissionLogic/src/lib/permission-logic.spec.ts @@ -25,19 +25,38 @@ import { } from './permissionMonitor.machine'; import { someFeatureMachine } from './features/someFeature/someFeature.machine'; import { countingMachineThatNeedsPermissionAt3 } from './features/counting/counting.machine'; +import { applicationMachine } from './application/application.machine'; describe('Counting Machine That Needs Permission At 3', () => { it('should increment count to 3, ask for permission, and continue counting to 5 when permission is granted', async () => { - const permissionMonitorActor = createActor( - permissionMonitoringMachine.provide({ - actors: { - features: countingMachineThatNeedsPermissionAt3, - }, - }), - { - systemId: ActorSystemIds.permissionMonitoring, - } - ).start(); + const applicationActor = createActor(applicationMachine, { + systemId: ActorSystemIds.application, + }); + + // const permissionMonitorActor = applicationActor.system.get(ActorSystemIds.permissionMonitoring) + + // const permissionMonitorActor = applicationActor + // .getSnapshot() + // .children[ActorSystemIds.systemManagement].getSnapshot().children[ + // ActorSystemIds.permissionMonitoring + // ]; + + const permissionMonitorActor = applicationActor.system + .get(ActorSystemIds.systemManagement) + .getSnapshot().children[ActorSystemIds.permissionMonitoring]; + + console.log({ permissionMonitorActor }); + // const permissionMonitorActor = createActor( + // permissionMonitoringMachine, + // // permissionMonitoringMachine.provide({ + // // actors: { + // // features: countingMachineThatNeedsPermissionAt3, + // // }, + // // }), + // { + // systemId: ActorSystemIds.permissionMonitoring, + // } + // ).start(); const state = permissionMonitorActor.getSnapshot(); expect( diff --git a/libs/permissions/permissionLogic/src/lib/systemManagement/systemManagement.machine.ts b/libs/permissions/permissionLogic/src/lib/systemManagement/systemManagement.machine.ts index 9fc9a08..6850c99 100644 --- a/libs/permissions/permissionLogic/src/lib/systemManagement/systemManagement.machine.ts +++ b/libs/permissions/permissionLogic/src/lib/systemManagement/systemManagement.machine.ts @@ -14,6 +14,7 @@ export const systemManagementMachine = setup({ }).createMachine({ invoke: [ { + id: ActorSystemIds.permissionMonitoring, systemId: ActorSystemIds.permissionMonitoring, src: 'permissionMonitoringMachine', },