@vived/host 4.0.2 → 4.1.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/dist/cjs/AppSandbox/Factories/setupAppSandbox.js +6 -0
- package/dist/cjs/AppSandbox/Factories/setupAppSandbox.js.map +1 -1
- package/dist/cjs/AppSandbox/UCs/submitActivityAssetHandlerSandbox.js +37 -0
- package/dist/cjs/AppSandbox/UCs/submitActivityAssetHandlerSandbox.js.map +1 -0
- package/dist/cjs/AppSandbox/UCs/submitActivityAssetHandlerSandbox.test.js +55 -0
- package/dist/cjs/AppSandbox/UCs/submitActivityAssetHandlerSandbox.test.js.map +1 -0
- package/dist/cjs/Assets/Factories/setupAssetsForSandbox.js +1 -0
- package/dist/cjs/Assets/Factories/setupAssetsForSandbox.js.map +1 -1
- package/dist/cjs/Assets/Mocks/MockNewAssetUC.js +16 -0
- package/dist/cjs/Assets/Mocks/MockNewAssetUC.js.map +1 -0
- package/dist/cjs/Assets/Mocks/index.js +1 -0
- package/dist/cjs/Assets/Mocks/index.js.map +1 -1
- package/dist/cjs/Assets/UCs/NewAppAssetUC.js.map +1 -1
- package/dist/cjs/Assets/UCs/NewAppAssetUC.test.js.map +1 -1
- package/dist/cjs/Assets/UCs/NewAssetUC.js +53 -0
- package/dist/cjs/Assets/UCs/NewAssetUC.js.map +1 -0
- package/dist/cjs/Assets/UCs/NewAssetUC.test.js +104 -0
- package/dist/cjs/Assets/UCs/NewAssetUC.test.js.map +1 -0
- package/dist/cjs/Assets/UCs/index.js +1 -0
- package/dist/cjs/Assets/UCs/index.js.map +1 -1
- package/dist/cjs/Dialog/Entities/Alert.js +2 -0
- package/dist/cjs/Dialog/Entities/Alert.js.map +1 -1
- package/dist/cjs/Dialog/Entities/Alert.test.js +6 -0
- package/dist/cjs/Dialog/Entities/Alert.test.js.map +1 -1
- package/dist/cjs/Dialog/Entities/Confirm.js +3 -0
- package/dist/cjs/Dialog/Entities/Confirm.js.map +1 -1
- package/dist/cjs/Dialog/Entities/Confirm.test.js +12 -0
- package/dist/cjs/Dialog/Entities/Confirm.test.js.map +1 -1
- package/dist/cjs/Dialog/Entities/DialogQueue.js +16 -3
- package/dist/cjs/Dialog/Entities/DialogQueue.js.map +1 -1
- package/dist/cjs/Dialog/Entities/DialogQueue.test.js +21 -0
- package/dist/cjs/Dialog/Entities/DialogQueue.test.js.map +1 -1
- package/dist/cjs/Dialog/Entities/MarkDownEditor.js +3 -0
- package/dist/cjs/Dialog/Entities/MarkDownEditor.js.map +1 -1
- package/dist/cjs/Dialog/Entities/MarkDownEditor.test.js +12 -0
- package/dist/cjs/Dialog/Entities/MarkDownEditor.test.js.map +1 -1
- package/dist/cjs/Dialog/Entities/SelectModel.js +1 -0
- package/dist/cjs/Dialog/Entities/SelectModel.js.map +1 -1
- package/dist/cjs/Dialog/Entities/Spinner.js +2 -0
- package/dist/cjs/Dialog/Entities/Spinner.js.map +1 -1
- package/dist/cjs/Dialog/Entities/Spinner.test.js +17 -0
- package/dist/cjs/Dialog/Entities/Spinner.test.js.map +1 -1
- package/dist/cjs/Handler/setupStandardHostHandlers.js +1 -0
- package/dist/cjs/Handler/setupStandardHostHandlers.js.map +1 -1
- package/dist/cjs/StateMachine/Adapters/hostStateAdapter.js +24 -0
- package/dist/cjs/StateMachine/Adapters/hostStateAdapter.js.map +1 -0
- package/dist/cjs/StateMachine/Adapters/hostStateAdapter.test.js +49 -0
- package/dist/cjs/StateMachine/Adapters/hostStateAdapter.test.js.map +1 -0
- package/dist/cjs/StateMachine/Adapters/index.js +1 -0
- package/dist/cjs/StateMachine/Adapters/index.js.map +1 -1
- package/dist/cjs/StateMachine/Controllers/editStateName.js +13 -0
- package/dist/cjs/StateMachine/Controllers/editStateName.js.map +1 -0
- package/dist/cjs/StateMachine/Controllers/editStateName.test.js +49 -0
- package/dist/cjs/StateMachine/Controllers/editStateName.test.js.map +1 -0
- package/dist/cjs/StateMachine/Controllers/index.js +1 -0
- package/dist/cjs/StateMachine/Controllers/index.js.map +1 -1
- package/dist/cjs/StateMachine/Entities/HostStateMachine.js +67 -24
- package/dist/cjs/StateMachine/Entities/HostStateMachine.js.map +1 -1
- package/dist/cjs/StateMachine/Entities/HostStateMachine.test.js +174 -0
- package/dist/cjs/StateMachine/Entities/HostStateMachine.test.js.map +1 -1
- package/dist/cjs/StateMachine/Mocks/MockEditStateNameUC.js +12 -0
- package/dist/cjs/StateMachine/Mocks/MockEditStateNameUC.js.map +1 -0
- package/dist/cjs/StateMachine/Mocks/MockHostStatePM.js +23 -0
- package/dist/cjs/StateMachine/Mocks/MockHostStatePM.js.map +1 -0
- package/dist/cjs/StateMachine/PMs/HostStateMachinePM.js +21 -15
- package/dist/cjs/StateMachine/PMs/HostStateMachinePM.js.map +1 -1
- package/dist/cjs/StateMachine/PMs/HostStateMachinePM.test.js +65 -56
- package/dist/cjs/StateMachine/PMs/HostStateMachinePM.test.js.map +1 -1
- package/dist/cjs/StateMachine/PMs/HostStatePM.js +136 -0
- package/dist/cjs/StateMachine/PMs/HostStatePM.js.map +1 -0
- package/dist/cjs/StateMachine/PMs/HostStatePM.test.js +405 -0
- package/dist/cjs/StateMachine/PMs/HostStatePM.test.js.map +1 -0
- package/dist/cjs/StateMachine/PMs/index.js +1 -0
- package/dist/cjs/StateMachine/PMs/index.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/EditStateNameUC.js +35 -0
- package/dist/cjs/StateMachine/UCs/EditStateNameUC.js.map +1 -0
- package/dist/cjs/StateMachine/UCs/EditStateNameUC.test.js +58 -0
- package/dist/cjs/StateMachine/UCs/EditStateNameUC.test.js.map +1 -0
- package/dist/cjs/StateMachine/UCs/index.js +1 -0
- package/dist/cjs/StateMachine/UCs/index.js.map +1 -1
- package/dist/cjs/VivedAPI/Mocks/MockSignedAuthToken.js +1 -2
- package/dist/cjs/VivedAPI/Mocks/MockSignedAuthToken.js.map +1 -1
- package/dist/cjs/VivedAPI/UCs/DeleteAssetOnAPIUC.js +1 -1
- package/dist/cjs/VivedAPI/UCs/DeleteAssetOnAPIUC.js.map +1 -1
- package/dist/cjs/VivedAPI/UCs/DeleteAssetOnAPIUC.test.js +2 -2
- package/dist/cjs/VivedAPI/UCs/DeleteAssetOnAPIUC.test.js.map +1 -1
- package/dist/cjs/VivedAPI/UCs/GetAppFromAPIUC.js +1 -1
- package/dist/cjs/VivedAPI/UCs/GetAppFromAPIUC.js.map +1 -1
- package/dist/cjs/VivedAPI/UCs/GetAppFromAPIUC.test.js +2 -2
- package/dist/cjs/VivedAPI/UCs/GetAppFromAPIUC.test.js.map +1 -1
- package/dist/cjs/VivedAPI/UCs/GetAssetsForOwnerFromAPIUC.js +1 -1
- package/dist/cjs/VivedAPI/UCs/GetAssetsForOwnerFromAPIUC.js.map +1 -1
- package/dist/cjs/VivedAPI/UCs/GetAssetsForOwnerFromAPIUC.test.js +2 -2
- package/dist/cjs/VivedAPI/UCs/GetAssetsForOwnerFromAPIUC.test.js.map +1 -1
- package/dist/cjs/VivedAPI/UCs/PatchAssetFileUC.js +1 -1
- package/dist/cjs/VivedAPI/UCs/PatchAssetFileUC.js.map +1 -1
- package/dist/cjs/VivedAPI/UCs/PatchAssetFileUC.test.js +2 -2
- package/dist/cjs/VivedAPI/UCs/PatchAssetFileUC.test.js.map +1 -1
- package/dist/cjs/VivedAPI/UCs/PatchAssetIsArchivedUC.js +1 -1
- package/dist/cjs/VivedAPI/UCs/PatchAssetIsArchivedUC.js.map +1 -1
- package/dist/cjs/VivedAPI/UCs/PatchAssetIsArchivedUC.test.js +2 -2
- package/dist/cjs/VivedAPI/UCs/PatchAssetIsArchivedUC.test.js.map +1 -1
- package/dist/cjs/VivedAPI/UCs/PatchAssetMetaUC.js +1 -1
- package/dist/cjs/VivedAPI/UCs/PatchAssetMetaUC.js.map +1 -1
- package/dist/cjs/VivedAPI/UCs/PatchAssetMetaUC.test.js +2 -2
- package/dist/cjs/VivedAPI/UCs/PatchAssetMetaUC.test.js.map +1 -1
- package/dist/cjs/VivedAPI/UCs/PatchAssetUC.js +2 -3
- package/dist/cjs/VivedAPI/UCs/PatchAssetUC.js.map +1 -1
- package/dist/cjs/VivedAPI/UCs/PatchAssetUC.test.js +2 -2
- package/dist/cjs/VivedAPI/UCs/PatchAssetUC.test.js.map +1 -1
- package/dist/cjs/VivedAPI/UCs/PostNewAssetUC.js +2 -3
- package/dist/cjs/VivedAPI/UCs/PostNewAssetUC.js.map +1 -1
- package/dist/cjs/VivedAPI/UCs/PostNewAssetUC.test.js +2 -2
- package/dist/cjs/VivedAPI/UCs/PostNewAssetUC.test.js.map +1 -1
- package/dist/cjs/VivedAPI/UCs/SignedAuthTokenUC.js.map +1 -1
- package/dist/esm/AppSandbox/Factories/setupAppSandbox.js +6 -0
- package/dist/esm/AppSandbox/Factories/setupAppSandbox.js.map +1 -1
- package/dist/esm/AppSandbox/UCs/submitActivityAssetHandlerSandbox.js +34 -0
- package/dist/esm/AppSandbox/UCs/submitActivityAssetHandlerSandbox.js.map +1 -0
- package/dist/esm/AppSandbox/UCs/submitActivityAssetHandlerSandbox.test.js +53 -0
- package/dist/esm/AppSandbox/UCs/submitActivityAssetHandlerSandbox.test.js.map +1 -0
- package/dist/esm/Assets/Factories/setupAssetsForSandbox.js +2 -1
- package/dist/esm/Assets/Factories/setupAssetsForSandbox.js.map +1 -1
- package/dist/esm/Assets/Mocks/MockNewAssetUC.js +11 -0
- package/dist/esm/Assets/Mocks/MockNewAssetUC.js.map +1 -0
- package/dist/esm/Assets/Mocks/index.js +1 -0
- package/dist/esm/Assets/Mocks/index.js.map +1 -1
- package/dist/esm/Assets/UCs/NewAppAssetUC.js.map +1 -1
- package/dist/esm/Assets/UCs/NewAppAssetUC.test.js.map +1 -1
- package/dist/esm/Assets/UCs/NewAssetUC.js +48 -0
- package/dist/esm/Assets/UCs/NewAssetUC.js.map +1 -0
- package/dist/esm/Assets/UCs/NewAssetUC.test.js +102 -0
- package/dist/esm/Assets/UCs/NewAssetUC.test.js.map +1 -0
- package/dist/esm/Assets/UCs/index.js +1 -0
- package/dist/esm/Assets/UCs/index.js.map +1 -1
- package/dist/esm/Dialog/Entities/Alert.js +2 -0
- package/dist/esm/Dialog/Entities/Alert.js.map +1 -1
- package/dist/esm/Dialog/Entities/Alert.test.js +6 -0
- package/dist/esm/Dialog/Entities/Alert.test.js.map +1 -1
- package/dist/esm/Dialog/Entities/Confirm.js +3 -0
- package/dist/esm/Dialog/Entities/Confirm.js.map +1 -1
- package/dist/esm/Dialog/Entities/Confirm.test.js +12 -0
- package/dist/esm/Dialog/Entities/Confirm.test.js.map +1 -1
- package/dist/esm/Dialog/Entities/DialogQueue.js +17 -4
- package/dist/esm/Dialog/Entities/DialogQueue.js.map +1 -1
- package/dist/esm/Dialog/Entities/DialogQueue.test.js +21 -0
- package/dist/esm/Dialog/Entities/DialogQueue.test.js.map +1 -1
- package/dist/esm/Dialog/Entities/MarkDownEditor.js +3 -0
- package/dist/esm/Dialog/Entities/MarkDownEditor.js.map +1 -1
- package/dist/esm/Dialog/Entities/MarkDownEditor.test.js +12 -0
- package/dist/esm/Dialog/Entities/MarkDownEditor.test.js.map +1 -1
- package/dist/esm/Dialog/Entities/SelectModel.js +1 -0
- package/dist/esm/Dialog/Entities/SelectModel.js.map +1 -1
- package/dist/esm/Dialog/Entities/Spinner.js +2 -0
- package/dist/esm/Dialog/Entities/Spinner.js.map +1 -1
- package/dist/esm/Dialog/Entities/Spinner.test.js +17 -0
- package/dist/esm/Dialog/Entities/Spinner.test.js.map +1 -1
- package/dist/esm/Handler/setupStandardHostHandlers.js +2 -1
- package/dist/esm/Handler/setupStandardHostHandlers.js.map +1 -1
- package/dist/esm/StateMachine/Adapters/hostStateAdapter.js +21 -0
- package/dist/esm/StateMachine/Adapters/hostStateAdapter.js.map +1 -0
- package/dist/esm/StateMachine/Adapters/hostStateAdapter.test.js +47 -0
- package/dist/esm/StateMachine/Adapters/hostStateAdapter.test.js.map +1 -0
- package/dist/esm/StateMachine/Adapters/index.js +1 -0
- package/dist/esm/StateMachine/Adapters/index.js.map +1 -1
- package/dist/esm/StateMachine/Controllers/editStateName.js +10 -0
- package/dist/esm/StateMachine/Controllers/editStateName.js.map +1 -0
- package/dist/esm/StateMachine/Controllers/editStateName.test.js +47 -0
- package/dist/esm/StateMachine/Controllers/editStateName.test.js.map +1 -0
- package/dist/esm/StateMachine/Controllers/index.js +1 -0
- package/dist/esm/StateMachine/Controllers/index.js.map +1 -1
- package/dist/esm/StateMachine/Entities/HostStateMachine.js +67 -24
- package/dist/esm/StateMachine/Entities/HostStateMachine.js.map +1 -1
- package/dist/esm/StateMachine/Entities/HostStateMachine.test.js +174 -0
- package/dist/esm/StateMachine/Entities/HostStateMachine.test.js.map +1 -1
- package/dist/esm/StateMachine/Mocks/MockEditStateNameUC.js +8 -0
- package/dist/esm/StateMachine/Mocks/MockEditStateNameUC.js.map +1 -0
- package/dist/esm/StateMachine/Mocks/MockHostStatePM.js +18 -0
- package/dist/esm/StateMachine/Mocks/MockHostStatePM.js.map +1 -0
- package/dist/esm/StateMachine/PMs/HostStateMachinePM.js +21 -15
- package/dist/esm/StateMachine/PMs/HostStateMachinePM.js.map +1 -1
- package/dist/esm/StateMachine/PMs/HostStateMachinePM.test.js +65 -56
- package/dist/esm/StateMachine/PMs/HostStateMachinePM.test.js.map +1 -1
- package/dist/esm/StateMachine/PMs/HostStatePM.js +131 -0
- package/dist/esm/StateMachine/PMs/HostStatePM.js.map +1 -0
- package/dist/esm/StateMachine/PMs/HostStatePM.test.js +403 -0
- package/dist/esm/StateMachine/PMs/HostStatePM.test.js.map +1 -0
- package/dist/esm/StateMachine/PMs/index.js +1 -0
- package/dist/esm/StateMachine/PMs/index.js.map +1 -1
- package/dist/esm/StateMachine/UCs/EditStateNameUC.js +30 -0
- package/dist/esm/StateMachine/UCs/EditStateNameUC.js.map +1 -0
- package/dist/esm/StateMachine/UCs/EditStateNameUC.test.js +56 -0
- package/dist/esm/StateMachine/UCs/EditStateNameUC.test.js.map +1 -0
- package/dist/esm/StateMachine/UCs/index.js +1 -0
- package/dist/esm/StateMachine/UCs/index.js.map +1 -1
- package/dist/esm/VivedAPI/Mocks/MockSignedAuthToken.js +1 -2
- package/dist/esm/VivedAPI/Mocks/MockSignedAuthToken.js.map +1 -1
- package/dist/esm/VivedAPI/UCs/DeleteAssetOnAPIUC.js +1 -1
- package/dist/esm/VivedAPI/UCs/DeleteAssetOnAPIUC.js.map +1 -1
- package/dist/esm/VivedAPI/UCs/DeleteAssetOnAPIUC.test.js +2 -2
- package/dist/esm/VivedAPI/UCs/DeleteAssetOnAPIUC.test.js.map +1 -1
- package/dist/esm/VivedAPI/UCs/GetAppFromAPIUC.js +1 -1
- package/dist/esm/VivedAPI/UCs/GetAppFromAPIUC.js.map +1 -1
- package/dist/esm/VivedAPI/UCs/GetAppFromAPIUC.test.js +2 -2
- package/dist/esm/VivedAPI/UCs/GetAppFromAPIUC.test.js.map +1 -1
- package/dist/esm/VivedAPI/UCs/GetAssetsForOwnerFromAPIUC.js +1 -1
- package/dist/esm/VivedAPI/UCs/GetAssetsForOwnerFromAPIUC.js.map +1 -1
- package/dist/esm/VivedAPI/UCs/GetAssetsForOwnerFromAPIUC.test.js +2 -2
- package/dist/esm/VivedAPI/UCs/GetAssetsForOwnerFromAPIUC.test.js.map +1 -1
- package/dist/esm/VivedAPI/UCs/PatchAssetFileUC.js +1 -1
- package/dist/esm/VivedAPI/UCs/PatchAssetFileUC.js.map +1 -1
- package/dist/esm/VivedAPI/UCs/PatchAssetFileUC.test.js +2 -2
- package/dist/esm/VivedAPI/UCs/PatchAssetFileUC.test.js.map +1 -1
- package/dist/esm/VivedAPI/UCs/PatchAssetIsArchivedUC.js +1 -1
- package/dist/esm/VivedAPI/UCs/PatchAssetIsArchivedUC.js.map +1 -1
- package/dist/esm/VivedAPI/UCs/PatchAssetIsArchivedUC.test.js +2 -2
- package/dist/esm/VivedAPI/UCs/PatchAssetIsArchivedUC.test.js.map +1 -1
- package/dist/esm/VivedAPI/UCs/PatchAssetMetaUC.js +1 -1
- package/dist/esm/VivedAPI/UCs/PatchAssetMetaUC.js.map +1 -1
- package/dist/esm/VivedAPI/UCs/PatchAssetMetaUC.test.js +2 -2
- package/dist/esm/VivedAPI/UCs/PatchAssetMetaUC.test.js.map +1 -1
- package/dist/esm/VivedAPI/UCs/PatchAssetUC.js +2 -3
- package/dist/esm/VivedAPI/UCs/PatchAssetUC.js.map +1 -1
- package/dist/esm/VivedAPI/UCs/PatchAssetUC.test.js +2 -2
- package/dist/esm/VivedAPI/UCs/PatchAssetUC.test.js.map +1 -1
- package/dist/esm/VivedAPI/UCs/PostNewAssetUC.js +2 -3
- package/dist/esm/VivedAPI/UCs/PostNewAssetUC.js.map +1 -1
- package/dist/esm/VivedAPI/UCs/PostNewAssetUC.test.js +2 -2
- package/dist/esm/VivedAPI/UCs/PostNewAssetUC.test.js.map +1 -1
- package/dist/esm/VivedAPI/UCs/SignedAuthTokenUC.js +1 -1
- package/dist/esm/VivedAPI/UCs/SignedAuthTokenUC.js.map +1 -1
- package/dist/types/AppSandbox/Factories/setupAppSandbox.d.ts.map +1 -1
- package/dist/types/AppSandbox/UCs/submitActivityAssetHandlerSandbox.d.ts +4 -0
- package/dist/types/AppSandbox/UCs/submitActivityAssetHandlerSandbox.d.ts.map +1 -0
- package/dist/types/AppSandbox/UCs/submitActivityAssetHandlerSandbox.test.d.ts +2 -0
- package/dist/types/AppSandbox/UCs/submitActivityAssetHandlerSandbox.test.d.ts.map +1 -0
- package/dist/types/Assets/Factories/setupAssetsForSandbox.d.ts.map +1 -1
- package/dist/types/Assets/Mocks/MockNewAssetUC.d.ts +8 -0
- package/dist/types/Assets/Mocks/MockNewAssetUC.d.ts.map +1 -0
- package/dist/types/Assets/Mocks/index.d.ts +1 -0
- package/dist/types/Assets/Mocks/index.d.ts.map +1 -1
- package/dist/types/Assets/UCs/NewAssetUC.d.ts +14 -0
- package/dist/types/Assets/UCs/NewAssetUC.d.ts.map +1 -0
- package/dist/types/Assets/UCs/NewAssetUC.test.d.ts +2 -0
- package/dist/types/Assets/UCs/NewAssetUC.test.d.ts.map +1 -0
- package/dist/types/Assets/UCs/index.d.ts +1 -0
- package/dist/types/Assets/UCs/index.d.ts.map +1 -1
- package/dist/types/Dialog/Entities/Alert.d.ts +1 -0
- package/dist/types/Dialog/Entities/Alert.d.ts.map +1 -1
- package/dist/types/Dialog/Entities/Confirm.d.ts +1 -0
- package/dist/types/Dialog/Entities/Confirm.d.ts.map +1 -1
- package/dist/types/Dialog/Entities/DialogQueue.d.ts +1 -0
- package/dist/types/Dialog/Entities/DialogQueue.d.ts.map +1 -1
- package/dist/types/Dialog/Entities/MarkDownEditor.d.ts +1 -0
- package/dist/types/Dialog/Entities/MarkDownEditor.d.ts.map +1 -1
- package/dist/types/Dialog/Entities/SelectModel.d.ts +1 -0
- package/dist/types/Dialog/Entities/SelectModel.d.ts.map +1 -1
- package/dist/types/Dialog/Entities/Spinner.d.ts +1 -0
- package/dist/types/Dialog/Entities/Spinner.d.ts.map +1 -1
- package/dist/types/Handler/setupStandardHostHandlers.d.ts.map +1 -1
- package/dist/types/StateMachine/Adapters/hostStateAdapter.d.ts +4 -0
- package/dist/types/StateMachine/Adapters/hostStateAdapter.d.ts.map +1 -0
- package/dist/types/StateMachine/Adapters/hostStateAdapter.test.d.ts +2 -0
- package/dist/types/StateMachine/Adapters/hostStateAdapter.test.d.ts.map +1 -0
- package/dist/types/StateMachine/Adapters/index.d.ts +1 -0
- package/dist/types/StateMachine/Adapters/index.d.ts.map +1 -1
- package/dist/types/StateMachine/Controllers/editStateName.d.ts +3 -0
- package/dist/types/StateMachine/Controllers/editStateName.d.ts.map +1 -0
- package/dist/types/StateMachine/Controllers/editStateName.test.d.ts +2 -0
- package/dist/types/StateMachine/Controllers/editStateName.test.d.ts.map +1 -0
- package/dist/types/StateMachine/Controllers/index.d.ts +1 -0
- package/dist/types/StateMachine/Controllers/index.d.ts.map +1 -1
- package/dist/types/StateMachine/Entities/HostStateMachine.d.ts +6 -0
- package/dist/types/StateMachine/Entities/HostStateMachine.d.ts.map +1 -1
- package/dist/types/StateMachine/Mocks/MockEditStateNameUC.d.ts +7 -0
- package/dist/types/StateMachine/Mocks/MockEditStateNameUC.d.ts.map +1 -0
- package/dist/types/StateMachine/Mocks/MockHostStatePM.d.ts +9 -0
- package/dist/types/StateMachine/Mocks/MockHostStatePM.d.ts.map +1 -0
- package/dist/types/StateMachine/PMs/HostStateMachinePM.d.ts +3 -4
- package/dist/types/StateMachine/PMs/HostStateMachinePM.d.ts.map +1 -1
- package/dist/types/StateMachine/PMs/HostStatePM.d.ts +18 -0
- package/dist/types/StateMachine/PMs/HostStatePM.d.ts.map +1 -0
- package/dist/types/StateMachine/PMs/HostStatePM.test.d.ts +2 -0
- package/dist/types/StateMachine/PMs/HostStatePM.test.d.ts.map +1 -0
- package/dist/types/StateMachine/PMs/index.d.ts +1 -0
- package/dist/types/StateMachine/PMs/index.d.ts.map +1 -1
- package/dist/types/StateMachine/UCs/EditStateNameUC.d.ts +9 -0
- package/dist/types/StateMachine/UCs/EditStateNameUC.d.ts.map +1 -0
- package/dist/types/StateMachine/UCs/EditStateNameUC.test.d.ts +2 -0
- package/dist/types/StateMachine/UCs/EditStateNameUC.test.d.ts.map +1 -0
- package/dist/types/StateMachine/UCs/index.d.ts +1 -0
- package/dist/types/StateMachine/UCs/index.d.ts.map +1 -1
- package/dist/types/VivedAPI/Mocks/MockSignedAuthToken.d.ts +1 -2
- package/dist/types/VivedAPI/Mocks/MockSignedAuthToken.d.ts.map +1 -1
- package/dist/types/VivedAPI/UCs/PatchAssetUC.d.ts.map +1 -1
- package/dist/types/VivedAPI/UCs/PostNewAssetUC.d.ts +2 -2
- package/dist/types/VivedAPI/UCs/PostNewAssetUC.d.ts.map +1 -1
- package/dist/types/VivedAPI/UCs/SignedAuthTokenUC.d.ts +1 -2
- package/dist/types/VivedAPI/UCs/SignedAuthTokenUC.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -12,7 +12,7 @@ function makeTestRig() {
|
|
|
12
12
|
const mockJsonRequester = (0, MockJsonRequestUC_1.makeMockJsonRequestUC)(appObjects);
|
|
13
13
|
mockJsonRequester.doRequest.mockResolvedValue({});
|
|
14
14
|
const mockAuth = (0, MockSignedAuthToken_1.makeMockSignedAuthTokenUC)(appObjects);
|
|
15
|
-
mockAuth.
|
|
15
|
+
mockAuth.getAuthToken.mockResolvedValue("mockAuthToken");
|
|
16
16
|
const uc = (0, PatchAssetIsArchivedUC_1.makePatchAssetIsArchivedUC)(appObjects.getOrCreate("ao"));
|
|
17
17
|
return {
|
|
18
18
|
uc,
|
|
@@ -62,7 +62,7 @@ describe("Patch Asset Is Archived UC", () => {
|
|
|
62
62
|
});
|
|
63
63
|
it("Rejects if the get auth token fails", () => {
|
|
64
64
|
const { uc, mockAuth } = makeTestRig();
|
|
65
|
-
mockAuth.
|
|
65
|
+
mockAuth.getAuthToken.mockRejectedValue(new Error("Some Auth token error Error"));
|
|
66
66
|
return expect(uc.doPatch("asset1", true)).rejects.toEqual(new Error("Some Auth token error Error"));
|
|
67
67
|
});
|
|
68
68
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PatchAssetIsArchivedUC.test.js","sourceRoot":"","sources":["../../../../src/VivedAPI/UCs/PatchAssetIsArchivedUC.test.ts"],"names":[],"mappings":";;AAAA,sCAAgD;AAChD,+DAA4D;AAC5D,kEAAmE;AACnE,sEAAyE;AAEzE,qEAGkC;AAElC,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,IAAA,wBAAiB,GAAE,CAAC;IACvC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;IAEjE,MAAM,QAAQ,GAAG,IAAI,+BAAc,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAEnE,MAAM,iBAAiB,GAAG,IAAA,yCAAqB,EAAC,UAAU,CAAC,CAAC;IAC5D,iBAAiB,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;IAElD,MAAM,QAAQ,GAAG,IAAA,+CAAyB,EAAC,UAAU,CAAC,CAAC;IACvD,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"PatchAssetIsArchivedUC.test.js","sourceRoot":"","sources":["../../../../src/VivedAPI/UCs/PatchAssetIsArchivedUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport { VivedAPIEntity } from \"../Entities/VivedAPIEntity\";\r\nimport { makeMockJsonRequestUC } from \"../Mocks/MockJsonRequestUC\";\r\nimport { makeMockSignedAuthTokenUC } from \"../Mocks/MockSignedAuthToken\";\r\nimport { RequestJSONOptions } from \"./JsonRequestUC\";\r\nimport {\r\n makePatchAssetIsArchivedUC,\r\n PatchAssetIsArchivedUC\r\n} from \"./PatchAssetIsArchivedUC\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n const singletonSpy = jest.spyOn(appObjects, \"registerSingleton\");\r\n\r\n const vivedAPI = new VivedAPIEntity(appObjects.getOrCreate(\"API\"));\r\n\r\n const mockJsonRequester = makeMockJsonRequestUC(appObjects);\r\n mockJsonRequester.doRequest.mockResolvedValue({});\r\n\r\n const mockAuth = makeMockSignedAuthTokenUC(appObjects);\r\n mockAuth.getAuthToken.mockResolvedValue(\"mockAuthToken\");\r\n\r\n const uc = makePatchAssetIsArchivedUC(appObjects.getOrCreate(\"ao\"));\r\n\r\n return {\r\n uc,\r\n appObjects,\r\n singletonSpy,\r\n vivedAPI,\r\n mockJsonRequester,\r\n mockAuth\r\n };\r\n}\r\n\r\ndescribe(\"Patch Asset Is Archived UC\", () => {\r\n it(\"Registers itself as the Singleton\", () => {\r\n const { uc, singletonSpy } = makeTestRig();\r\n\r\n expect(singletonSpy).toBeCalledWith(uc);\r\n });\r\n\r\n it(\"Gets the singleton\", () => {\r\n const { uc, appObjects } = makeTestRig();\r\n\r\n expect(PatchAssetIsArchivedUC.get(appObjects)).toEqual(uc);\r\n });\r\n\r\n it(\"Resolves\", async () => {\r\n const { uc } = makeTestRig();\r\n\r\n return expect(uc.doPatch(\"asset1\", true)).resolves.toEqual(undefined);\r\n });\r\n\r\n it(\"Warns and rejects if the JSON Request rejects\", () => {\r\n const { uc, mockJsonRequester } = makeTestRig();\r\n\r\n mockJsonRequester.doRequest.mockRejectedValue(new Error(\"Some JSON Error\"));\r\n\r\n return expect(uc.doPatch(\"asset1\", true)).rejects.toEqual(\r\n new Error(\"Some JSON Error\")\r\n );\r\n });\r\n\r\n it(\"Requests the JSON with the expected url\", async () => {\r\n const { uc, mockJsonRequester } = makeTestRig();\r\n\r\n await uc.doPatch(\"asset1\", true);\r\n\r\n const postURL = mockJsonRequester.doRequest.mock.calls[0][0] as URL;\r\n expect(postURL.toString()).toEqual(\r\n \"https://api.vivedlearning.com/assets/asset1\"\r\n );\r\n });\r\n\r\n it(\"Requests the JSON with the expected options\", async () => {\r\n const { uc, mockJsonRequester } = makeTestRig();\r\n\r\n await uc.doPatch(\"asset1\", true);\r\n\r\n const postURL = mockJsonRequester.doRequest.mock\r\n .calls[0][1] as RequestJSONOptions;\r\n expect(postURL.method).toEqual(\"PATCH\");\r\n expect(postURL.headers).toEqual({\r\n Authorization: \"Bearer mockAuthToken\"\r\n });\r\n\r\n expect(postURL.body).toEqual(\r\n JSON.stringify({\r\n archived: true\r\n })\r\n );\r\n });\r\n\r\n it(\"Rejects if the get auth token fails\", () => {\r\n const { uc, mockAuth } = makeTestRig();\r\n\r\n mockAuth.getAuthToken.mockRejectedValue(\r\n new Error(\"Some Auth token error Error\")\r\n );\r\n\r\n return expect(uc.doPatch(\"asset1\", true)).rejects.toEqual(\r\n new Error(\"Some Auth token error Error\")\r\n );\r\n });\r\n});\r\n"]}
|
|
@@ -23,7 +23,7 @@ class PatchAssetMetaUCImp extends PatchAssetMetaUC {
|
|
|
23
23
|
}
|
|
24
24
|
get getAuthToken() {
|
|
25
25
|
return this.getCachedSingleton(SignedAuthTokenUC_1.SignedAuthTokenUC.type)
|
|
26
|
-
?.
|
|
26
|
+
?.getAuthToken;
|
|
27
27
|
}
|
|
28
28
|
get vivedAPI() {
|
|
29
29
|
return this.getCachedSingleton(VivedAPIEntity_1.VivedAPIEntity.type);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PatchAssetMetaUC.js","sourceRoot":"","sources":["../../../../src/VivedAPI/UCs/PatchAssetMetaUC.ts"],"names":[],"mappings":";;;AA2BA,oDAEC;AA7BD,sCAKqB;AACrB,+DAA4D;AAC5D,mDAAoE;AACpE,2DAAwD;AASxD,MAAsB,gBAAiB,SAAQ,kBAAW;IAKxD,MAAM,CAAC,GAAG,CAAC,UAAyB;QAClC,OAAO,IAAA,4BAAqB,EAAC,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAClE,CAAC;;AAPH,4CAQC;AAPQ,qBAAI,GAAG,kBAAkB,CAAC;AASnC,SAAgB,oBAAoB,CAAC,SAAoB;IACvD,OAAO,IAAI,mBAAmB,CAAC,SAAS,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,mBAAoB,SAAQ,gBAAgB;IAChD,IAAY,aAAa;QACvB,OAAO,IAAI,CAAC,kBAAkB,CAAgB,6BAAa,CAAC,IAAI,CAAC;YAC/D,EAAE,SAAS,CAAC;IAChB,CAAC;IAED,IAAY,YAAY;QACtB,OAAO,IAAI,CAAC,kBAAkB,CAAoB,qCAAiB,CAAC,IAAI,CAAC;YACvE,EAAE,
|
|
1
|
+
{"version":3,"file":"PatchAssetMetaUC.js","sourceRoot":"","sources":["../../../../src/VivedAPI/UCs/PatchAssetMetaUC.ts"],"names":[],"mappings":";;;AA2BA,oDAEC;AA7BD,sCAKqB;AACrB,+DAA4D;AAC5D,mDAAoE;AACpE,2DAAwD;AASxD,MAAsB,gBAAiB,SAAQ,kBAAW;IAKxD,MAAM,CAAC,GAAG,CAAC,UAAyB;QAClC,OAAO,IAAA,4BAAqB,EAAC,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAClE,CAAC;;AAPH,4CAQC;AAPQ,qBAAI,GAAG,kBAAkB,CAAC;AASnC,SAAgB,oBAAoB,CAAC,SAAoB;IACvD,OAAO,IAAI,mBAAmB,CAAC,SAAS,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,mBAAoB,SAAQ,gBAAgB;IAChD,IAAY,aAAa;QACvB,OAAO,IAAI,CAAC,kBAAkB,CAAgB,6BAAa,CAAC,IAAI,CAAC;YAC/D,EAAE,SAAS,CAAC;IAChB,CAAC;IAED,IAAY,YAAY;QACtB,OAAO,IAAI,CAAC,kBAAkB,CAAoB,qCAAiB,CAAC,IAAI,CAAC;YACvE,EAAE,YAAY,CAAC;IACnB,CAAC;IAED,IAAY,QAAQ;QAClB,OAAO,IAAI,CAAC,kBAAkB,CAAiB,+BAAc,CAAC,IAAI,CAAC,CAAC;IACtE,CAAC;IA4CD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC;QA3C1C,YAAO,GAAG,CAAC,IAAuB,EAAiB,EAAE;YACnD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC/B,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YAEzC,IAAI,CAAC,YAAY,IAAI,CAAC,QAAQ,IAAI,CAAC,aAAa,EAAE,CAAC;gBACjD,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC;YAC1B,CAAC;YAED,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;YAEjD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACrC,YAAY,EAAE;qBACX,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;oBACd,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;oBAExD,MAAM,IAAI,GAAG;wBACX,IAAI;wBACJ,WAAW;wBACX,QAAQ;qBACT,CAAC;oBAEF,MAAM,OAAO,GAAuB;wBAClC,MAAM,EAAE,OAAO;wBACf,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;wBAC1B,OAAO,EAAE;4BACP,aAAa,EAAE,SAAS,GAAG,KAAK;yBACjC;qBACF,CAAC;oBAEF,OAAO,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACzC,CAAC,CAAC;qBACD,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;oBACV,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC;qBACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;oBACX,MAAM,CAAC,CAAC,CAAC,CAAC;oBACV,OAAO;gBACT,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAIA,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;CACF","sourcesContent":["import {\r\n getSingletonComponent,\r\n AppObject,\r\n AppObjectRepo,\r\n AppObjectUC\r\n} from \"@vived/core\";\r\nimport { VivedAPIEntity } from \"../Entities/VivedAPIEntity\";\r\nimport { JsonRequestUC, RequestJSONOptions } from \"./JsonRequestUC\";\r\nimport { SignedAuthTokenUC } from \"./SignedAuthTokenUC\";\r\n\r\nexport interface PatchAssetMetaDTO {\r\n id: string;\r\n name: string;\r\n description: string;\r\n archived: boolean;\r\n}\r\n\r\nexport abstract class PatchAssetMetaUC extends AppObjectUC {\r\n static type = \"PatchAssetMetaUC\";\r\n\r\n abstract doPatch(data: PatchAssetMetaDTO): Promise<void>;\r\n\r\n static get(appObjects: AppObjectRepo): PatchAssetMetaUC | undefined {\r\n return getSingletonComponent(PatchAssetMetaUC.type, appObjects);\r\n }\r\n}\r\n\r\nexport function makePatchAssetMetaUC(appObject: AppObject): PatchAssetMetaUC {\r\n return new PatchAssetMetaUCImp(appObject);\r\n}\r\n\r\nclass PatchAssetMetaUCImp extends PatchAssetMetaUC {\r\n private get jsonRequester() {\r\n return this.getCachedSingleton<JsonRequestUC>(JsonRequestUC.type)\r\n ?.doRequest;\r\n }\r\n\r\n private get getAuthToken() {\r\n return this.getCachedSingleton<SignedAuthTokenUC>(SignedAuthTokenUC.type)\r\n ?.getAuthToken;\r\n }\r\n\r\n private get vivedAPI() {\r\n return this.getCachedSingleton<VivedAPIEntity>(VivedAPIEntity.type);\r\n }\r\n\r\n doPatch = (data: PatchAssetMetaDTO): Promise<void> => {\r\n const getAuthToken = this.getAuthToken;\r\n const vivedAPI = this.vivedAPI;\r\n const jsonRequester = this.jsonRequester;\r\n\r\n if (!getAuthToken || !vivedAPI || !jsonRequester) {\r\n return Promise.reject();\r\n }\r\n\r\n const { id, name, description, archived } = data;\r\n\r\n return new Promise((resolve, reject) => {\r\n getAuthToken()\r\n .then((token) => {\r\n const postURL = vivedAPI.getEndpointURL(`assets/${id}`);\r\n\r\n const body = {\r\n name,\r\n description,\r\n archived\r\n };\r\n\r\n const options: RequestJSONOptions = {\r\n method: \"PATCH\",\r\n body: JSON.stringify(body),\r\n headers: {\r\n Authorization: \"Bearer \" + token\r\n }\r\n };\r\n\r\n return jsonRequester(postURL, options);\r\n })\r\n .then((_) => {\r\n resolve();\r\n })\r\n .catch((e) => {\r\n reject(e);\r\n return;\r\n });\r\n });\r\n };\r\n\r\n constructor(appObject: AppObject) {\r\n super(appObject, PatchAssetMetaUC.type);\r\n this.appObjects.registerSingleton(this);\r\n }\r\n}\r\n"]}
|
|
@@ -12,7 +12,7 @@ function makeTestRig() {
|
|
|
12
12
|
const mockJsonRequester = (0, MockJsonRequestUC_1.makeMockJsonRequestUC)(appObjects);
|
|
13
13
|
mockJsonRequester.doRequest.mockResolvedValue({});
|
|
14
14
|
const mockAuth = (0, MockSignedAuthToken_1.makeMockSignedAuthTokenUC)(appObjects);
|
|
15
|
-
mockAuth.
|
|
15
|
+
mockAuth.getAuthToken.mockResolvedValue("mockAuthToken");
|
|
16
16
|
const uc = (0, PatchAssetMetaUC_1.makePatchAssetMetaUC)(appObjects.getOrCreate("ao"));
|
|
17
17
|
return {
|
|
18
18
|
uc,
|
|
@@ -72,7 +72,7 @@ describe("Patch Asset Is Archived UC", () => {
|
|
|
72
72
|
});
|
|
73
73
|
it("Rejects if the get auth token fails", () => {
|
|
74
74
|
const { uc, mockAuth } = makeTestRig();
|
|
75
|
-
mockAuth.
|
|
75
|
+
mockAuth.getAuthToken.mockRejectedValue(new Error("Some Auth token error Error"));
|
|
76
76
|
return expect(uc.doPatch(makeDTO())).rejects.toEqual(new Error("Some Auth token error Error"));
|
|
77
77
|
});
|
|
78
78
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PatchAssetMetaUC.test.js","sourceRoot":"","sources":["../../../../src/VivedAPI/UCs/PatchAssetMetaUC.test.ts"],"names":[],"mappings":";;AAAA,sCAAgD;AAChD,+DAA4D;AAC5D,kEAAmE;AACnE,sEAAyE;AAEzE,yDAI4B;AAE5B,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,IAAA,wBAAiB,GAAE,CAAC;IACvC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;IAEjE,MAAM,QAAQ,GAAG,IAAI,+BAAc,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAEnE,MAAM,iBAAiB,GAAG,IAAA,yCAAqB,EAAC,UAAU,CAAC,CAAC;IAC5D,iBAAiB,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;IAElD,MAAM,QAAQ,GAAG,IAAA,+CAAyB,EAAC,UAAU,CAAC,CAAC;IACvD,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"PatchAssetMetaUC.test.js","sourceRoot":"","sources":["../../../../src/VivedAPI/UCs/PatchAssetMetaUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport { VivedAPIEntity } from \"../Entities/VivedAPIEntity\";\r\nimport { makeMockJsonRequestUC } from \"../Mocks/MockJsonRequestUC\";\r\nimport { makeMockSignedAuthTokenUC } from \"../Mocks/MockSignedAuthToken\";\r\nimport { RequestJSONOptions } from \"./JsonRequestUC\";\r\nimport {\r\n makePatchAssetMetaUC,\r\n PatchAssetMetaDTO,\r\n PatchAssetMetaUC\r\n} from \"./PatchAssetMetaUC\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n const singletonSpy = jest.spyOn(appObjects, \"registerSingleton\");\r\n\r\n const vivedAPI = new VivedAPIEntity(appObjects.getOrCreate(\"API\"));\r\n\r\n const mockJsonRequester = makeMockJsonRequestUC(appObjects);\r\n mockJsonRequester.doRequest.mockResolvedValue({});\r\n\r\n const mockAuth = makeMockSignedAuthTokenUC(appObjects);\r\n mockAuth.getAuthToken.mockResolvedValue(\"mockAuthToken\");\r\n\r\n const uc = makePatchAssetMetaUC(appObjects.getOrCreate(\"ao\"));\r\n\r\n return {\r\n uc,\r\n appObjects,\r\n singletonSpy,\r\n vivedAPI,\r\n mockJsonRequester,\r\n mockAuth\r\n };\r\n}\r\n\r\nfunction makeDTO(): PatchAssetMetaDTO {\r\n return {\r\n id: \"asset1\",\r\n archived: true,\r\n description: \"Asset Description\",\r\n name: \"assetName\"\r\n };\r\n}\r\n\r\ndescribe(\"Patch Asset Is Archived UC\", () => {\r\n it(\"Registers itself as the Singleton\", () => {\r\n const { uc, singletonSpy } = makeTestRig();\r\n\r\n expect(singletonSpy).toBeCalledWith(uc);\r\n });\r\n\r\n it(\"Gets the singleton\", () => {\r\n const { uc, appObjects } = makeTestRig();\r\n\r\n expect(PatchAssetMetaUC.get(appObjects)).toEqual(uc);\r\n });\r\n\r\n it(\"Resolves\", async () => {\r\n const { uc } = makeTestRig();\r\n\r\n return expect(uc.doPatch(makeDTO())).resolves.toEqual(undefined);\r\n });\r\n\r\n it(\"Warns and rejects if the JSON Request rejects\", () => {\r\n const { uc, mockJsonRequester } = makeTestRig();\r\n\r\n mockJsonRequester.doRequest.mockRejectedValue(new Error(\"Some JSON Error\"));\r\n\r\n return expect(uc.doPatch(makeDTO())).rejects.toEqual(\r\n new Error(\"Some JSON Error\")\r\n );\r\n });\r\n\r\n it(\"Requests the JSON with the expected url\", async () => {\r\n const { uc, mockJsonRequester } = makeTestRig();\r\n\r\n await uc.doPatch(makeDTO());\r\n\r\n const postURL = mockJsonRequester.doRequest.mock.calls[0][0] as URL;\r\n expect(postURL.toString()).toEqual(\r\n \"https://api.vivedlearning.com/assets/asset1\"\r\n );\r\n });\r\n\r\n it(\"Requests the JSON with the expected options\", async () => {\r\n const { uc, mockJsonRequester } = makeTestRig();\r\n\r\n const data = makeDTO();\r\n await uc.doPatch(data);\r\n\r\n const postURL = mockJsonRequester.doRequest.mock\r\n .calls[0][1] as RequestJSONOptions;\r\n expect(postURL.method).toEqual(\"PATCH\");\r\n expect(postURL.headers).toEqual({\r\n Authorization: \"Bearer mockAuthToken\"\r\n });\r\n\r\n const bodyObject = JSON.parse(postURL.body);\r\n expect(bodyObject.archived).toEqual(true);\r\n expect(bodyObject.description).toEqual(data.description);\r\n expect(bodyObject.name).toEqual(data.name);\r\n });\r\n\r\n it(\"Rejects if the get auth token fails\", () => {\r\n const { uc, mockAuth } = makeTestRig();\r\n\r\n mockAuth.getAuthToken.mockRejectedValue(\r\n new Error(\"Some Auth token error Error\")\r\n );\r\n\r\n return expect(uc.doPatch(makeDTO())).rejects.toEqual(\r\n new Error(\"Some Auth token error Error\")\r\n );\r\n });\r\n});\r\n"]}
|
|
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.PatchAssetUC = void 0;
|
|
4
4
|
exports.makePatchAssetUC = makePatchAssetUC;
|
|
5
5
|
const core_1 = require("@vived/core");
|
|
6
|
-
const core_2 = require("@vived/core");
|
|
7
6
|
const VivedAPIEntity_1 = require("../Entities/VivedAPIEntity");
|
|
8
7
|
const FileUploadUC_1 = require("./FileUploadUC");
|
|
9
8
|
const JsonRequestUC_1 = require("./JsonRequestUC");
|
|
@@ -25,7 +24,7 @@ class PatchAssetUCImp extends PatchAssetUC {
|
|
|
25
24
|
}
|
|
26
25
|
get getAuthToken() {
|
|
27
26
|
return this.getCachedSingleton(SignedAuthTokenUC_1.SignedAuthTokenUC.type)
|
|
28
|
-
?.
|
|
27
|
+
?.getAuthToken;
|
|
29
28
|
}
|
|
30
29
|
get fileUpload() {
|
|
31
30
|
return this.getCachedSingleton(FileUploadUC_1.FileUploadUC.type)?.doUpload;
|
|
@@ -47,7 +46,7 @@ class PatchAssetUCImp extends PatchAssetUC {
|
|
|
47
46
|
let extension = "";
|
|
48
47
|
const strArr = file.name.split(".");
|
|
49
48
|
extension = strArr[strArr.length - 1];
|
|
50
|
-
const filename = `${(0,
|
|
49
|
+
const filename = `${(0, core_1.generateUniqueID)()}.${extension}`;
|
|
51
50
|
const assetFile = new File([file], `${filename}`, {
|
|
52
51
|
lastModified: Date.now()
|
|
53
52
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PatchAssetUC.js","sourceRoot":"","sources":["../../../../src/VivedAPI/UCs/PatchAssetUC.ts"],"names":[],"mappings":";;;AAqCA,4CAEC;AAvCD,
|
|
1
|
+
{"version":3,"file":"PatchAssetUC.js","sourceRoot":"","sources":["../../../../src/VivedAPI/UCs/PatchAssetUC.ts"],"names":[],"mappings":"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","sourcesContent":["import {\r\n AppObject,\r\n AppObjectRepo,\r\n AppObjectUC,\r\n generateUniqueID,\r\n getSingletonComponent\r\n} from \"@vived/core\";\r\nimport { VivedAPIEntity } from \"../Entities/VivedAPIEntity\";\r\nimport { FileUploadUC } from \"./FileUploadUC\";\r\nimport { JsonRequestUC, RequestJSONOptions } from \"./JsonRequestUC\";\r\nimport { SignedAuthTokenUC } from \"./SignedAuthTokenUC\";\r\n\r\nexport interface PatchAssetDTO {\r\n id: string;\r\n name: string;\r\n description: string;\r\n archived: boolean;\r\n file: File;\r\n}\r\n\r\ninterface PatchParam {\r\n name: string;\r\n description: string;\r\n archived: boolean;\r\n filename: string;\r\n}\r\n\r\nexport abstract class PatchAssetUC extends AppObjectUC {\r\n static type = \"PatchAssetUC\";\r\n\r\n abstract doPatch(data: PatchAssetDTO): Promise<void>;\r\n\r\n static get(appObjects: AppObjectRepo): PatchAssetUC | undefined {\r\n return getSingletonComponent(PatchAssetUC.type, appObjects);\r\n }\r\n}\r\n\r\nexport function makePatchAssetUC(appObject: AppObject): PatchAssetUC {\r\n return new PatchAssetUCImp(appObject);\r\n}\r\n\r\nclass PatchAssetUCImp extends PatchAssetUC {\r\n private get jsonRequester() {\r\n return this.getCachedSingleton<JsonRequestUC>(JsonRequestUC.type)\r\n ?.doRequest;\r\n }\r\n\r\n private get getAuthToken() {\r\n return this.getCachedSingleton<SignedAuthTokenUC>(SignedAuthTokenUC.type)\r\n ?.getAuthToken;\r\n }\r\n\r\n private get fileUpload() {\r\n return this.getCachedSingleton<FileUploadUC>(FileUploadUC.type)?.doUpload;\r\n }\r\n\r\n private get vivedAPI() {\r\n return this.getCachedSingleton<VivedAPIEntity>(VivedAPIEntity.type);\r\n }\r\n\r\n doPatch = (data: PatchAssetDTO): Promise<void> => {\r\n const getAuthToken = this.getAuthToken;\r\n const vivedAPI = this.vivedAPI;\r\n const jsonRequester = this.jsonRequester;\r\n const fileUpload = this.fileUpload;\r\n\r\n if (!getAuthToken || !vivedAPI || !jsonRequester || !fileUpload) {\r\n return Promise.reject();\r\n }\r\n\r\n const { id, file, name, description, archived } = data;\r\n\r\n let extension: string = \"\";\r\n const strArr = file.name.split(\".\");\r\n extension = strArr[strArr.length - 1];\r\n const filename = `${generateUniqueID()}.${extension}`;\r\n\r\n const assetFile = new File([file], `${filename}`, {\r\n lastModified: Date.now()\r\n });\r\n\r\n return new Promise((resolve, reject) => {\r\n fileUpload(assetFile)\r\n .then((_) => {\r\n return getAuthToken();\r\n })\r\n .then((token) => {\r\n const url = vivedAPI.getEndpointURL(`assets/${id}`);\r\n const body: PatchParam = {\r\n archived,\r\n description,\r\n filename,\r\n name\r\n };\r\n\r\n const options: RequestJSONOptions = {\r\n method: \"PATCH\",\r\n body: JSON.stringify(body),\r\n headers: {\r\n Authorization: \"Bearer \" + token\r\n }\r\n };\r\n\r\n return jsonRequester(url, options);\r\n })\r\n .then((_) => {\r\n resolve();\r\n })\r\n .catch((e) => {\r\n reject(e);\r\n return;\r\n });\r\n });\r\n };\r\n\r\n constructor(appObject: AppObject) {\r\n super(appObject, PatchAssetUC.type);\r\n this.appObjects.registerSingleton(this);\r\n }\r\n}\r\n"]}
|
|
@@ -13,7 +13,7 @@ function makeTestRig() {
|
|
|
13
13
|
const mockJsonRequester = (0, MockJsonRequestUC_1.makeMockJsonRequestUC)(appObjects);
|
|
14
14
|
mockJsonRequester.doRequest.mockResolvedValue({});
|
|
15
15
|
const mockAuth = (0, MockSignedAuthToken_1.makeMockSignedAuthTokenUC)(appObjects);
|
|
16
|
-
mockAuth.
|
|
16
|
+
mockAuth.getAuthToken.mockResolvedValue("mockAuthToken");
|
|
17
17
|
const mockFileUpload = (0, MockFileUpload_1.makeMockFileUploadUC)(appObjects);
|
|
18
18
|
const uc = (0, PatchAssetUC_1.makePatchAssetUC)(appObjects.getOrCreate("ao"));
|
|
19
19
|
return {
|
|
@@ -76,7 +76,7 @@ describe("Patch Asset Is Archived UC", () => {
|
|
|
76
76
|
});
|
|
77
77
|
it("Rejects if the get auth token fails", () => {
|
|
78
78
|
const { uc, mockAuth } = makeTestRig();
|
|
79
|
-
mockAuth.
|
|
79
|
+
mockAuth.getAuthToken.mockRejectedValue(new Error("Some Auth token error Error"));
|
|
80
80
|
return expect(uc.doPatch(makeDTO())).rejects.toEqual(new Error("Some Auth token error Error"));
|
|
81
81
|
});
|
|
82
82
|
it("Rejects if the file upload fails", () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PatchAssetUC.test.js","sourceRoot":"","sources":["../../../../src/VivedAPI/UCs/PatchAssetUC.test.ts"],"names":[],"mappings":";;AAAA,sCAAgD;AAChD,+DAA4D;AAC5D,4DAA+D;AAC/D,kEAAmE;AACnE,sEAAyE;AAEzE,iDAA+E;AAE/E,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,IAAA,wBAAiB,GAAE,CAAC;IACvC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;IAEjE,MAAM,QAAQ,GAAG,IAAI,+BAAc,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAEnE,MAAM,iBAAiB,GAAG,IAAA,yCAAqB,EAAC,UAAU,CAAC,CAAC;IAC5D,iBAAiB,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;IAElD,MAAM,QAAQ,GAAG,IAAA,+CAAyB,EAAC,UAAU,CAAC,CAAC;IACvD,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"PatchAssetUC.test.js","sourceRoot":"","sources":["../../../../src/VivedAPI/UCs/PatchAssetUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport { VivedAPIEntity } from \"../Entities/VivedAPIEntity\";\r\nimport { makeMockFileUploadUC } from \"../Mocks/MockFileUpload\";\r\nimport { makeMockJsonRequestUC } from \"../Mocks/MockJsonRequestUC\";\r\nimport { makeMockSignedAuthTokenUC } from \"../Mocks/MockSignedAuthToken\";\r\nimport { RequestJSONOptions } from \"./JsonRequestUC\";\r\nimport { makePatchAssetUC, PatchAssetDTO, PatchAssetUC } from \"./PatchAssetUC\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n const singletonSpy = jest.spyOn(appObjects, \"registerSingleton\");\r\n\r\n const vivedAPI = new VivedAPIEntity(appObjects.getOrCreate(\"API\"));\r\n\r\n const mockJsonRequester = makeMockJsonRequestUC(appObjects);\r\n mockJsonRequester.doRequest.mockResolvedValue({});\r\n\r\n const mockAuth = makeMockSignedAuthTokenUC(appObjects);\r\n mockAuth.getAuthToken.mockResolvedValue(\"mockAuthToken\");\r\n\r\n const mockFileUpload = makeMockFileUploadUC(appObjects);\r\n\r\n const uc = makePatchAssetUC(appObjects.getOrCreate(\"ao\"));\r\n\r\n return {\r\n uc,\r\n appObjects,\r\n singletonSpy,\r\n vivedAPI,\r\n mockJsonRequester,\r\n mockAuth,\r\n mockFileUpload\r\n };\r\n}\r\n\r\nfunction makeDTO(): PatchAssetDTO {\r\n return {\r\n id: \"asset1\",\r\n archived: true,\r\n description: \"Asset Description\",\r\n name: \"assetName\",\r\n file: new File([], \"some.filename\")\r\n };\r\n}\r\n\r\ndescribe(\"Patch Asset Is Archived UC\", () => {\r\n it(\"Registers itself as the Singleton\", () => {\r\n const { uc, singletonSpy } = makeTestRig();\r\n\r\n expect(singletonSpy).toBeCalledWith(uc);\r\n });\r\n\r\n it(\"Gets the singleton\", () => {\r\n const { uc, appObjects } = makeTestRig();\r\n\r\n expect(PatchAssetUC.get(appObjects)).toEqual(uc);\r\n });\r\n\r\n it(\"Resolves\", async () => {\r\n const { uc } = makeTestRig();\r\n\r\n return expect(uc.doPatch(makeDTO())).resolves.toEqual(undefined);\r\n });\r\n\r\n it(\"Warns and rejects if the JSON Request rejects\", () => {\r\n const { uc, mockJsonRequester } = makeTestRig();\r\n\r\n mockJsonRequester.doRequest.mockRejectedValue(new Error(\"Some JSON Error\"));\r\n\r\n return expect(uc.doPatch(makeDTO())).rejects.toEqual(\r\n new Error(\"Some JSON Error\")\r\n );\r\n });\r\n\r\n it(\"Requests the JSON with the expected url\", async () => {\r\n const { uc, mockJsonRequester } = makeTestRig();\r\n\r\n await uc.doPatch(makeDTO());\r\n\r\n const postURL = mockJsonRequester.doRequest.mock.calls[0][0] as URL;\r\n expect(postURL.toString()).toEqual(\r\n \"https://api.vivedlearning.com/assets/asset1\"\r\n );\r\n });\r\n\r\n it(\"Requests the JSON with the expected options\", async () => {\r\n const { uc, mockJsonRequester } = makeTestRig();\r\n\r\n const data = makeDTO();\r\n await uc.doPatch(data);\r\n\r\n const postURL = mockJsonRequester.doRequest.mock\r\n .calls[0][1] as RequestJSONOptions;\r\n expect(postURL.method).toEqual(\"PATCH\");\r\n expect(postURL.headers).toEqual({\r\n Authorization: \"Bearer mockAuthToken\"\r\n });\r\n\r\n const bodyObject = JSON.parse(postURL.body);\r\n expect(bodyObject.archived).toEqual(true);\r\n expect(bodyObject.description).toEqual(data.description);\r\n expect(bodyObject.name).toEqual(data.name);\r\n });\r\n\r\n it(\"Rejects if the get auth token fails\", () => {\r\n const { uc, mockAuth } = makeTestRig();\r\n\r\n mockAuth.getAuthToken.mockRejectedValue(\r\n new Error(\"Some Auth token error Error\")\r\n );\r\n\r\n return expect(uc.doPatch(makeDTO())).rejects.toEqual(\r\n new Error(\"Some Auth token error Error\")\r\n );\r\n });\r\n\r\n it(\"Rejects if the file upload fails\", () => {\r\n const { uc, mockFileUpload } = makeTestRig();\r\n\r\n mockFileUpload.doUpload.mockRejectedValue(new Error(\"Some upload error\"));\r\n\r\n return expect(uc.doPatch(makeDTO())).rejects.toEqual(\r\n new Error(\"Some upload error\")\r\n );\r\n });\r\n\r\n it(\"Calls file upload as expected\", async () => {\r\n const { uc, mockFileUpload } = makeTestRig();\r\n\r\n const data = makeDTO();\r\n await uc.doPatch(data);\r\n\r\n expect(mockFileUpload.doUpload).toBeCalledWith(data.file);\r\n });\r\n});\r\n"]}
|
|
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.PostNewAssetUC = void 0;
|
|
4
4
|
exports.makePostNewAssetUC = makePostNewAssetUC;
|
|
5
5
|
const core_1 = require("@vived/core");
|
|
6
|
-
const core_2 = require("@vived/core");
|
|
7
6
|
const VivedAPIEntity_1 = require("../Entities/VivedAPIEntity");
|
|
8
7
|
const FileUploadUC_1 = require("./FileUploadUC");
|
|
9
8
|
const JsonRequestUC_1 = require("./JsonRequestUC");
|
|
@@ -25,7 +24,7 @@ class PostNewAssetUCImp extends PostNewAssetUC {
|
|
|
25
24
|
}
|
|
26
25
|
get getPlayerAuthToken() {
|
|
27
26
|
return this.getCachedSingleton(SignedAuthTokenUC_1.SignedAuthTokenUC.type)
|
|
28
|
-
?.
|
|
27
|
+
?.getAuthToken;
|
|
29
28
|
}
|
|
30
29
|
get fileUploader() {
|
|
31
30
|
return this.getCachedSingleton(FileUploadUC_1.FileUploadUC.type)?.doUpload;
|
|
@@ -48,7 +47,7 @@ class PostNewAssetUCImp extends PostNewAssetUC {
|
|
|
48
47
|
let assetId;
|
|
49
48
|
const nameSplits = file.name.split(".");
|
|
50
49
|
const extension = nameSplits[nameSplits.length - 1];
|
|
51
|
-
const filename = `${(0,
|
|
50
|
+
const filename = `${(0, core_1.generateUniqueID)()}.${extension}`;
|
|
52
51
|
const assetFile = new File([file], filename, {
|
|
53
52
|
lastModified: Date.now()
|
|
54
53
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostNewAssetUC.js","sourceRoot":"","sources":["../../../../src/VivedAPI/UCs/PostNewAssetUC.ts"],"names":[],"mappings":";;;AAkCA,gDAEC;AApCD,
|
|
1
|
+
{"version":3,"file":"PostNewAssetUC.js","sourceRoot":"","sources":["../../../../src/VivedAPI/UCs/PostNewAssetUC.ts"],"names":[],"mappings":"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","sourcesContent":["import {\r\n AppObject,\r\n AppObjectRepo,\r\n AppObjectUC,\r\n generateUniqueID,\r\n getSingletonComponent\r\n} from \"@vived/core\";\r\nimport { VivedAPIEntity } from \"../Entities/VivedAPIEntity\";\r\nimport { FileUploadUC } from \"./FileUploadUC\";\r\nimport { JsonRequestUC, RequestJSONOptions } from \"./JsonRequestUC\";\r\nimport { SignedAuthTokenUC } from \"./SignedAuthTokenUC\";\r\n\r\nexport interface NewAssetApiDto {\r\n name: string;\r\n description: string;\r\n ownerID: string;\r\n file: File;\r\n}\r\n\r\nexport interface NewAssetResponseDTO {\r\n id: string;\r\n filename: string;\r\n}\r\n\r\nexport abstract class PostNewAssetUC extends AppObjectUC {\r\n static type = \"PostNewAssetUC\";\r\n\r\n abstract doPost(data: NewAssetApiDto): Promise<NewAssetResponseDTO>;\r\n\r\n static get(appObjects: AppObjectRepo): PostNewAssetUC | undefined {\r\n return getSingletonComponent(PostNewAssetUC.type, appObjects);\r\n }\r\n}\r\n\r\nexport function makePostNewAssetUC(appObject: AppObject): PostNewAssetUC {\r\n return new PostNewAssetUCImp(appObject);\r\n}\r\n\r\nclass PostNewAssetUCImp extends PostNewAssetUC {\r\n private get jsonRequester() {\r\n return this.getCachedSingleton<JsonRequestUC>(JsonRequestUC.type)\r\n ?.doRequest;\r\n }\r\n\r\n private get getPlayerAuthToken() {\r\n return this.getCachedSingleton<SignedAuthTokenUC>(SignedAuthTokenUC.type)\r\n ?.getAuthToken;\r\n }\r\n\r\n private get fileUploader() {\r\n return this.getCachedSingleton<FileUploadUC>(FileUploadUC.type)?.doUpload;\r\n }\r\n\r\n private get vivedAPI() {\r\n return this.getCachedSingleton<VivedAPIEntity>(VivedAPIEntity.type);\r\n }\r\n\r\n doPost = (data: NewAssetApiDto): Promise<NewAssetResponseDTO> => {\r\n const fileUploader = this.fileUploader;\r\n const getPlayerAuthToken = this.getPlayerAuthToken;\r\n const vivedAPI = this.vivedAPI;\r\n const jsonRequester = this.jsonRequester;\r\n\r\n if (!fileUploader || !getPlayerAuthToken || !vivedAPI || !jsonRequester) {\r\n return Promise.reject();\r\n }\r\n\r\n return new Promise((resolve, reject) => {\r\n const { description, file, name, ownerID } = data;\r\n let assetId: string;\r\n\r\n const nameSplits = file.name.split(\".\");\r\n const extension = nameSplits[nameSplits.length - 1];\r\n const filename = `${generateUniqueID()}.${extension}`;\r\n const assetFile = new File([file], filename, {\r\n lastModified: Date.now()\r\n });\r\n\r\n fileUploader(assetFile)\r\n .then((_) => {\r\n return getPlayerAuthToken();\r\n })\r\n .then((token) => {\r\n const postURL = vivedAPI.getEndpointURL(\"assets\");\r\n\r\n const body = {\r\n ownerId: ownerID,\r\n name,\r\n description,\r\n filename\r\n };\r\n\r\n const options: RequestJSONOptions = {\r\n method: \"POST\",\r\n body: JSON.stringify(body),\r\n headers: {\r\n Authorization: \"Bearer \" + token\r\n }\r\n };\r\n\r\n return jsonRequester(postURL, options);\r\n })\r\n .then((result) => {\r\n assetId = result.assetId;\r\n resolve({\r\n id: assetId,\r\n filename\r\n });\r\n })\r\n .catch((e) => {\r\n reject(e);\r\n return;\r\n });\r\n });\r\n };\r\n\r\n constructor(appObject: AppObject) {\r\n super(appObject, PostNewAssetUC.type);\r\n this.appObjects.registerSingleton(this);\r\n }\r\n}\r\n"]}
|
|
@@ -15,7 +15,7 @@ function makeTestRig() {
|
|
|
15
15
|
const mockUpload = (0, MockFileUpload_1.makeMockFileUploadUC)(appObjects);
|
|
16
16
|
mockUpload.doUpload.mockResolvedValue(undefined);
|
|
17
17
|
const mockAuth = (0, MockSignedAuthToken_1.makeMockSignedAuthTokenUC)(appObjects);
|
|
18
|
-
mockAuth.
|
|
18
|
+
mockAuth.getAuthToken.mockResolvedValue("mockAuthToken");
|
|
19
19
|
const uc = (0, PostNewAssetUC_1.makePostNewAssetUC)(appObjects.getOrCreate("ao"));
|
|
20
20
|
return {
|
|
21
21
|
uc,
|
|
@@ -101,7 +101,7 @@ describe("JSON Requester", () => {
|
|
|
101
101
|
name: "some name",
|
|
102
102
|
ownerID: "someOwner"
|
|
103
103
|
};
|
|
104
|
-
mockAuth.
|
|
104
|
+
mockAuth.getAuthToken.mockRejectedValue(new Error("Some Auth token error Error"));
|
|
105
105
|
return expect(uc.doPost(dto)).rejects.toEqual(new Error("Some Auth token error Error"));
|
|
106
106
|
});
|
|
107
107
|
it("Rejects if the upload fails", () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostNewAssetUC.test.js","sourceRoot":"","sources":["../../../../src/VivedAPI/UCs/PostNewAssetUC.test.ts"],"names":[],"mappings":";;AAAA,sCAAgD;AAChD,+DAA4D;AAC5D,4DAA+D;AAC/D,kEAAmE;AACnE,sEAAyE;AAEzE,qDAI0B;AAE1B,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,IAAA,wBAAiB,GAAE,CAAC;IACvC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;IAEjE,MAAM,QAAQ,GAAG,IAAI,+BAAc,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAEnE,MAAM,iBAAiB,GAAG,IAAA,yCAAqB,EAAC,UAAU,CAAC,CAAC;IAC5D,iBAAiB,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;IAEzE,MAAM,UAAU,GAAG,IAAA,qCAAoB,EAAC,UAAU,CAAC,CAAC;IACpD,UAAU,CAAC,QAAQ,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAEjD,MAAM,QAAQ,GAAG,IAAA,+CAAyB,EAAC,UAAU,CAAC,CAAC;IACvD,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"PostNewAssetUC.test.js","sourceRoot":"","sources":["../../../../src/VivedAPI/UCs/PostNewAssetUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport { VivedAPIEntity } from \"../Entities/VivedAPIEntity\";\r\nimport { makeMockFileUploadUC } from \"../Mocks/MockFileUpload\";\r\nimport { makeMockJsonRequestUC } from \"../Mocks/MockJsonRequestUC\";\r\nimport { makeMockSignedAuthTokenUC } from \"../Mocks/MockSignedAuthToken\";\r\nimport { RequestJSONOptions } from \"./JsonRequestUC\";\r\nimport {\r\n makePostNewAssetUC,\r\n NewAssetApiDto,\r\n PostNewAssetUC\r\n} from \"./PostNewAssetUC\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n const singletonSpy = jest.spyOn(appObjects, \"registerSingleton\");\r\n\r\n const vivedAPI = new VivedAPIEntity(appObjects.getOrCreate(\"API\"));\r\n\r\n const mockJsonRequester = makeMockJsonRequestUC(appObjects);\r\n mockJsonRequester.doRequest.mockResolvedValue({ assetId: \"newAssetID\" });\r\n\r\n const mockUpload = makeMockFileUploadUC(appObjects);\r\n mockUpload.doUpload.mockResolvedValue(undefined);\r\n\r\n const mockAuth = makeMockSignedAuthTokenUC(appObjects);\r\n mockAuth.getAuthToken.mockResolvedValue(\"mockAuthToken\");\r\n\r\n const uc = makePostNewAssetUC(appObjects.getOrCreate(\"ao\"));\r\n\r\n return {\r\n uc,\r\n appObjects,\r\n singletonSpy,\r\n vivedAPI,\r\n mockJsonRequester,\r\n mockUpload,\r\n mockAuth\r\n };\r\n}\r\n\r\ndescribe(\"JSON Requester\", () => {\r\n it(\"Registers itself as the Singleton\", () => {\r\n const { uc, singletonSpy } = makeTestRig();\r\n\r\n expect(singletonSpy).toBeCalledWith(uc);\r\n });\r\n\r\n it(\"Gets the singleton\", () => {\r\n const { uc, appObjects } = makeTestRig();\r\n\r\n expect(PostNewAssetUC.get(appObjects)).toEqual(uc);\r\n });\r\n\r\n it(\"Resolves with the new Asset ID and filename\", async () => {\r\n const { uc } = makeTestRig();\r\n\r\n const dto: NewAssetApiDto = {\r\n description: \"some desc\",\r\n file: new File([], \"file.name\"),\r\n name: \"some name\",\r\n ownerID: \"someOwner\"\r\n };\r\n\r\n const resp = await uc.doPost(dto);\r\n\r\n expect(resp.id).toEqual(\"newAssetID\");\r\n expect(resp.filename).not.toEqual(\"file.name\");\r\n expect(resp.filename).toContain(\".name\");\r\n });\r\n\r\n it(\"Warns and rejects if the JSON Request rejects\", () => {\r\n const { uc, mockJsonRequester } = makeTestRig();\r\n\r\n mockJsonRequester.doRequest.mockRejectedValue(new Error(\"Some JSON Error\"));\r\n\r\n const dto: NewAssetApiDto = {\r\n description: \"some desc\",\r\n file: new File([], \"filename\"),\r\n name: \"some name\",\r\n ownerID: \"someOwner\"\r\n };\r\n\r\n return expect(uc.doPost(dto)).rejects.toEqual(new Error(\"Some JSON Error\"));\r\n });\r\n\r\n it(\"Requests the JSON with the expected url\", async () => {\r\n const { uc, mockJsonRequester } = makeTestRig();\r\n\r\n const dto: NewAssetApiDto = {\r\n description: \"some desc\",\r\n file: new File([], \"filename\"),\r\n name: \"some name\",\r\n ownerID: \"someOwner\"\r\n };\r\n\r\n await uc.doPost(dto);\r\n\r\n const postURL = mockJsonRequester.doRequest.mock.calls[0][0] as URL;\r\n expect(postURL.toString()).toEqual(\"https://api.vivedlearning.com/assets\");\r\n });\r\n\r\n it(\"Requests the JSON with the expected options\", async () => {\r\n const { uc, mockJsonRequester } = makeTestRig();\r\n\r\n const dto: NewAssetApiDto = {\r\n description: \"some desc\",\r\n file: new File([], \"filename.file\"),\r\n name: \"some name\",\r\n ownerID: \"someOwner\"\r\n };\r\n\r\n await uc.doPost(dto);\r\n\r\n const postURL = mockJsonRequester.doRequest.mock\r\n .calls[0][1] as RequestJSONOptions;\r\n expect(postURL.method).toEqual(\"POST\");\r\n expect(postURL.headers).toEqual({\r\n Authorization: \"Bearer mockAuthToken\"\r\n });\r\n\r\n const body = JSON.parse(postURL.body) as any;\r\n expect(body.ownerId).toEqual(\"someOwner\");\r\n expect(body.name).toEqual(\"some name\");\r\n expect(body.description).toEqual(\"some desc\");\r\n expect(body.filename).toContain(\".file\");\r\n });\r\n\r\n it(\"Rejects if the get auth token fails\", () => {\r\n const { uc, mockAuth } = makeTestRig();\r\n\r\n const dto: NewAssetApiDto = {\r\n description: \"some desc\",\r\n file: new File([], \"filename.file\"),\r\n name: \"some name\",\r\n ownerID: \"someOwner\"\r\n };\r\n mockAuth.getAuthToken.mockRejectedValue(\r\n new Error(\"Some Auth token error Error\")\r\n );\r\n\r\n return expect(uc.doPost(dto)).rejects.toEqual(\r\n new Error(\"Some Auth token error Error\")\r\n );\r\n });\r\n\r\n it(\"Rejects if the upload fails\", () => {\r\n const { uc, mockUpload } = makeTestRig();\r\n\r\n const dto: NewAssetApiDto = {\r\n description: \"some desc\",\r\n file: new File([], \"filename.file\"),\r\n name: \"some name\",\r\n ownerID: \"someOwner\"\r\n };\r\n mockUpload.doUpload.mockRejectedValue(new Error(\"Some upload Error\"));\r\n\r\n return expect(uc.doPost(dto)).rejects.toEqual(\r\n new Error(\"Some upload Error\")\r\n );\r\n });\r\n});\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SignedAuthTokenUC.js","sourceRoot":"","sources":["../../../../src/VivedAPI/UCs/SignedAuthTokenUC.ts"],"names":[],"mappings":";;;AAAA,sCAAgF;AAEhF,MAAsB,iBAAkB,SAAQ,kBAAW;
|
|
1
|
+
{"version":3,"file":"SignedAuthTokenUC.js","sourceRoot":"","sources":["../../../../src/VivedAPI/UCs/SignedAuthTokenUC.ts"],"names":[],"mappings":";;;AAAA,sCAAgF;AAEhF,MAAsB,iBAAkB,SAAQ,kBAAW;IAKzD,MAAM,CAAC,GAAG,CAAC,UAAyB;QAClC,OAAO,IAAA,4BAAqB,EAAC,iBAAiB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACnE,CAAC;;AAPH,8CAQC;AAPQ,sBAAI,GAAG,mBAAmB,CAAC","sourcesContent":["import { AppObjectRepo, AppObjectUC, getSingletonComponent } from \"@vived/core\";\r\n\r\nexport abstract class SignedAuthTokenUC extends AppObjectUC {\r\n static type = \"SignedAuthTokenUC\";\r\n\r\n abstract getAuthToken(): Promise<string>;\r\n\r\n static get(appObjects: AppObjectRepo): SignedAuthTokenUC | undefined {\r\n return getSingletonComponent(SignedAuthTokenUC.type, appObjects);\r\n }\r\n}\r\n"]}
|
|
@@ -6,6 +6,8 @@ import { setupStandardHostHandlers } from "../../Handler/setupStandardHostHandle
|
|
|
6
6
|
import { makeAppSandboxEntity } from "../Entities";
|
|
7
7
|
import { makeDevFeaturesEnabledPM, makeSandboxStatePM, makeShowInspectorPM, makeStartInZSpacePM } from "../PMs";
|
|
8
8
|
import { makeShowBabylonInspectorUC } from "../UCs";
|
|
9
|
+
import { SubmitActivityAssetHandler } from "../../Handler";
|
|
10
|
+
import { makeSubmitActivityAssetHandlerSandbox } from "../UCs/submitActivityAssetHandlerSandbox";
|
|
9
11
|
export function setupAppSandbox(appID, appObjects) {
|
|
10
12
|
const ao = appObjects.getOrCreate(appID);
|
|
11
13
|
// Entities
|
|
@@ -24,6 +26,10 @@ export function setupAppSandbox(appID, appObjects) {
|
|
|
24
26
|
makeSandboxStatePM(ao);
|
|
25
27
|
makeShowInspectorPM(ao);
|
|
26
28
|
makeStartInZSpacePM(ao);
|
|
29
|
+
const submitActivityAssetUC = appObjects.getSingleton(SubmitActivityAssetHandler.type);
|
|
30
|
+
if (submitActivityAssetUC) {
|
|
31
|
+
submitActivityAssetUC.action = makeSubmitActivityAssetHandlerSandbox(appObjects);
|
|
32
|
+
}
|
|
27
33
|
return entity;
|
|
28
34
|
}
|
|
29
35
|
//# sourceMappingURL=setupAppSandbox.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setupAppSandbox.js","sourceRoot":"","sources":["../../../../src/AppSandbox/Factories/setupAppSandbox.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,aAAa,EACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,4BAA4B,EAAE,MAAM,+CAA+C,CAAC;AAC7F,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AACpF,OAAO,EAAoB,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,0BAA0B,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"setupAppSandbox.js","sourceRoot":"","sources":["../../../../src/AppSandbox/Factories/setupAppSandbox.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,aAAa,EACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,4BAA4B,EAAE,MAAM,+CAA+C,CAAC;AAC7F,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AACpF,OAAO,EAAoB,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,0BAA0B,EAAE,MAAM,QAAQ,CAAC;AACpD,OAAO,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,qCAAqC,EAAE,MAAM,0CAA0C,CAAC;AAEjG,MAAM,UAAU,eAAe,CAC7B,KAAa,EACb,UAAyB;IAEzB,MAAM,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAEzC,WAAW;IACX,MAAM,MAAM,GAAG,oBAAoB,CAAC,EAAE,CAAC,CAAC;IACxC,sBAAsB,CAAC,EAAE,CAAC,CAAC;IAC3B,qBAAqB,CAAC,EAAE,CAAC,CAAC;IAE1B,KAAK;IACL,4BAA4B,CAAC,EAAE,CAAC,CAAC;IACjC,yBAAyB,CAAC,EAAE,CAAC,CAAC;IAC9B,cAAc,CAAC,EAAE,CAAC,CAAC;IACnB,aAAa,CAAC,EAAE,CAAC,CAAC;IAClB,0BAA0B,CAAC,EAAE,CAAC,CAAC;IAC/B,kBAAkB,CAAC,EAAE,CAAC,CAAC;IAEvB,MAAM;IACN,wBAAwB,CAAC,EAAE,CAAC,CAAC;IAC7B,kBAAkB,CAAC,EAAE,CAAC,CAAC;IACvB,mBAAmB,CAAC,EAAE,CAAC,CAAC;IACxB,mBAAmB,CAAC,EAAE,CAAC,CAAC;IAExB,MAAM,qBAAqB,GAAG,UAAU,CAAC,YAAY,CACnD,0BAA0B,CAAC,IAAI,CAChC,CAAC;IACF,IAAI,qBAAqB,EAAE,CAAC;QAC1B,qBAAqB,CAAC,MAAM,GAAG,qCAAqC,CAClE,UAAU,CACX,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["import { AppObjectRepo } from \"@vived/core\";\r\nimport {\r\n makeSandboxMounter,\r\n makeStartAppUC,\r\n makeStopAppUC\r\n} from \"../../Apps/UCs\";\r\nimport { makeHostDispatchEntity } from \"../../Dispatcher/Entities\";\r\nimport { setupStandardHostDispatchers } from \"../../Dispatcher/setupStandardHostDispatchers\";\r\nimport { makeHostHandlerEntity } from \"../../Handler/Entities\";\r\nimport { setupStandardHostHandlers } from \"../../Handler/setupStandardHostHandlers\";\r\nimport { AppSandboxEntity, makeAppSandboxEntity } from \"../Entities\";\r\nimport {\r\n makeDevFeaturesEnabledPM,\r\n makeSandboxStatePM,\r\n makeShowInspectorPM,\r\n makeStartInZSpacePM\r\n} from \"../PMs\";\r\nimport { makeShowBabylonInspectorUC } from \"../UCs\";\r\nimport { SubmitActivityAssetHandler } from \"../../Handler\";\r\nimport { makeSubmitActivityAssetHandlerSandbox } from \"../UCs/submitActivityAssetHandlerSandbox\";\r\n\r\nexport function setupAppSandbox(\r\n appID: string,\r\n appObjects: AppObjectRepo\r\n): AppSandboxEntity {\r\n const ao = appObjects.getOrCreate(appID);\r\n\r\n // Entities\r\n const entity = makeAppSandboxEntity(ao);\r\n makeHostDispatchEntity(ao);\r\n makeHostHandlerEntity(ao);\r\n\r\n // UC\r\n setupStandardHostDispatchers(ao);\r\n setupStandardHostHandlers(ao);\r\n makeStartAppUC(ao);\r\n makeStopAppUC(ao);\r\n makeShowBabylonInspectorUC(ao);\r\n makeSandboxMounter(ao);\r\n\r\n // PMs\r\n makeDevFeaturesEnabledPM(ao);\r\n makeSandboxStatePM(ao);\r\n makeShowInspectorPM(ao);\r\n makeStartInZSpacePM(ao);\r\n\r\n const submitActivityAssetUC = appObjects.getSingleton<SubmitActivityAssetHandler>(\r\n SubmitActivityAssetHandler.type\r\n );\r\n if (submitActivityAssetUC) {\r\n submitActivityAssetUC.action = makeSubmitActivityAssetHandlerSandbox(\r\n appObjects\r\n );\r\n }\r\n\r\n return entity;\r\n}\r\n"]}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { AppSandboxEntity } from "..";
|
|
2
|
+
import { NewAssetUC } from "../../Assets";
|
|
3
|
+
export function makeSubmitActivityAssetHandlerSandbox(appObjects) {
|
|
4
|
+
return function submitActivityAssetHandler(assetFile, callback) {
|
|
5
|
+
const sandbox = AppSandboxEntity.get(appObjects);
|
|
6
|
+
if (!sandbox) {
|
|
7
|
+
appObjects.submitError("makeSubmitActivityAssetHandlerSandbox", "Unable to find AppSandboxEntity");
|
|
8
|
+
callback(undefined);
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
if (!sandbox.mockActivityID) {
|
|
12
|
+
appObjects.submitError("makeSubmitActivityAssetHandlerSandbox", "No activity ID found");
|
|
13
|
+
callback(undefined);
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
const ownerID = sandbox.mockActivityID;
|
|
17
|
+
const newAssetData = {
|
|
18
|
+
name: "Activity Asset",
|
|
19
|
+
description: "Asset for activity " + ownerID,
|
|
20
|
+
file: assetFile,
|
|
21
|
+
owner: ownerID
|
|
22
|
+
};
|
|
23
|
+
const newAssetUC = NewAssetUC.get(appObjects);
|
|
24
|
+
if (!newAssetUC) {
|
|
25
|
+
appObjects.submitError("makeSubmitActivityAssetHandlerSandbox", "Unable to find NewAssetUC");
|
|
26
|
+
callback(undefined);
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
newAssetUC.create(newAssetData).then((assetID) => {
|
|
30
|
+
callback(assetID);
|
|
31
|
+
});
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=submitActivityAssetHandlerSandbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"submitActivityAssetHandlerSandbox.js","sourceRoot":"","sources":["../../../../src/AppSandbox/UCs/submitActivityAssetHandlerSandbox.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,IAAI,CAAC;AACtC,OAAO,EAAe,UAAU,EAAE,MAAM,cAAc,CAAC;AAGvD,MAAM,UAAU,qCAAqC,CACnD,UAAyB;IAEzB,OAAO,SAAS,0BAA0B,CACxC,SAAe,EACf,QAA+C;QAE/C,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACjD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,UAAU,CAAC,WAAW,CACpB,uCAAuC,EACvC,iCAAiC,CAClC,CAAC;YACF,QAAQ,CAAC,SAAS,CAAC,CAAC;YACpB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YAC5B,UAAU,CAAC,WAAW,CACpB,uCAAuC,EACvC,sBAAsB,CACvB,CAAC;YACF,QAAQ,CAAC,SAAS,CAAC,CAAC;YACpB,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAW,OAAO,CAAC,cAAc,CAAC;QAE/C,MAAM,YAAY,GAAgB;YAChC,IAAI,EAAE,gBAAgB;YACtB,WAAW,EAAE,qBAAqB,GAAG,OAAO;YAC5C,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,OAAO;SACf,CAAC;QAEF,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,UAAU,CAAC,WAAW,CACpB,uCAAuC,EACvC,2BAA2B,CAC5B,CAAC;YACF,QAAQ,CAAC,SAAS,CAAC,CAAC;YACpB,OAAO;QACT,CAAC;QAED,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YAC/C,QAAQ,CAAC,OAAO,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import { AppObjectRepo } from \"@vived/core\";\r\nimport { AppSandboxEntity } from \"..\";\r\nimport { NewAssetDto, NewAssetUC } from \"../../Assets\";\r\nimport { SubmitActivityAssetAction } from \"../../Handler/UCs/SubmitActivityAssetHandler\";\r\n\r\nexport function makeSubmitActivityAssetHandlerSandbox(\r\n appObjects: AppObjectRepo\r\n): SubmitActivityAssetAction {\r\n return function submitActivityAssetHandler(\r\n assetFile: File,\r\n callback: (assetID: string | undefined) => void\r\n ): void {\r\n const sandbox = AppSandboxEntity.get(appObjects);\r\n if (!sandbox) {\r\n appObjects.submitError(\r\n \"makeSubmitActivityAssetHandlerSandbox\",\r\n \"Unable to find AppSandboxEntity\"\r\n );\r\n callback(undefined);\r\n return;\r\n }\r\n\r\n if (!sandbox.mockActivityID) {\r\n appObjects.submitError(\r\n \"makeSubmitActivityAssetHandlerSandbox\",\r\n \"No activity ID found\"\r\n );\r\n callback(undefined);\r\n return;\r\n }\r\n\r\n const ownerID: string = sandbox.mockActivityID;\r\n\r\n const newAssetData: NewAssetDto = {\r\n name: \"Activity Asset\",\r\n description: \"Asset for activity \" + ownerID,\r\n file: assetFile,\r\n owner: ownerID\r\n };\r\n\r\n const newAssetUC = NewAssetUC.get(appObjects);\r\n if (!newAssetUC) {\r\n appObjects.submitError(\r\n \"makeSubmitActivityAssetHandlerSandbox\",\r\n \"Unable to find NewAssetUC\"\r\n );\r\n callback(undefined);\r\n return;\r\n }\r\n\r\n newAssetUC.create(newAssetData).then((assetID) => {\r\n callback(assetID);\r\n });\r\n };\r\n}\r\n"]}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { makeAppObjectRepo } from "@vived/core";
|
|
2
|
+
import { makeMockNewAssetUC, NewAssetUC } from "../../Assets";
|
|
3
|
+
import { makeAppSandboxEntity } from "../Entities";
|
|
4
|
+
import { makeSubmitActivityAssetHandlerSandbox } from "./submitActivityAssetHandlerSandbox";
|
|
5
|
+
describe("submitActivityAssetHandler", () => {
|
|
6
|
+
let appObjects;
|
|
7
|
+
let sandbox;
|
|
8
|
+
let newAssetUC;
|
|
9
|
+
let testFile;
|
|
10
|
+
let handler;
|
|
11
|
+
beforeEach(() => {
|
|
12
|
+
appObjects = makeAppObjectRepo();
|
|
13
|
+
sandbox = makeAppSandboxEntity(appObjects.getOrCreate("AppSandbox"));
|
|
14
|
+
sandbox.mockActivityID = "activity";
|
|
15
|
+
newAssetUC = makeMockNewAssetUC(appObjects);
|
|
16
|
+
newAssetUC.create.mockResolvedValue("asset123");
|
|
17
|
+
testFile = new File(["dummy content"], "test.png", {
|
|
18
|
+
type: "image/png"
|
|
19
|
+
});
|
|
20
|
+
handler = makeSubmitActivityAssetHandlerSandbox(appObjects);
|
|
21
|
+
});
|
|
22
|
+
afterEach(() => {
|
|
23
|
+
jest.restoreAllMocks();
|
|
24
|
+
});
|
|
25
|
+
it("should call callback is the new asset id", (done) => {
|
|
26
|
+
const callback = (id) => {
|
|
27
|
+
expect(id).toBe("asset123");
|
|
28
|
+
done();
|
|
29
|
+
};
|
|
30
|
+
handler(testFile, callback);
|
|
31
|
+
});
|
|
32
|
+
it("should submit error when activity ID is empty", (done) => {
|
|
33
|
+
sandbox.mockActivityID = "";
|
|
34
|
+
const errorSpy = jest.spyOn(appObjects, "submitError");
|
|
35
|
+
const callback = (id) => {
|
|
36
|
+
expect(id).toBeUndefined();
|
|
37
|
+
expect(errorSpy).toHaveBeenCalledWith("makeSubmitActivityAssetHandlerSandbox", "No activity ID found");
|
|
38
|
+
done();
|
|
39
|
+
};
|
|
40
|
+
handler(testFile, callback);
|
|
41
|
+
});
|
|
42
|
+
it("should submit error when NewAssetUC is missing", (done) => {
|
|
43
|
+
jest.spyOn(NewAssetUC, "get").mockReturnValue(undefined);
|
|
44
|
+
const errorSpy = jest.spyOn(appObjects, "submitError");
|
|
45
|
+
const callback = (id) => {
|
|
46
|
+
expect(id).toBeUndefined();
|
|
47
|
+
expect(errorSpy).toHaveBeenCalledWith("makeSubmitActivityAssetHandlerSandbox", "Unable to find NewAssetUC");
|
|
48
|
+
done();
|
|
49
|
+
};
|
|
50
|
+
handler(testFile, callback);
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
//# sourceMappingURL=submitActivityAssetHandlerSandbox.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"submitActivityAssetHandlerSandbox.test.js","sourceRoot":"","sources":["../../../../src/AppSandbox/UCs/submitActivityAssetHandlerSandbox.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAkB,UAAU,EAAE,MAAM,cAAc,CAAC;AAE9E,OAAO,EAAoB,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,qCAAqC,EAAE,MAAM,qCAAqC,CAAC;AAE5F,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,IAAI,UAAyB,CAAC;IAC9B,IAAI,OAAyB,CAAC;IAC9B,IAAI,UAA0B,CAAC;IAC/B,IAAI,QAAc,CAAC;IACnB,IAAI,OAAkC,CAAC;IAEvC,UAAU,CAAC,GAAG,EAAE;QACd,UAAU,GAAG,iBAAiB,EAAE,CAAC;QACjC,OAAO,GAAG,oBAAoB,CAAC,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC;QAErE,OAAO,CAAC,cAAc,GAAG,UAAU,CAAC;QAEpC,UAAU,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAC5C,UAAU,CAAC,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAEhD,QAAQ,GAAG,IAAI,IAAI,CAAC,CAAC,eAAe,CAAC,EAAE,UAAU,EAAE;YACjD,IAAI,EAAE,WAAW;SAClB,CAAC,CAAC;QAEH,OAAO,GAAG,qCAAqC,CAAC,UAAU,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,CAAC,IAAI,EAAE,EAAE;QACtD,MAAM,QAAQ,GAAG,CAAC,EAAsB,EAAE,EAAE;YAC1C,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC5B,IAAI,EAAE,CAAC;QACT,CAAC,CAAC;QAEF,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,CAAC,IAAI,EAAE,EAAE;QAC3D,OAAO,CAAC,cAAc,GAAG,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;QAEvD,MAAM,QAAQ,GAAG,CAAC,EAAsB,EAAE,EAAE;YAC1C,MAAM,CAAC,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC;YAC3B,MAAM,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CACnC,uCAAuC,EACvC,sBAAsB,CACvB,CAAC;YACF,IAAI,EAAE,CAAC;QACT,CAAC,CAAC;QAEF,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,CAAC,IAAI,EAAE,EAAE;QAC5D,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;QAEvD,MAAM,QAAQ,GAAG,CAAC,EAAsB,EAAE,EAAE;YAC1C,MAAM,CAAC,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC;YAC3B,MAAM,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CACnC,uCAAuC,EACvC,2BAA2B,CAC5B,CAAC;YACF,IAAI,EAAE,CAAC;QACT,CAAC,CAAC;QAEF,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { AppObjectRepo, makeAppObjectRepo } from \"@vived/core\";\r\nimport { makeMockNewAssetUC, MockNewAssetUC, NewAssetUC } from \"../../Assets\";\r\nimport { SubmitActivityAssetAction } from \"../../Handler/UCs/SubmitActivityAssetHandler\";\r\nimport { AppSandboxEntity, makeAppSandboxEntity } from \"../Entities\";\r\nimport { makeSubmitActivityAssetHandlerSandbox } from \"./submitActivityAssetHandlerSandbox\";\r\n\r\ndescribe(\"submitActivityAssetHandler\", () => {\r\n let appObjects: AppObjectRepo;\r\n let sandbox: AppSandboxEntity;\r\n let newAssetUC: MockNewAssetUC;\r\n let testFile: File;\r\n let handler: SubmitActivityAssetAction;\r\n\r\n beforeEach(() => {\r\n appObjects = makeAppObjectRepo();\r\n sandbox = makeAppSandboxEntity(appObjects.getOrCreate(\"AppSandbox\"));\r\n\r\n sandbox.mockActivityID = \"activity\";\r\n\r\n newAssetUC = makeMockNewAssetUC(appObjects);\r\n newAssetUC.create.mockResolvedValue(\"asset123\");\r\n\r\n testFile = new File([\"dummy content\"], \"test.png\", {\r\n type: \"image/png\"\r\n });\r\n\r\n handler = makeSubmitActivityAssetHandlerSandbox(appObjects);\r\n });\r\n\r\n afterEach(() => {\r\n jest.restoreAllMocks();\r\n });\r\n\r\n it(\"should call callback is the new asset id\", (done) => {\r\n const callback = (id: string | undefined) => {\r\n expect(id).toBe(\"asset123\");\r\n done();\r\n };\r\n\r\n handler(testFile, callback);\r\n });\r\n\r\n it(\"should submit error when activity ID is empty\", (done) => {\r\n sandbox.mockActivityID = \"\";\r\n const errorSpy = jest.spyOn(appObjects, \"submitError\");\r\n\r\n const callback = (id: string | undefined) => {\r\n expect(id).toBeUndefined();\r\n expect(errorSpy).toHaveBeenCalledWith(\r\n \"makeSubmitActivityAssetHandlerSandbox\",\r\n \"No activity ID found\"\r\n );\r\n done();\r\n };\r\n\r\n handler(testFile, callback);\r\n });\r\n\r\n it(\"should submit error when NewAssetUC is missing\", (done) => {\r\n jest.spyOn(NewAssetUC, \"get\").mockReturnValue(undefined);\r\n const errorSpy = jest.spyOn(appObjects, \"submitError\");\r\n\r\n const callback = (id: string | undefined) => {\r\n expect(id).toBeUndefined();\r\n expect(errorSpy).toHaveBeenCalledWith(\r\n \"makeSubmitActivityAssetHandlerSandbox\",\r\n \"Unable to find NewAssetUC\"\r\n );\r\n done();\r\n };\r\n\r\n handler(testFile, callback);\r\n });\r\n});\r\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { makeAppAssets, makeAssetEntity, makeAssetRepo } from "../Entities";
|
|
2
2
|
import { makeAppAssetListPM, makeAssetPM, makeEditingAppAssetPM, makeShowArchivedAppAssetPM } from "../PMs";
|
|
3
|
-
import { makeArchiveAssetUC, makeDeleteAssetUC, makeDownloadAssetFileUC, makeEditAppAsset, makeGetAppAssetUC, makeGetAssetBlobURLUC, makeGetAssetFileUC, makeGetAssetUC, makeNewAppAssetUC, makePrefetchAssets, makeUpdateAppAssetMetaUC, makeUpdateAssetFileUC } from "../UCs";
|
|
3
|
+
import { makeArchiveAssetUC, makeDeleteAssetUC, makeDownloadAssetFileUC, makeEditAppAsset, makeGetAppAssetUC, makeGetAssetBlobURLUC, makeGetAssetFileUC, makeGetAssetUC, makeNewAppAssetUC, makeNewAssetUC, makePrefetchAssets, makeUpdateAppAssetMetaUC, makeUpdateAssetFileUC } from "../UCs";
|
|
4
4
|
export function setupAssetsForSandbox(appObjects) {
|
|
5
5
|
const assetRepoAO = appObjects.getOrCreate("Asset Repository");
|
|
6
6
|
const appAssetsAO = appObjects.getOrCreate("App Assets");
|
|
@@ -14,6 +14,7 @@ export function setupAssetsForSandbox(appObjects) {
|
|
|
14
14
|
makeGetAssetFileUC(assetRepoAO);
|
|
15
15
|
makeGetAssetUC(assetRepoAO);
|
|
16
16
|
makePrefetchAssets(assetRepoAO);
|
|
17
|
+
makeNewAssetUC(assetRepoAO);
|
|
17
18
|
makeNewAppAssetUC(appAssetsAO);
|
|
18
19
|
makeGetAppAssetUC(appAssetsAO);
|
|
19
20
|
// PMs
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setupAssetsForSandbox.js","sourceRoot":"","sources":["../../../../src/Assets/Factories/setupAssetsForSandbox.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,aAAa,EACb,eAAe,EACf,aAAa,EACd,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,qBAAqB,EACrB,0BAA0B,EAC3B,MAAM,QAAQ,CAAC;AAChB,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,uBAAuB,EACvB,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,wBAAwB,EACxB,qBAAqB,EACtB,MAAM,QAAQ,CAAC;AAEhB,MAAM,UAAU,qBAAqB,CAAC,UAAyB;IAC7D,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;IAC/D,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IAEzD,WAAW;IACX,MAAM,SAAS,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IAC7C,SAAS,CAAC,YAAY,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACtD,aAAa,CAAC,WAAW,CAAC,CAAC;IAE3B,MAAM;IACN,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAC9B,qBAAqB,CAAC,WAAW,CAAC,CAAC;IACnC,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAChC,cAAc,CAAC,WAAW,CAAC,CAAC;IAC5B,kBAAkB,CAAC,WAAW,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"setupAssetsForSandbox.js","sourceRoot":"","sources":["../../../../src/Assets/Factories/setupAssetsForSandbox.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,aAAa,EACb,eAAe,EACf,aAAa,EACd,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,qBAAqB,EACrB,0BAA0B,EAC3B,MAAM,QAAQ,CAAC;AAChB,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,uBAAuB,EACvB,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,wBAAwB,EACxB,qBAAqB,EACtB,MAAM,QAAQ,CAAC;AAEhB,MAAM,UAAU,qBAAqB,CAAC,UAAyB;IAC7D,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;IAC/D,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IAEzD,WAAW;IACX,MAAM,SAAS,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IAC7C,SAAS,CAAC,YAAY,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACtD,aAAa,CAAC,WAAW,CAAC,CAAC;IAE3B,MAAM;IACN,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAC9B,qBAAqB,CAAC,WAAW,CAAC,CAAC;IACnC,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAChC,cAAc,CAAC,WAAW,CAAC,CAAC;IAC5B,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAChC,cAAc,CAAC,WAAW,CAAC,CAAC;IAC5B,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC/B,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAE/B,MAAM;IACN,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAChC,0BAA0B,CAAC,WAAW,CAAC,CAAC;IACxC,qBAAqB,CAAC,WAAW,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,gBAAgB,CAAC,UAAyB;IACjD,OAAO,SAAS,YAAY,CAAC,EAAU;QACrC,MAAM,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAEtC,WAAW;QACX,MAAM,MAAM,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;QAEnC,MAAM;QACN,kBAAkB,CAAC,EAAE,CAAC,CAAC;QACvB,iBAAiB,CAAC,EAAE,CAAC,CAAC;QACtB,uBAAuB,CAAC,EAAE,CAAC,CAAC;QAC5B,qBAAqB,CAAC,EAAE,CAAC,CAAC;QAC1B,wBAAwB,CAAC,EAAE,CAAC,CAAC;QAE7B,MAAM;QACN,WAAW,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import { AppObjectRepo } from \"@vived/core\";\r\nimport {\r\n AssetEntity,\r\n makeAppAssets,\r\n makeAssetEntity,\r\n makeAssetRepo\r\n} from \"../Entities\";\r\nimport {\r\n makeAppAssetListPM,\r\n makeAssetPM,\r\n makeEditingAppAssetPM,\r\n makeShowArchivedAppAssetPM\r\n} from \"../PMs\";\r\nimport {\r\n makeArchiveAssetUC,\r\n makeDeleteAssetUC,\r\n makeDownloadAssetFileUC,\r\n makeEditAppAsset,\r\n makeGetAppAssetUC,\r\n makeGetAssetBlobURLUC,\r\n makeGetAssetFileUC,\r\n makeGetAssetUC,\r\n makeNewAppAssetUC,\r\n makeNewAssetUC,\r\n makePrefetchAssets,\r\n makeUpdateAppAssetMetaUC,\r\n makeUpdateAssetFileUC\r\n} from \"../UCs\";\r\n\r\nexport function setupAssetsForSandbox(appObjects: AppObjectRepo) {\r\n const assetRepoAO = appObjects.getOrCreate(\"Asset Repository\");\r\n const appAssetsAO = appObjects.getOrCreate(\"App Assets\");\r\n\r\n // Entities\r\n const assetRepo = makeAssetRepo(assetRepoAO);\r\n assetRepo.assetFactory = makeAssetFactory(appObjects);\r\n makeAppAssets(appAssetsAO);\r\n\r\n // UCs\r\n makeEditAppAsset(assetRepoAO);\r\n makeGetAssetBlobURLUC(assetRepoAO);\r\n makeGetAssetFileUC(assetRepoAO);\r\n makeGetAssetUC(assetRepoAO);\r\n makePrefetchAssets(assetRepoAO);\r\n makeNewAssetUC(assetRepoAO);\r\n makeNewAppAssetUC(appAssetsAO);\r\n makeGetAppAssetUC(appAssetsAO);\r\n\r\n // PMs\r\n makeAppAssetListPM(appAssetsAO);\r\n makeShowArchivedAppAssetPM(appAssetsAO);\r\n makeEditingAppAssetPM(appAssetsAO);\r\n}\r\n\r\nfunction makeAssetFactory(appObjects: AppObjectRepo) {\r\n return function assetFactory(id: string): AssetEntity {\r\n const ao = appObjects.getOrCreate(id);\r\n\r\n // Entities\r\n const entity = makeAssetEntity(ao);\r\n\r\n // UCs\r\n makeArchiveAssetUC(ao);\r\n makeDeleteAssetUC(ao);\r\n makeDownloadAssetFileUC(ao);\r\n makeUpdateAssetFileUC(ao);\r\n makeUpdateAppAssetMetaUC(ao);\r\n\r\n // PMs\r\n makeAssetPM(ao);\r\n return entity;\r\n };\r\n}\r\n"]}
|