@vived/host 4.0.2 → 4.0.3
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/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/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/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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MarkDownEditor.test.js","sourceRoot":"","sources":["../../../../src/Dialog/Entities/MarkDownEditor.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport {\r\n MarkDownEditorDialogEntity,\r\n DialogMarkDownEditorDTO,\r\n markDownEditorDialogType\r\n} from \"./MarkDownEditor\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n const ao = appObjects.getOrCreate(\"dialog1\");\r\n\r\n const data: DialogMarkDownEditorDTO = {\r\n onConfirm: jest.fn(),\r\n initialText: \"initial text\"\r\n };\r\n\r\n const dialog = new MarkDownEditorDialogEntity(data, ao);\r\n const observer = jest.fn();\r\n dialog.addChangeObserver(observer);\r\n\r\n return { dialog, observer, data, appObjects };\r\n}\r\n\r\ndescribe(\"MarkDown Editor Dialog\", () => {\r\n it(\"Sets the open to false when cancel is called\", () => {\r\n const { dialog } = makeTestRig();\r\n\r\n dialog.isOpen = true;\r\n dialog.cancel();\r\n\r\n expect(dialog.isOpen).toEqual(false);\r\n });\r\n\r\n it(\"Sets the open to false when accept is called\", () => {\r\n const { dialog } = makeTestRig();\r\n\r\n dialog.isOpen = true;\r\n dialog.confirm(\"MarkDown Text\");\r\n\r\n expect(dialog.isOpen).toEqual(false);\r\n });\r\n\r\n it(\"Calls the onAccept when accepted\", () => {\r\n const { dialog, data } = makeTestRig();\r\n\r\n dialog.confirm(\"MarkDown Text\");\r\n\r\n expect(data.onConfirm).toBeCalled();\r\n });\r\n\r\n it(\"Applies the data\", () => {\r\n const { dialog, data } = makeTestRig();\r\n\r\n expect(dialog.initialText).toEqual(data.initialText);\r\n });\r\n\r\n it(\"Disable outside dismiss\", () => {\r\n const { dialog } = makeTestRig();\r\n\r\n expect(dialog.preventOutsideDismiss).toEqual(true);\r\n });\r\n\r\n it(\"Sets the dialog type\", () => {\r\n const { dialog } = makeTestRig();\r\n\r\n expect(dialog.dialogType).toEqual(markDownEditorDialogType);\r\n });\r\n\r\n it(\"Notifies when the is open flag changes\", () => {\r\n const { dialog, observer } = makeTestRig();\r\n\r\n dialog.isOpen = true;\r\n\r\n observer.mockClear();\r\n\r\n dialog.isOpen = true;\r\n dialog.isOpen = true;\r\n dialog.isOpen = true;\r\n\r\n expect(observer).not.toBeCalled();\r\n\r\n dialog.isOpen = false;\r\n dialog.isOpen = false;\r\n dialog.isOpen = false;\r\n\r\n expect(observer).toBeCalledTimes(1);\r\n\r\n dialog.isOpen = true;\r\n dialog.isOpen = true;\r\n dialog.isOpen = true;\r\n\r\n expect(observer).toBeCalledTimes(2);\r\n });\r\n\r\n it(\"Warns if it cannot find the app object by ID when getting\", () => {\r\n const { appObjects } = makeTestRig();\r\n\r\n appObjects.submitWarning = jest.fn();\r\n\r\n MarkDownEditorDialogEntity.get(\"unknownID\", appObjects);\r\n\r\n expect(appObjects.submitWarning).toBeCalled();\r\n });\r\n\r\n it(\"Warns if the App Object does not have the UC when getting\", () => {\r\n const { appObjects } = makeTestRig();\r\n\r\n appObjects.submitWarning = jest.fn();\r\n\r\n appObjects.getOrCreate(\"anAppObject\");\r\n MarkDownEditorDialogEntity.get(\"anAppObject\", appObjects);\r\n\r\n expect(appObjects.submitWarning).toBeCalled();\r\n });\r\n\r\n it(\"Returns the UC when getting\", () => {\r\n const { appObjects, dialog } = makeTestRig();\r\n\r\n const returnedUC = MarkDownEditorDialogEntity.get(\"dialog1\", appObjects);\r\n\r\n expect(returnedUC).toEqual(dialog);\r\n });\r\n});\r\n"]}
|
|
1
|
+
{"version":3,"file":"MarkDownEditor.test.js","sourceRoot":"","sources":["../../../../src/Dialog/Entities/MarkDownEditor.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport {\r\n MarkDownEditorDialogEntity,\r\n DialogMarkDownEditorDTO,\r\n markDownEditorDialogType\r\n} from \"./MarkDownEditor\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n const ao = appObjects.getOrCreate(\"dialog1\");\r\n\r\n const data: DialogMarkDownEditorDTO = {\r\n onConfirm: jest.fn(),\r\n initialText: \"initial text\"\r\n };\r\n\r\n const dialog = new MarkDownEditorDialogEntity(data, ao);\r\n const observer = jest.fn();\r\n dialog.addChangeObserver(observer);\r\n\r\n return { dialog, observer, data, appObjects };\r\n}\r\n\r\ndescribe(\"MarkDown Editor Dialog\", () => {\r\n it(\"Sets the open to false when cancel is called\", () => {\r\n const { dialog } = makeTestRig();\r\n\r\n dialog.isOpen = true;\r\n dialog.cancel();\r\n\r\n expect(dialog.isOpen).toEqual(false);\r\n });\r\n\r\n it(\"Sets the open to false when accept is called\", () => {\r\n const { dialog } = makeTestRig();\r\n\r\n dialog.isOpen = true;\r\n dialog.confirm(\"MarkDown Text\");\r\n\r\n expect(dialog.isOpen).toEqual(false);\r\n });\r\n\r\n it(\"Calls the onAccept when accepted\", () => {\r\n const { dialog, data } = makeTestRig();\r\n\r\n dialog.confirm(\"MarkDown Text\");\r\n\r\n expect(data.onConfirm).toBeCalled();\r\n });\r\n\r\n it(\"Applies the data\", () => {\r\n const { dialog, data } = makeTestRig();\r\n\r\n expect(dialog.initialText).toEqual(data.initialText);\r\n });\r\n\r\n it(\"Disable outside dismiss\", () => {\r\n const { dialog } = makeTestRig();\r\n\r\n expect(dialog.preventOutsideDismiss).toEqual(true);\r\n });\r\n\r\n it(\"Sets the dialog type\", () => {\r\n const { dialog } = makeTestRig();\r\n\r\n expect(dialog.dialogType).toEqual(markDownEditorDialogType);\r\n });\r\n\r\n it(\"Notifies when the is open flag changes\", () => {\r\n const { dialog, observer } = makeTestRig();\r\n\r\n dialog.isOpen = true;\r\n\r\n observer.mockClear();\r\n\r\n dialog.isOpen = true;\r\n dialog.isOpen = true;\r\n dialog.isOpen = true;\r\n\r\n expect(observer).not.toBeCalled();\r\n\r\n dialog.isOpen = false;\r\n dialog.isOpen = false;\r\n dialog.isOpen = false;\r\n\r\n expect(observer).toBeCalledTimes(1);\r\n\r\n dialog.isOpen = true;\r\n dialog.isOpen = true;\r\n dialog.isOpen = true;\r\n\r\n expect(observer).toBeCalledTimes(2);\r\n });\r\n\r\n it(\"Warns if it cannot find the app object by ID when getting\", () => {\r\n const { appObjects } = makeTestRig();\r\n\r\n appObjects.submitWarning = jest.fn();\r\n\r\n MarkDownEditorDialogEntity.get(\"unknownID\", appObjects);\r\n\r\n expect(appObjects.submitWarning).toBeCalled();\r\n });\r\n\r\n it(\"Warns if the App Object does not have the UC when getting\", () => {\r\n const { appObjects } = makeTestRig();\r\n\r\n appObjects.submitWarning = jest.fn();\r\n\r\n appObjects.getOrCreate(\"anAppObject\");\r\n MarkDownEditorDialogEntity.get(\"anAppObject\", appObjects);\r\n\r\n expect(appObjects.submitWarning).toBeCalled();\r\n });\r\n\r\n it(\"Returns the UC when getting\", () => {\r\n const { appObjects, dialog } = makeTestRig();\r\n\r\n const returnedUC = MarkDownEditorDialogEntity.get(\"dialog1\", appObjects);\r\n\r\n expect(returnedUC).toEqual(dialog);\r\n });\r\n\r\n it(\"Sets hasBeenClosed to true when cancel is called\", () => {\r\n const { dialog } = makeTestRig();\r\n dialog.isOpen = true;\r\n dialog.cancel();\r\n expect(dialog.hasBeenClosed).toEqual(true);\r\n });\r\n\r\n it(\"Sets hasBeenClosed to true when confirm is called\", () => {\r\n const { dialog } = makeTestRig();\r\n dialog.isOpen = true;\r\n dialog.confirm(\"MarkDown Text\");\r\n expect(dialog.hasBeenClosed).toEqual(true);\r\n });\r\n});\r\n"]}
|
|
@@ -37,6 +37,7 @@ export class SelectModelDialogEntity extends Dialog {
|
|
|
37
37
|
constructor(appObject) {
|
|
38
38
|
super(appObject, SelectModelDialogEntity.type);
|
|
39
39
|
this.dialogType = selectModelDialogType;
|
|
40
|
+
this.hasBeenClosed = false;
|
|
40
41
|
this._isOpen = new MemoizedBoolean(false, this.notifyOnChange);
|
|
41
42
|
this.preventOutsideDismiss = true;
|
|
42
43
|
this.memoizedIsReady = new MemoizedBoolean(false, this.notifyOnChange);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectModel.js","sourceRoot":"","sources":["../../../../src/Dialog/Entities/SelectModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,eAAe,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC,MAAM,CAAC,MAAM,qBAAqB,GAAG,sBAAsB,CAAC;AAE5D,MAAM,OAAO,uBAAwB,SAAQ,MAAM;IAGjD,MAAM,CAAC,GAAG,CACR,OAAe,EACf,UAAyB;QAEzB,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,UAAU,CAAC,aAAa,CACtB,6BAA6B,EAC7B,2BAA2B,CAC5B,CAAC;YACF,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,EAAE,GAAG,SAAS,CAAC,YAAY,CAC/B,uBAAuB,CAAC,IAAI,CAC7B,CAAC;QACF,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,UAAU,CAAC,aAAa,CACtB,6BAA6B,EAC7B,kDAAkD,CACnD,CAAC;YACF,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;
|
|
1
|
+
{"version":3,"file":"SelectModel.js","sourceRoot":"","sources":["../../../../src/Dialog/Entities/SelectModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,eAAe,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC,MAAM,CAAC,MAAM,qBAAqB,GAAG,sBAAsB,CAAC;AAE5D,MAAM,OAAO,uBAAwB,SAAQ,MAAM;IAGjD,MAAM,CAAC,GAAG,CACR,OAAe,EACf,UAAyB;QAEzB,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,UAAU,CAAC,aAAa,CACtB,6BAA6B,EAC7B,2BAA2B,CAC5B,CAAC;YACF,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,EAAE,GAAG,SAAS,CAAC,YAAY,CAC/B,uBAAuB,CAAC,IAAI,CAC7B,CAAC;QACF,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,UAAU,CAAC,aAAa,CACtB,6BAA6B,EAC7B,kDAAkD,CACnD,CAAC;YACF,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAMD,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;IAC1B,CAAC;IACD,IAAI,MAAM,CAAC,GAAY;QACrB,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC;IACzB,CAAC;IAID,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,IAAI,SAAS,CAAC,OAAgC;QAC5C,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC;QAC1B,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAGD,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;IAClC,CAAC;IACD,IAAI,OAAO,CAAC,OAAgB;QAC1B,IAAI,CAAC,eAAe,CAAC,GAAG,GAAG,OAAO,CAAC;IACrC,CAAC;IAED,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,uBAAuB,CAAC,IAAI,CAAC,CAAC;QA/BxC,eAAU,GAAG,qBAAqB,CAAC;QAC5C,kBAAa,GAAY,KAAK,CAAC;QAEvB,YAAO,GAAG,IAAI,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAQlE,0BAAqB,GAAY,IAAI,CAAC;QAW5B,oBAAe,GAAG,IAAI,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IAU5E,CAAC;;AA7DM,4BAAI,GAAG,yBAAyB,AAA5B,CAA6B","sourcesContent":["import { AppObject, AppObjectRepo, MemoizedBoolean } from \"@vived/core\";\r\nimport { Dialog } from \"./DialogQueue\";\r\n\r\nexport const selectModelDialogType = \"SELECT_CHANNEL_MODEL\";\r\n\r\nexport class SelectModelDialogEntity extends Dialog {\r\n static type = \"SelectModelDialogEntity\";\r\n\r\n static get(\r\n assetID: string,\r\n appObjects: AppObjectRepo\r\n ): SelectModelDialogEntity | undefined {\r\n const appObject = appObjects.get(assetID);\r\n if (!appObject) {\r\n appObjects.submitWarning(\r\n \"SelectModelDialogEntity.get\",\r\n \"Unable to find app object\"\r\n );\r\n return undefined;\r\n }\r\n\r\n const uc = appObject.getComponent<SelectModelDialogEntity>(\r\n SelectModelDialogEntity.type\r\n );\r\n if (!uc) {\r\n appObjects.submitWarning(\r\n \"SelectModelDialogEntity.get\",\r\n \"App Object does not have SelectModelDialogEntity\"\r\n );\r\n return undefined;\r\n }\r\n\r\n return uc;\r\n }\r\n\r\n readonly dialogType = selectModelDialogType;\r\n hasBeenClosed: boolean = false;\r\n \r\n private _isOpen = new MemoizedBoolean(false, this.notifyOnChange);\r\n get isOpen(): boolean {\r\n return this._isOpen.val;\r\n }\r\n set isOpen(val: boolean) {\r\n this._isOpen.val = val;\r\n }\r\n\r\n preventOutsideDismiss: boolean = true;\r\n protected _container?: HTMLElement;\r\n get container(): HTMLElement | undefined {\r\n return this._container;\r\n }\r\n\r\n set container(element: HTMLElement | undefined) {\r\n this._container = element;\r\n this.notifyOnChange();\r\n }\r\n\r\n protected memoizedIsReady = new MemoizedBoolean(false, this.notifyOnChange);\r\n get isReady(): boolean {\r\n return this.memoizedIsReady.val;\r\n }\r\n set isReady(isReady: boolean) {\r\n this.memoizedIsReady.val = isReady;\r\n }\r\n\r\n constructor(appObject: AppObject) {\r\n super(appObject, SelectModelDialogEntity.type);\r\n }\r\n}\r\n"]}
|
|
@@ -36,7 +36,9 @@ export class SpinnerDialogEntity extends Dialog {
|
|
|
36
36
|
this.mininumuLifespan = 2000;
|
|
37
37
|
this.preventOutsideDismiss = true;
|
|
38
38
|
this._isOpen = new MemoizedBoolean(false, this.notifyOnChange);
|
|
39
|
+
this.hasBeenClosed = false;
|
|
39
40
|
this.close = () => {
|
|
41
|
+
this.hasBeenClosed = true;
|
|
40
42
|
if (this.createdAt === undefined) {
|
|
41
43
|
this.isOpen = false;
|
|
42
44
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Spinner.js","sourceRoot":"","sources":["../../../../src/Dialog/Entities/Spinner.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,eAAe,EACf,cAAc,EACf,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC,MAAM,CAAC,MAAM,iBAAiB,GAAG,SAAS,CAAC;AAO3C,MAAM,OAAO,mBAAoB,SAAQ,MAAM;IAG7C,MAAM,CAAC,GAAG,CACR,OAAe,EACf,UAAyB;QAEzB,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,UAAU,CAAC,aAAa,CACtB,yBAAyB,EACzB,2BAA2B,CAC5B,CAAC;YACF,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,EAAE,GAAG,SAAS,CAAC,YAAY,CAC/B,mBAAmB,CAAC,IAAI,CACzB,CAAC;QACF,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,UAAU,CAAC,aAAa,CACtB,yBAAyB,EACzB,8CAA8C,CAC/C,CAAC;YACF,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAUD,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;IAClC,CAAC;IACD,IAAI,OAAO,CAAC,GAAW;QACrB,IAAI,CAAC,eAAe,CAAC,GAAG,GAAG,GAAG,CAAC;IACjC,CAAC;IAGD,IAAI,MAAM,CAAC,IAAa;QACtB,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACzC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC9B,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;IAC1B,CAAC;IACD,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;IAC1B,CAAC;
|
|
1
|
+
{"version":3,"file":"Spinner.js","sourceRoot":"","sources":["../../../../src/Dialog/Entities/Spinner.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,eAAe,EACf,cAAc,EACf,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC,MAAM,CAAC,MAAM,iBAAiB,GAAG,SAAS,CAAC;AAO3C,MAAM,OAAO,mBAAoB,SAAQ,MAAM;IAG7C,MAAM,CAAC,GAAG,CACR,OAAe,EACf,UAAyB;QAEzB,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,UAAU,CAAC,aAAa,CACtB,yBAAyB,EACzB,2BAA2B,CAC5B,CAAC;YACF,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,EAAE,GAAG,SAAS,CAAC,YAAY,CAC/B,mBAAmB,CAAC,IAAI,CACzB,CAAC;QACF,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,UAAU,CAAC,aAAa,CACtB,yBAAyB,EACzB,8CAA8C,CAC/C,CAAC;YACF,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAUD,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;IAClC,CAAC;IACD,IAAI,OAAO,CAAC,GAAW;QACrB,IAAI,CAAC,eAAe,CAAC,GAAG,GAAG,GAAG,CAAC;IACjC,CAAC;IAGD,IAAI,MAAM,CAAC,IAAa;QACtB,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACzC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC9B,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;IAC1B,CAAC;IACD,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;IAC1B,CAAC;IAsBD,YAAY,IAAsB,EAAE,SAAoB;QACtD,KAAK,CAAC,SAAS,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;QA/CpC,eAAU,GAAG,iBAAiB,CAAC;QAC/B,qBAAgB,GAAG,IAAI,CAAC;QAIxB,0BAAqB,GAAG,IAAI,CAAC;QAU9B,YAAO,GAAG,IAAI,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAUlE,kBAAa,GAAY,KAAK,CAAC;QAE/B,UAAK,GAAG,GAAG,EAAE;YACX,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBACjC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;gBACpB,OAAO;YACT,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;YAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;YAEnD,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;gBAClB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,GAAG,EAAE;oBACd,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;gBACtB,CAAC,EAAE,QAAQ,CAAC,CAAC;YACf,CAAC;QACH,CAAC,CAAC;QAIA,IAAI,CAAC,eAAe,GAAG,IAAI,cAAc,CACvC,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,cAAc,CACpB,CAAC;QACF,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IAC1B,CAAC;;AAlFM,wBAAI,GAAG,qBAAqB,AAAxB,CAAyB","sourcesContent":["import {\r\n AppObject,\r\n AppObjectRepo,\r\n MemoizedBoolean,\r\n MemoizedString\r\n} from \"@vived/core\";\r\nimport { Dialog } from \"./DialogQueue\";\r\n\r\nexport const spinnerDialogType = \"SPINNER\";\r\n\r\nexport interface DialogSpinnerDTO {\r\n message: string;\r\n title: string;\r\n}\r\n\r\nexport class SpinnerDialogEntity extends Dialog {\r\n static type = \"SpinnerDialogEntity\";\r\n\r\n static get(\r\n assetID: string,\r\n appObjects: AppObjectRepo\r\n ): SpinnerDialogEntity | undefined {\r\n const appObject = appObjects.get(assetID);\r\n if (!appObject) {\r\n appObjects.submitWarning(\r\n \"SpinnerDialogEntity.get\",\r\n \"Unable to find app object\"\r\n );\r\n return undefined;\r\n }\r\n\r\n const uc = appObject.getComponent<SpinnerDialogEntity>(\r\n SpinnerDialogEntity.type\r\n );\r\n if (!uc) {\r\n appObjects.submitWarning(\r\n \"SpinnerDialogEntity.get\",\r\n \"App Object does not have SpinnerDialogEntity\"\r\n );\r\n return undefined;\r\n }\r\n\r\n return uc;\r\n }\r\n\r\n readonly dialogType = spinnerDialogType;\r\n readonly mininumuLifespan = 2000;\r\n readonly title: string;\r\n private createdAt?: number;\r\n\r\n readonly preventOutsideDismiss = true;\r\n\r\n private memoizedMessage: MemoizedString;\r\n get message(): string {\r\n return this.memoizedMessage.val;\r\n }\r\n set message(val: string) {\r\n this.memoizedMessage.val = val;\r\n }\r\n\r\n private _isOpen = new MemoizedBoolean(false, this.notifyOnChange);\r\n set isOpen(open: boolean) {\r\n if (open && this.createdAt === undefined) {\r\n this.createdAt = Date.now();\r\n }\r\n this._isOpen.val = open;\r\n }\r\n get isOpen() {\r\n return this._isOpen.val;\r\n }\r\n hasBeenClosed: boolean = false;\r\n\r\n close = () => {\r\n this.hasBeenClosed = true;\r\n if (this.createdAt === undefined) {\r\n this.isOpen = false;\r\n return;\r\n }\r\n\r\n const timeAlive = Date.now() - this.createdAt;\r\n const timeleft = this.mininumuLifespan - timeAlive;\r\n\r\n if (timeleft <= 0) {\r\n this.isOpen = false;\r\n } else {\r\n setTimeout(() => {\r\n this.isOpen = false;\r\n }, timeleft);\r\n }\r\n };\r\n\r\n constructor(data: DialogSpinnerDTO, appObject: AppObject) {\r\n super(appObject, SpinnerDialogEntity.type);\r\n this.memoizedMessage = new MemoizedString(\r\n data.message,\r\n this.notifyOnChange\r\n );\r\n this.title = data.title;\r\n }\r\n}\r\n"]}
|
|
@@ -108,5 +108,22 @@ describe("Spinner Dialog", () => {
|
|
|
108
108
|
const returnedUC = SpinnerDialogEntity.get("dialog1", appObjects);
|
|
109
109
|
expect(returnedUC).toEqual(spinner);
|
|
110
110
|
});
|
|
111
|
+
it("Sets hasBeenClosed to true when close is called with no createdAt", () => {
|
|
112
|
+
const { spinner } = makeTestRig();
|
|
113
|
+
spinner.close();
|
|
114
|
+
expect(spinner.hasBeenClosed).toEqual(true);
|
|
115
|
+
expect(spinner.isOpen).toEqual(false);
|
|
116
|
+
});
|
|
117
|
+
it("Sets hasBeenClosed to true when close is called (delayed close)", () => {
|
|
118
|
+
jest.useFakeTimers();
|
|
119
|
+
const { spinner } = makeTestRig();
|
|
120
|
+
spinner.isOpen = true; // sets createdAt
|
|
121
|
+
spinner.close();
|
|
122
|
+
expect(spinner.hasBeenClosed).toEqual(true);
|
|
123
|
+
// spinner might still be open until timer expires
|
|
124
|
+
jest.advanceTimersByTime(spinner.mininumuLifespan);
|
|
125
|
+
expect(spinner.isOpen).toEqual(false);
|
|
126
|
+
jest.useRealTimers();
|
|
127
|
+
});
|
|
111
128
|
});
|
|
112
129
|
//# sourceMappingURL=Spinner.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Spinner.test.js","sourceRoot":"","sources":["../../../../src/Dialog/Entities/Spinner.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport {\r\n SpinnerDialogEntity,\r\n spinnerDialogType,\r\n DialogSpinnerDTO\r\n} from \"./Spinner\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n const ao = appObjects.getOrCreate(\"dialog1\");\r\n\r\n const dto: DialogSpinnerDTO = {\r\n message: \"a message\",\r\n title: \"title\"\r\n };\r\n\r\n const spinner = new SpinnerDialogEntity(dto, ao);\r\n const observer = jest.fn();\r\n spinner.addChangeObserver(observer);\r\n\r\n return { spinner, observer, appObjects };\r\n}\r\n\r\ndescribe(\"Spinner Dialog\", () => {\r\n it(\"Notifies when the message changes\", () => {\r\n const { spinner, observer } = makeTestRig();\r\n\r\n spinner.message = \"A new message\";\r\n\r\n expect(spinner.message).toEqual(\"A new message\");\r\n expect(observer).toBeCalled();\r\n });\r\n\r\n it(\"Closes if it has been alive long enough\", () => {\r\n const { spinner, observer } = makeTestRig();\r\n\r\n const mockTime = jest.fn();\r\n Date.now = mockTime;\r\n mockTime.mockReturnValue(0);\r\n\r\n spinner.isOpen = true;\r\n observer.mockClear();\r\n\r\n mockTime.mockReturnValue(spinner.mininumuLifespan + 1);\r\n\r\n spinner.close();\r\n\r\n expect(spinner.isOpen).toEqual(false);\r\n expect(observer).toBeCalled();\r\n });\r\n\r\n it(\"Doesn't close until the min lifespan has passed\", () => {\r\n jest.useFakeTimers();\r\n const { spinner, observer } = makeTestRig();\r\n\r\n const mockTime = jest.fn();\r\n Date.now = mockTime;\r\n mockTime.mockReturnValue(0);\r\n\r\n spinner.isOpen = true;\r\n observer.mockClear();\r\n\r\n mockTime.mockReturnValue(0.5 * spinner.mininumuLifespan);\r\n\r\n spinner.close();\r\n\r\n expect(spinner.isOpen).toEqual(true);\r\n expect(observer).not.toBeCalled();\r\n\r\n jest.advanceTimersByTime(0.5 * spinner.mininumuLifespan);\r\n\r\n expect(spinner.isOpen).toEqual(false);\r\n expect(observer).toBeCalled();\r\n });\r\n\r\n it(\"Bases the lifespan on when it was opened\", () => {\r\n jest.useFakeTimers();\r\n const { spinner, observer } = makeTestRig();\r\n observer.mockClear();\r\n\r\n const mockTime = jest.fn();\r\n Date.now = mockTime;\r\n mockTime.mockReturnValue(2 * spinner.mininumuLifespan);\r\n\r\n expect(observer).not.toBeCalled();\r\n\r\n spinner.isOpen = true;\r\n observer.mockClear();\r\n\r\n mockTime.mockReturnValue(2.5 * spinner.mininumuLifespan);\r\n\r\n spinner.close();\r\n\r\n expect(spinner.isOpen).toEqual(true);\r\n expect(observer).not.toBeCalled();\r\n\r\n jest.advanceTimersByTime(0.5 * spinner.mininumuLifespan);\r\n\r\n expect(spinner.isOpen).toEqual(false);\r\n expect(observer).toBeCalled();\r\n });\r\n\r\n it(\"Disable outside dismiss\", () => {\r\n const { spinner } = makeTestRig();\r\n\r\n expect(spinner.preventOutsideDismiss).toEqual(true);\r\n });\r\n\r\n it(\"Sets the dialog type\", () => {\r\n const { spinner } = makeTestRig();\r\n\r\n expect(spinner.dialogType).toEqual(spinnerDialogType);\r\n });\r\n\r\n it(\"Notifies when the is open flag changes\", () => {\r\n const { spinner, observer } = makeTestRig();\r\n\r\n spinner.isOpen = true;\r\n\r\n observer.mockClear();\r\n\r\n spinner.isOpen = true;\r\n spinner.isOpen = true;\r\n spinner.isOpen = true;\r\n\r\n expect(observer).not.toBeCalled();\r\n\r\n spinner.isOpen = false;\r\n spinner.isOpen = false;\r\n spinner.isOpen = false;\r\n\r\n expect(observer).toBeCalledTimes(1);\r\n\r\n spinner.isOpen = true;\r\n spinner.isOpen = true;\r\n spinner.isOpen = true;\r\n\r\n expect(observer).toBeCalledTimes(2);\r\n });\r\n\r\n it(\"Warns if it cannot find the app object by ID when getting\", () => {\r\n const { appObjects } = makeTestRig();\r\n\r\n appObjects.submitWarning = jest.fn();\r\n\r\n SpinnerDialogEntity.get(\"unknownID\", appObjects);\r\n\r\n expect(appObjects.submitWarning).toBeCalled();\r\n });\r\n\r\n it(\"Warns if the App Object does not have the UC when getting\", () => {\r\n const { appObjects } = makeTestRig();\r\n\r\n appObjects.submitWarning = jest.fn();\r\n\r\n appObjects.getOrCreate(\"anAppObject\");\r\n SpinnerDialogEntity.get(\"anAppObject\", appObjects);\r\n\r\n expect(appObjects.submitWarning).toBeCalled();\r\n });\r\n\r\n it(\"Returns the UC when getting\", () => {\r\n const { appObjects, spinner } = makeTestRig();\r\n\r\n const returnedUC = SpinnerDialogEntity.get(\"dialog1\", appObjects);\r\n\r\n expect(returnedUC).toEqual(spinner);\r\n });\r\n});\r\n"]}
|
|
1
|
+
{"version":3,"file":"Spinner.test.js","sourceRoot":"","sources":["../../../../src/Dialog/Entities/Spinner.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport {\r\n SpinnerDialogEntity,\r\n spinnerDialogType,\r\n DialogSpinnerDTO\r\n} from \"./Spinner\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n const ao = appObjects.getOrCreate(\"dialog1\");\r\n\r\n const dto: DialogSpinnerDTO = {\r\n message: \"a message\",\r\n title: \"title\"\r\n };\r\n\r\n const spinner = new SpinnerDialogEntity(dto, ao);\r\n const observer = jest.fn();\r\n spinner.addChangeObserver(observer);\r\n\r\n return { spinner, observer, appObjects };\r\n}\r\n\r\ndescribe(\"Spinner Dialog\", () => {\r\n it(\"Notifies when the message changes\", () => {\r\n const { spinner, observer } = makeTestRig();\r\n\r\n spinner.message = \"A new message\";\r\n\r\n expect(spinner.message).toEqual(\"A new message\");\r\n expect(observer).toBeCalled();\r\n });\r\n\r\n it(\"Closes if it has been alive long enough\", () => {\r\n const { spinner, observer } = makeTestRig();\r\n\r\n const mockTime = jest.fn();\r\n Date.now = mockTime;\r\n mockTime.mockReturnValue(0);\r\n\r\n spinner.isOpen = true;\r\n observer.mockClear();\r\n\r\n mockTime.mockReturnValue(spinner.mininumuLifespan + 1);\r\n\r\n spinner.close();\r\n\r\n expect(spinner.isOpen).toEqual(false);\r\n expect(observer).toBeCalled();\r\n });\r\n\r\n it(\"Doesn't close until the min lifespan has passed\", () => {\r\n jest.useFakeTimers();\r\n const { spinner, observer } = makeTestRig();\r\n\r\n const mockTime = jest.fn();\r\n Date.now = mockTime;\r\n mockTime.mockReturnValue(0);\r\n\r\n spinner.isOpen = true;\r\n observer.mockClear();\r\n\r\n mockTime.mockReturnValue(0.5 * spinner.mininumuLifespan);\r\n\r\n spinner.close();\r\n\r\n expect(spinner.isOpen).toEqual(true);\r\n expect(observer).not.toBeCalled();\r\n\r\n jest.advanceTimersByTime(0.5 * spinner.mininumuLifespan);\r\n\r\n expect(spinner.isOpen).toEqual(false);\r\n expect(observer).toBeCalled();\r\n });\r\n\r\n it(\"Bases the lifespan on when it was opened\", () => {\r\n jest.useFakeTimers();\r\n const { spinner, observer } = makeTestRig();\r\n observer.mockClear();\r\n\r\n const mockTime = jest.fn();\r\n Date.now = mockTime;\r\n mockTime.mockReturnValue(2 * spinner.mininumuLifespan);\r\n\r\n expect(observer).not.toBeCalled();\r\n\r\n spinner.isOpen = true;\r\n observer.mockClear();\r\n\r\n mockTime.mockReturnValue(2.5 * spinner.mininumuLifespan);\r\n\r\n spinner.close();\r\n\r\n expect(spinner.isOpen).toEqual(true);\r\n expect(observer).not.toBeCalled();\r\n\r\n jest.advanceTimersByTime(0.5 * spinner.mininumuLifespan);\r\n\r\n expect(spinner.isOpen).toEqual(false);\r\n expect(observer).toBeCalled();\r\n });\r\n\r\n it(\"Disable outside dismiss\", () => {\r\n const { spinner } = makeTestRig();\r\n\r\n expect(spinner.preventOutsideDismiss).toEqual(true);\r\n });\r\n\r\n it(\"Sets the dialog type\", () => {\r\n const { spinner } = makeTestRig();\r\n\r\n expect(spinner.dialogType).toEqual(spinnerDialogType);\r\n });\r\n\r\n it(\"Notifies when the is open flag changes\", () => {\r\n const { spinner, observer } = makeTestRig();\r\n\r\n spinner.isOpen = true;\r\n\r\n observer.mockClear();\r\n\r\n spinner.isOpen = true;\r\n spinner.isOpen = true;\r\n spinner.isOpen = true;\r\n\r\n expect(observer).not.toBeCalled();\r\n\r\n spinner.isOpen = false;\r\n spinner.isOpen = false;\r\n spinner.isOpen = false;\r\n\r\n expect(observer).toBeCalledTimes(1);\r\n\r\n spinner.isOpen = true;\r\n spinner.isOpen = true;\r\n spinner.isOpen = true;\r\n\r\n expect(observer).toBeCalledTimes(2);\r\n });\r\n\r\n it(\"Warns if it cannot find the app object by ID when getting\", () => {\r\n const { appObjects } = makeTestRig();\r\n\r\n appObjects.submitWarning = jest.fn();\r\n\r\n SpinnerDialogEntity.get(\"unknownID\", appObjects);\r\n\r\n expect(appObjects.submitWarning).toBeCalled();\r\n });\r\n\r\n it(\"Warns if the App Object does not have the UC when getting\", () => {\r\n const { appObjects } = makeTestRig();\r\n\r\n appObjects.submitWarning = jest.fn();\r\n\r\n appObjects.getOrCreate(\"anAppObject\");\r\n SpinnerDialogEntity.get(\"anAppObject\", appObjects);\r\n\r\n expect(appObjects.submitWarning).toBeCalled();\r\n });\r\n\r\n it(\"Returns the UC when getting\", () => {\r\n const { appObjects, spinner } = makeTestRig();\r\n\r\n const returnedUC = SpinnerDialogEntity.get(\"dialog1\", appObjects);\r\n\r\n expect(returnedUC).toEqual(spinner);\r\n });\r\n\r\n it(\"Sets hasBeenClosed to true when close is called with no createdAt\", () => {\r\n const { spinner } = makeTestRig();\r\n spinner.close();\r\n expect(spinner.hasBeenClosed).toEqual(true);\r\n expect(spinner.isOpen).toEqual(false);\r\n });\r\n\r\n it(\"Sets hasBeenClosed to true when close is called (delayed close)\", () => {\r\n jest.useFakeTimers();\r\n const { spinner } = makeTestRig();\r\n spinner.isOpen = true; // sets createdAt\r\n spinner.close();\r\n expect(spinner.hasBeenClosed).toEqual(true);\r\n // spinner might still be open until timer expires\r\n jest.advanceTimersByTime(spinner.mininumuLifespan);\r\n expect(spinner.isOpen).toEqual(false);\r\n jest.useRealTimers();\r\n });\r\n});\r\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { makeGetAssetBlobURLHandler, makeGetAssetFolderURLHandler, makeGetAssetMetaHandler, makeGetLinkedAssetsHandler, makeGoToNextStateHandler, makeGoToPreviousStateHandler, makeHasNextStateHandler, makeHasPreviousStateHandler, makeIsZSpaceAvailableHandler, makeOnAppIsReadyHandler, makeOnStateChangeHandler, makeOnStateCompleteHandler, makeRegisterExternalStyleSheetsHandler, makeShowAlertHandler, makeShowConfirmHandler, makeShowMarkDownEditorHandler, makeShowSelectModelHandler, makeShowSpinnerHandler, makeStartZSpaceHandler, makeStopZSpaceHandler, makeSubmitLogHandler, makeSubmitResultHandler } from "./UCs";
|
|
1
|
+
import { makeGetAssetBlobURLHandler, makeGetAssetFolderURLHandler, makeGetAssetMetaHandler, makeGetLinkedAssetsHandler, makeGoToNextStateHandler, makeGoToPreviousStateHandler, makeHasNextStateHandler, makeHasPreviousStateHandler, makeIsZSpaceAvailableHandler, makeOnAppIsReadyHandler, makeOnStateChangeHandler, makeOnStateCompleteHandler, makeRegisterExternalStyleSheetsHandler, makeShowAlertHandler, makeShowConfirmHandler, makeShowMarkDownEditorHandler, makeShowSelectModelHandler, makeShowSpinnerHandler, makeStartZSpaceHandler, makeStopZSpaceHandler, makeSubmitActivityAssetHandler, makeSubmitLogHandler, makeSubmitResultHandler } from "./UCs";
|
|
2
2
|
export function setupStandardHostHandlers(appObject) {
|
|
3
3
|
makeGetAssetBlobURLHandler(appObject);
|
|
4
4
|
makeGetAssetFolderURLHandler(appObject);
|
|
@@ -20,6 +20,7 @@ export function setupStandardHostHandlers(appObject) {
|
|
|
20
20
|
makeShowSpinnerHandler(appObject);
|
|
21
21
|
makeStartZSpaceHandler(appObject);
|
|
22
22
|
makeStopZSpaceHandler(appObject);
|
|
23
|
+
makeSubmitActivityAssetHandler(appObject);
|
|
23
24
|
makeSubmitLogHandler(appObject);
|
|
24
25
|
makeSubmitResultHandler(appObject);
|
|
25
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setupStandardHostHandlers.js","sourceRoot":"","sources":["../../../src/Handler/setupStandardHostHandlers.ts"],"names":[],"mappings":"AACA,OAAO,EACL,0BAA0B,EAC1B,4BAA4B,EAC5B,uBAAuB,EACvB,0BAA0B,EAC1B,wBAAwB,EACxB,4BAA4B,EAC5B,uBAAuB,EACvB,2BAA2B,EAC3B,4BAA4B,EAC5B,uBAAuB,EACvB,wBAAwB,EACxB,0BAA0B,EAC1B,sCAAsC,EACtC,oBAAoB,EACpB,sBAAsB,EACtB,6BAA6B,EAC7B,0BAA0B,EAC1B,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACxB,MAAM,OAAO,CAAC;AAEf,MAAM,UAAU,yBAAyB,CAAC,SAAoB;IAC5D,0BAA0B,CAAC,SAAS,CAAC,CAAC;IACtC,4BAA4B,CAAC,SAAS,CAAC,CAAC;IACxC,uBAAuB,CAAC,SAAS,CAAC,CAAC;IACnC,0BAA0B,CAAC,SAAS,CAAC,CAAC;IACtC,wBAAwB,CAAC,SAAS,CAAC,CAAC;IACpC,4BAA4B,CAAC,SAAS,CAAC,CAAC;IACxC,uBAAuB,CAAC,SAAS,CAAC,CAAC;IACnC,2BAA2B,CAAC,SAAS,CAAC,CAAC;IACvC,4BAA4B,CAAC,SAAS,CAAC,CAAC;IACxC,uBAAuB,CAAC,SAAS,CAAC,CAAC;IACnC,wBAAwB,CAAC,SAAS,CAAC,CAAC;IACpC,0BAA0B,CAAC,SAAS,CAAC,CAAC;IACtC,sCAAsC,CAAC,SAAS,CAAC,CAAC;IAClD,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAChC,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAClC,6BAA6B,CAAC,SAAS,CAAC,CAAC;IACzC,0BAA0B,CAAC,SAAS,CAAC,CAAC;IACtC,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAClC,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAClC,qBAAqB,CAAC,SAAS,CAAC,CAAC;IACjC,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAChC,uBAAuB,CAAC,SAAS,CAAC,CAAC;AACrC,CAAC","sourcesContent":["import { AppObject } from \"@vived/core\";\r\nimport {\r\n makeGetAssetBlobURLHandler,\r\n makeGetAssetFolderURLHandler,\r\n makeGetAssetMetaHandler,\r\n makeGetLinkedAssetsHandler,\r\n makeGoToNextStateHandler,\r\n makeGoToPreviousStateHandler,\r\n makeHasNextStateHandler,\r\n makeHasPreviousStateHandler,\r\n makeIsZSpaceAvailableHandler,\r\n makeOnAppIsReadyHandler,\r\n makeOnStateChangeHandler,\r\n makeOnStateCompleteHandler,\r\n makeRegisterExternalStyleSheetsHandler,\r\n makeShowAlertHandler,\r\n makeShowConfirmHandler,\r\n makeShowMarkDownEditorHandler,\r\n makeShowSelectModelHandler,\r\n makeShowSpinnerHandler,\r\n makeStartZSpaceHandler,\r\n makeStopZSpaceHandler,\r\n makeSubmitLogHandler,\r\n makeSubmitResultHandler\r\n} from \"./UCs\";\r\n\r\nexport function setupStandardHostHandlers(appObject: AppObject) {\r\n makeGetAssetBlobURLHandler(appObject);\r\n makeGetAssetFolderURLHandler(appObject);\r\n makeGetAssetMetaHandler(appObject);\r\n makeGetLinkedAssetsHandler(appObject);\r\n makeGoToNextStateHandler(appObject);\r\n makeGoToPreviousStateHandler(appObject);\r\n makeHasNextStateHandler(appObject);\r\n makeHasPreviousStateHandler(appObject);\r\n makeIsZSpaceAvailableHandler(appObject);\r\n makeOnAppIsReadyHandler(appObject);\r\n makeOnStateChangeHandler(appObject);\r\n makeOnStateCompleteHandler(appObject);\r\n makeRegisterExternalStyleSheetsHandler(appObject);\r\n makeShowAlertHandler(appObject);\r\n makeShowConfirmHandler(appObject);\r\n makeShowMarkDownEditorHandler(appObject);\r\n makeShowSelectModelHandler(appObject);\r\n makeShowSpinnerHandler(appObject);\r\n makeStartZSpaceHandler(appObject);\r\n makeStopZSpaceHandler(appObject);\r\n makeSubmitLogHandler(appObject);\r\n makeSubmitResultHandler(appObject);\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"setupStandardHostHandlers.js","sourceRoot":"","sources":["../../../src/Handler/setupStandardHostHandlers.ts"],"names":[],"mappings":"AACA,OAAO,EACL,0BAA0B,EAC1B,4BAA4B,EAC5B,uBAAuB,EACvB,0BAA0B,EAC1B,wBAAwB,EACxB,4BAA4B,EAC5B,uBAAuB,EACvB,2BAA2B,EAC3B,4BAA4B,EAC5B,uBAAuB,EACvB,wBAAwB,EACxB,0BAA0B,EAC1B,sCAAsC,EACtC,oBAAoB,EACpB,sBAAsB,EACtB,6BAA6B,EAC7B,0BAA0B,EAC1B,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,8BAA8B,EAC9B,oBAAoB,EACpB,uBAAuB,EACxB,MAAM,OAAO,CAAC;AAEf,MAAM,UAAU,yBAAyB,CAAC,SAAoB;IAC5D,0BAA0B,CAAC,SAAS,CAAC,CAAC;IACtC,4BAA4B,CAAC,SAAS,CAAC,CAAC;IACxC,uBAAuB,CAAC,SAAS,CAAC,CAAC;IACnC,0BAA0B,CAAC,SAAS,CAAC,CAAC;IACtC,wBAAwB,CAAC,SAAS,CAAC,CAAC;IACpC,4BAA4B,CAAC,SAAS,CAAC,CAAC;IACxC,uBAAuB,CAAC,SAAS,CAAC,CAAC;IACnC,2BAA2B,CAAC,SAAS,CAAC,CAAC;IACvC,4BAA4B,CAAC,SAAS,CAAC,CAAC;IACxC,uBAAuB,CAAC,SAAS,CAAC,CAAC;IACnC,wBAAwB,CAAC,SAAS,CAAC,CAAC;IACpC,0BAA0B,CAAC,SAAS,CAAC,CAAC;IACtC,sCAAsC,CAAC,SAAS,CAAC,CAAC;IAClD,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAChC,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAClC,6BAA6B,CAAC,SAAS,CAAC,CAAC;IACzC,0BAA0B,CAAC,SAAS,CAAC,CAAC;IACtC,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAClC,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAClC,qBAAqB,CAAC,SAAS,CAAC,CAAC;IACjC,8BAA8B,CAAC,SAAS,CAAC,CAAC;IAC1C,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAChC,uBAAuB,CAAC,SAAS,CAAC,CAAC;AACrC,CAAC","sourcesContent":["import { AppObject } from \"@vived/core\";\r\nimport {\r\n makeGetAssetBlobURLHandler,\r\n makeGetAssetFolderURLHandler,\r\n makeGetAssetMetaHandler,\r\n makeGetLinkedAssetsHandler,\r\n makeGoToNextStateHandler,\r\n makeGoToPreviousStateHandler,\r\n makeHasNextStateHandler,\r\n makeHasPreviousStateHandler,\r\n makeIsZSpaceAvailableHandler,\r\n makeOnAppIsReadyHandler,\r\n makeOnStateChangeHandler,\r\n makeOnStateCompleteHandler,\r\n makeRegisterExternalStyleSheetsHandler,\r\n makeShowAlertHandler,\r\n makeShowConfirmHandler,\r\n makeShowMarkDownEditorHandler,\r\n makeShowSelectModelHandler,\r\n makeShowSpinnerHandler,\r\n makeStartZSpaceHandler,\r\n makeStopZSpaceHandler,\r\n makeSubmitActivityAssetHandler,\r\n makeSubmitLogHandler,\r\n makeSubmitResultHandler\r\n} from \"./UCs\";\r\n\r\nexport function setupStandardHostHandlers(appObject: AppObject) {\r\n makeGetAssetBlobURLHandler(appObject);\r\n makeGetAssetFolderURLHandler(appObject);\r\n makeGetAssetMetaHandler(appObject);\r\n makeGetLinkedAssetsHandler(appObject);\r\n makeGoToNextStateHandler(appObject);\r\n makeGoToPreviousStateHandler(appObject);\r\n makeHasNextStateHandler(appObject);\r\n makeHasPreviousStateHandler(appObject);\r\n makeIsZSpaceAvailableHandler(appObject);\r\n makeOnAppIsReadyHandler(appObject);\r\n makeOnStateChangeHandler(appObject);\r\n makeOnStateCompleteHandler(appObject);\r\n makeRegisterExternalStyleSheetsHandler(appObject);\r\n makeShowAlertHandler(appObject);\r\n makeShowConfirmHandler(appObject);\r\n makeShowMarkDownEditorHandler(appObject);\r\n makeShowSelectModelHandler(appObject);\r\n makeShowSpinnerHandler(appObject);\r\n makeStartZSpaceHandler(appObject);\r\n makeStopZSpaceHandler(appObject);\r\n makeSubmitActivityAssetHandler(appObject);\r\n makeSubmitLogHandler(appObject);\r\n makeSubmitResultHandler(appObject);\r\n}\r\n"]}
|
|
@@ -2,8 +2,7 @@ import { SignedAuthTokenUC } from "../UCs/SignedAuthTokenUC";
|
|
|
2
2
|
export class MockSignedAuthTokenUC extends SignedAuthTokenUC {
|
|
3
3
|
constructor(appObject) {
|
|
4
4
|
super(appObject, SignedAuthTokenUC.type);
|
|
5
|
-
this.
|
|
6
|
-
this.getUserAuthToken = jest.fn();
|
|
5
|
+
this.getAuthToken = jest.fn();
|
|
7
6
|
}
|
|
8
7
|
}
|
|
9
8
|
export function makeMockSignedAuthTokenUC(appObjects) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MockSignedAuthToken.js","sourceRoot":"","sources":["../../../../src/VivedAPI/Mocks/MockSignedAuthToken.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,MAAM,OAAO,qBAAsB,SAAQ,iBAAiB;
|
|
1
|
+
{"version":3,"file":"MockSignedAuthToken.js","sourceRoot":"","sources":["../../../../src/VivedAPI/Mocks/MockSignedAuthToken.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,MAAM,OAAO,qBAAsB,SAAQ,iBAAiB;IAG1D,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAH3C,iBAAY,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IAIzB,CAAC;CACF;AAED,MAAM,UAAU,yBAAyB,CAAC,UAAyB;IACjE,OAAO,IAAI,qBAAqB,CAC9B,UAAU,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAChD,CAAC;AACJ,CAAC","sourcesContent":["import { AppObject, AppObjectRepo } from \"@vived/core\";\r\nimport { SignedAuthTokenUC } from \"../UCs/SignedAuthTokenUC\";\r\n\r\nexport class MockSignedAuthTokenUC extends SignedAuthTokenUC {\r\n getAuthToken = jest.fn();\r\n\r\n constructor(appObject: AppObject) {\r\n super(appObject, SignedAuthTokenUC.type);\r\n }\r\n}\r\n\r\nexport function makeMockSignedAuthTokenUC(appObjects: AppObjectRepo) {\r\n return new MockSignedAuthTokenUC(\r\n appObjects.getOrCreate(\"MockSignedAuthTokenUC\")\r\n );\r\n}\r\n"]}
|
|
@@ -18,7 +18,7 @@ class DeleteAssetUCImp extends DeleteAssetOnAPIUC {
|
|
|
18
18
|
}
|
|
19
19
|
get getAuthToken() {
|
|
20
20
|
return this.getCachedSingleton(SignedAuthTokenUC.type)
|
|
21
|
-
?.
|
|
21
|
+
?.getAuthToken;
|
|
22
22
|
}
|
|
23
23
|
get vivedAPI() {
|
|
24
24
|
return this.getCachedSingleton(VivedAPIEntity.type);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeleteAssetOnAPIUC.js","sourceRoot":"","sources":["../../../../src/VivedAPI/UCs/DeleteAssetOnAPIUC.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EAGrB,WAAW,EACZ,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAsB,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,OAAgB,kBAAmB,SAAQ,WAAW;IAK1D,MAAM,CAAC,GAAG,CAAC,UAAyB;QAClC,OAAO,qBAAqB,CAAC,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACpE,CAAC;;AANM,uBAAI,GAAG,oBAAoB,CAAC;AASrC,MAAM,UAAU,sBAAsB,CACpC,SAAoB;IAEpB,OAAO,IAAI,gBAAgB,CAAC,SAAS,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,gBAAiB,SAAQ,kBAAkB;IAC/C,IAAY,aAAa;QACvB,OAAO,IAAI,CAAC,kBAAkB,CAAgB,aAAa,CAAC,IAAI,CAAC;YAC/D,EAAE,SAAS,CAAC;IAChB,CAAC;IAED,IAAY,YAAY;QACtB,OAAO,IAAI,CAAC,kBAAkB,CAAoB,iBAAiB,CAAC,IAAI,CAAC;YACvE,EAAE,
|
|
1
|
+
{"version":3,"file":"DeleteAssetOnAPIUC.js","sourceRoot":"","sources":["../../../../src/VivedAPI/UCs/DeleteAssetOnAPIUC.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EAGrB,WAAW,EACZ,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAsB,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,OAAgB,kBAAmB,SAAQ,WAAW;IAK1D,MAAM,CAAC,GAAG,CAAC,UAAyB;QAClC,OAAO,qBAAqB,CAAC,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACpE,CAAC;;AANM,uBAAI,GAAG,oBAAoB,CAAC;AASrC,MAAM,UAAU,sBAAsB,CACpC,SAAoB;IAEpB,OAAO,IAAI,gBAAgB,CAAC,SAAS,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,gBAAiB,SAAQ,kBAAkB;IAC/C,IAAY,aAAa;QACvB,OAAO,IAAI,CAAC,kBAAkB,CAAgB,aAAa,CAAC,IAAI,CAAC;YAC/D,EAAE,SAAS,CAAC;IAChB,CAAC;IAED,IAAY,YAAY;QACtB,OAAO,IAAI,CAAC,kBAAkB,CAAoB,iBAAiB,CAAC,IAAI,CAAC;YACvE,EAAE,YAAY,CAAC;IACnB,CAAC;IAED,IAAY,QAAQ;QAClB,OAAO,IAAI,CAAC,kBAAkB,CAAiB,cAAc,CAAC,IAAI,CAAC,CAAC;IACtE,CAAC;IAmCD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAlC5C,aAAQ,GAAG,CAAC,OAAe,EAAiB,EAAE;YAC5C,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,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,OAAO,EAAE,CAAC,CAAC;oBAE7D,MAAM,OAAO,GAAuB;wBAClC,MAAM,EAAE,QAAQ;wBAChB,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 abstract class DeleteAssetOnAPIUC extends AppObjectUC {\r\n static type = \"DeleteAssetOnAPIUC\";\r\n\r\n abstract doDelete(assetID: string): Promise<void>;\r\n\r\n static get(appObjects: AppObjectRepo): DeleteAssetOnAPIUC | undefined {\r\n return getSingletonComponent(DeleteAssetOnAPIUC.type, appObjects);\r\n }\r\n}\r\n\r\nexport function makeDeleteAssetOnAPIUC(\r\n appObject: AppObject\r\n): DeleteAssetOnAPIUC {\r\n return new DeleteAssetUCImp(appObject);\r\n}\r\n\r\nclass DeleteAssetUCImp extends DeleteAssetOnAPIUC {\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 doDelete = (assetID: string): 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 return new Promise((resolve, reject) => {\r\n getAuthToken()\r\n .then((token) => {\r\n const postURL = vivedAPI.getEndpointURL(`assets/${assetID}`);\r\n\r\n const options: RequestJSONOptions = {\r\n method: \"DELETE\",\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, DeleteAssetOnAPIUC.type);\r\n this.appObjects.registerSingleton(this);\r\n }\r\n}\r\n"]}
|
|
@@ -10,7 +10,7 @@ function makeTestRig() {
|
|
|
10
10
|
const mockJsonRequester = makeMockJsonRequestUC(appObjects);
|
|
11
11
|
mockJsonRequester.doRequest.mockResolvedValue({});
|
|
12
12
|
const mockAuth = makeMockSignedAuthTokenUC(appObjects);
|
|
13
|
-
mockAuth.
|
|
13
|
+
mockAuth.getAuthToken.mockResolvedValue("mockAuthToken");
|
|
14
14
|
const uc = makeDeleteAssetOnAPIUC(appObjects.getOrCreate("ao"));
|
|
15
15
|
return {
|
|
16
16
|
uc,
|
|
@@ -57,7 +57,7 @@ describe("Patch Asset Is Archived UC", () => {
|
|
|
57
57
|
});
|
|
58
58
|
it("Rejects if the get auth token fails", () => {
|
|
59
59
|
const { uc, mockAuth } = makeTestRig();
|
|
60
|
-
mockAuth.
|
|
60
|
+
mockAuth.getAuthToken.mockRejectedValue(new Error("Some Auth token error Error"));
|
|
61
61
|
return expect(uc.doDelete("asset1")).rejects.toEqual(new Error("Some Auth token error Error"));
|
|
62
62
|
});
|
|
63
63
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeleteAssetOnAPIUC.test.js","sourceRoot":"","sources":["../../../../src/VivedAPI/UCs/DeleteAssetOnAPIUC.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAEzE,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IACvC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;IAEjE,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAEnE,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAC5D,iBAAiB,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;IAElD,MAAM,QAAQ,GAAG,yBAAyB,CAAC,UAAU,CAAC,CAAC;IACvD,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"DeleteAssetOnAPIUC.test.js","sourceRoot":"","sources":["../../../../src/VivedAPI/UCs/DeleteAssetOnAPIUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { 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 makeDeleteAssetOnAPIUC,\r\n DeleteAssetOnAPIUC\r\n} from \"./DeleteAssetOnAPIUC\";\r\nimport { makeAppObjectRepo } from \"@vived/core\";\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 = makeDeleteAssetOnAPIUC(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(DeleteAssetOnAPIUC.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.doDelete(\"asset1\")).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.doDelete(\"asset1\")).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.doDelete(\"asset1\");\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.doDelete(\"asset1\");\r\n\r\n const postURL = mockJsonRequester.doRequest.mock\r\n .calls[0][1] as RequestJSONOptions;\r\n expect(postURL.method).toEqual(\"DELETE\");\r\n expect(postURL.headers).toEqual({\r\n Authorization: \"Bearer mockAuthToken\"\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.doDelete(\"asset1\")).rejects.toEqual(\r\n new Error(\"Some Auth token error Error\")\r\n );\r\n });\r\n});\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GetAppFromAPIUC.js","sourceRoot":"","sources":["../../../../src/VivedAPI/UCs/GetAppFromAPIUC.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EAGrB,WAAW,EACZ,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAsB,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAQxD,MAAM,OAAgB,eAAgB,SAAQ,WAAW;IAKvD,MAAM,CAAC,GAAG,CAAC,UAAyB;QAClC,OAAO,qBAAqB,CAAC,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACjE,CAAC;;AANM,oBAAI,GAAG,iBAAiB,CAAC;AASlC,MAAM,UAAU,mBAAmB,CAAC,SAAoB;IACtD,OAAO,IAAI,WAAW,CAAC,SAAS,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,WAAY,SAAQ,eAAe;IACvC,IAAY,aAAa;QACvB,OAAO,IAAI,CAAC,kBAAkB,CAAgB,aAAa,CAAC,IAAI,CAAC;YAC/D,EAAE,SAAS,CAAC;IAChB,CAAC;IAED,IAAY,YAAY;QACtB,OAAO,IAAI,CAAC,kBAAkB,CAAoB,iBAAiB,CAAC,IAAI,CAAC;YACvE,EAAE,
|
|
1
|
+
{"version":3,"file":"GetAppFromAPIUC.js","sourceRoot":"","sources":["../../../../src/VivedAPI/UCs/GetAppFromAPIUC.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EAGrB,WAAW,EACZ,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAsB,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAQxD,MAAM,OAAgB,eAAgB,SAAQ,WAAW;IAKvD,MAAM,CAAC,GAAG,CAAC,UAAyB;QAClC,OAAO,qBAAqB,CAAC,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACjE,CAAC;;AANM,oBAAI,GAAG,iBAAiB,CAAC;AASlC,MAAM,UAAU,mBAAmB,CAAC,SAAoB;IACtD,OAAO,IAAI,WAAW,CAAC,SAAS,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,WAAY,SAAQ,eAAe;IACvC,IAAY,aAAa;QACvB,OAAO,IAAI,CAAC,kBAAkB,CAAgB,aAAa,CAAC,IAAI,CAAC;YAC/D,EAAE,SAAS,CAAC;IAChB,CAAC;IAED,IAAY,YAAY;QACtB,OAAO,IAAI,CAAC,kBAAkB,CAAoB,iBAAiB,CAAC,IAAI,CAAC;YACvE,EAAE,YAAY,CAAC;IACnB,CAAC;IAED,IAAY,QAAQ;QAClB,OAAO,IAAI,CAAC,kBAAkB,CAAiB,cAAc,CAAC,IAAI,CAAC,CAAC;IACtE,CAAC;IA8CD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;QA7CzC,WAAM,GAAG,CAAC,KAAa,EAAE,OAAe,EAA8B,EAAE;YACtE,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,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACrC,YAAY,EAAE;qBACX,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;oBACd,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CACzC,QAAQ,KAAK,IAAI,OAAO,EAAE,CAC3B,CAAC;oBACF,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;oBAEtD,MAAM,OAAO,GAAuB;wBAClC,MAAM,EAAE,KAAK;wBACb,OAAO,EAAE;4BACP,aAAa,EAAE,SAAS,GAAG,KAAK;yBACjC;qBACF,CAAC;oBAEF,OAAO,aAAa,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;gBAC7C,CAAC,CAAC;qBACD,IAAI,CAAC,CAAC,IAAoB,EAAE,EAAE;oBAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;oBAErB,MAAM,MAAM,GAAsB;wBAChC,gBAAgB,EAAE,GAAG,CAAC,mBAAmB;wBACzC,cAAc,EAAE,GAAG,CAAC,aAAa;wBACjC,WAAW,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC;qBAC5B,CAAC;oBAEF,OAAO,CAAC,MAAM,CAAC,CAAC;gBAClB,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 GetAppResponseDTO {\r\n interfaceVersion: string;\r\n assetFolderURL: string;\r\n entrypoints: string[];\r\n}\r\n\r\nexport abstract class GetAppFromAPIUC extends AppObjectUC {\r\n static type = \"GetAppFromAPIUC\";\r\n\r\n abstract getApp(appID: string, version: string): Promise<GetAppResponseDTO>;\r\n\r\n static get(appObjects: AppObjectRepo): GetAppFromAPIUC | undefined {\r\n return getSingletonComponent(GetAppFromAPIUC.type, appObjects);\r\n }\r\n}\r\n\r\nexport function makeGetAppFromAPIUC(appObject: AppObject): GetAppFromAPIUC {\r\n return new GetAppUCImp(appObject);\r\n}\r\n\r\nclass GetAppUCImp extends GetAppFromAPIUC {\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 getApp = (appID: string, version: string): Promise<GetAppResponseDTO> => {\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 return new Promise((resolve, reject) => {\r\n getAuthToken()\r\n .then((token) => {\r\n const endpointURL = vivedAPI.getEndpointURL(\r\n `apps/${appID}/${version}`\r\n );\r\n endpointURL.searchParams.set(\"function_version\", \"2\");\r\n\r\n const options: RequestJSONOptions = {\r\n method: \"GET\",\r\n headers: {\r\n Authorization: \"Bearer \" + token\r\n }\r\n };\r\n\r\n return jsonRequester(endpointURL, options);\r\n })\r\n .then((resp: GetAppResponse) => {\r\n const app = resp.app;\r\n\r\n const appDTO: GetAppResponseDTO = {\r\n interfaceVersion: app.appInterfaceVersion,\r\n assetFolderURL: app.baseAssetsUrl,\r\n entrypoints: [...app.files]\r\n };\r\n\r\n resolve(appDTO);\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, GetAppFromAPIUC.type);\r\n this.appObjects.registerSingleton(this);\r\n }\r\n}\r\n\r\nexport interface GetAppResponse {\r\n app: App;\r\n}\r\n\r\nexport interface App {\r\n PK: string;\r\n SK: string;\r\n title?: string;\r\n description?: string;\r\n image?: string;\r\n versions: string[];\r\n files: string[];\r\n mount_app: string;\r\n mount_name: string;\r\n appInterfaceVersion: string;\r\n baseAssetsUrl: string;\r\n}\r\n"]}
|
|
@@ -16,7 +16,7 @@ function makeTestRig() {
|
|
|
16
16
|
}
|
|
17
17
|
});
|
|
18
18
|
const mockAuth = makeMockSignedAuthTokenUC(appObjects);
|
|
19
|
-
mockAuth.
|
|
19
|
+
mockAuth.getAuthToken.mockResolvedValue("mockAuthToken");
|
|
20
20
|
const uc = makeGetAppFromAPIUC(appObjects.getOrCreate("ao"));
|
|
21
21
|
return {
|
|
22
22
|
uc,
|
|
@@ -68,7 +68,7 @@ describe("Patch Asset Is Archived UC", () => {
|
|
|
68
68
|
});
|
|
69
69
|
it("Rejects if the get auth token fails", () => {
|
|
70
70
|
const { uc, mockAuth } = makeTestRig();
|
|
71
|
-
mockAuth.
|
|
71
|
+
mockAuth.getAuthToken.mockRejectedValue(new Error("Some Auth token error Error"));
|
|
72
72
|
return expect(uc.getApp("app1", "1.2.3")).rejects.toEqual(new Error("Some Auth token error Error"));
|
|
73
73
|
});
|
|
74
74
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GetAppFromAPIUC.test.js","sourceRoot":"","sources":["../../../../src/VivedAPI/UCs/GetAppFromAPIUC.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAEzE,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IACvC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;IAEjE,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAEnE,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAC5D,iBAAiB,CAAC,SAAS,CAAC,iBAAiB,CAAC;QAC5C,GAAG,EAAE;YACH,mBAAmB,EAAE,OAAO;YAC5B,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;YAC3B,aAAa,EAAE,eAAe;SAC/B;KACF,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,yBAAyB,CAAC,UAAU,CAAC,CAAC;IACvD,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"GetAppFromAPIUC.test.js","sourceRoot":"","sources":["../../../../src/VivedAPI/UCs/GetAppFromAPIUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { VivedAPIEntity } from \"../Entities/VivedAPIEntity\";\r\nimport { makeMockJsonRequestUC } from \"../Mocks/MockJsonRequestUC\";\r\nimport { makeMockSignedAuthTokenUC } from \"../Mocks/MockSignedAuthToken\";\r\nimport { RequestJSONOptions } from \"./JsonRequestUC\";\r\nimport { makeGetAppFromAPIUC, GetAppFromAPIUC } from \"./GetAppFromAPIUC\";\r\nimport { makeAppObjectRepo } from \"@vived/core\";\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 app: {\r\n appInterfaceVersion: \"1.2.3\",\r\n files: [\"file.1\", \"file.2\"],\r\n baseAssetsUrl: \"url.to.assets\"\r\n }\r\n });\r\n\r\n const mockAuth = makeMockSignedAuthTokenUC(appObjects);\r\n mockAuth.getAuthToken.mockResolvedValue(\"mockAuthToken\");\r\n\r\n const uc = makeGetAppFromAPIUC(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(GetAppFromAPIUC.get(appObjects)).toEqual(uc);\r\n });\r\n\r\n it(\"Resolves\", async () => {\r\n const { uc } = makeTestRig();\r\n\r\n const appDTO = await uc.getApp(\"app1\", \"1.2.3\");\r\n\r\n expect(appDTO).toEqual({\r\n interfaceVersion: \"1.2.3\",\r\n assetFolderURL: \"url.to.assets\",\r\n entrypoints: [\"file.1\", \"file.2\"]\r\n });\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.getApp(\"app1\", \"1.2.3\")).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.getApp(\"app1\", \"1.2.3\");\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/apps/app1/1.2.3?function_version=2\"\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.getApp(\"app1\", \"1.2.3\");\r\n\r\n const postURL = mockJsonRequester.doRequest.mock\r\n .calls[0][1] as RequestJSONOptions;\r\n expect(postURL.method).toEqual(\"GET\");\r\n expect(postURL.headers).toEqual({\r\n Authorization: \"Bearer mockAuthToken\"\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.getApp(\"app1\", \"1.2.3\")).rejects.toEqual(\r\n new Error(\"Some Auth token error Error\")\r\n );\r\n });\r\n});\r\n"]}
|
|
@@ -18,7 +18,7 @@ class GetAssetsForOwnerUCImp extends GetAssetsForOwnerFromAPIUC {
|
|
|
18
18
|
}
|
|
19
19
|
get getAuthToken() {
|
|
20
20
|
return this.getCachedSingleton(SignedAuthTokenUC.type)
|
|
21
|
-
?.
|
|
21
|
+
?.getAuthToken;
|
|
22
22
|
}
|
|
23
23
|
get vivedAPI() {
|
|
24
24
|
return this.getCachedSingleton(VivedAPIEntity.type);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GetAssetsForOwnerFromAPIUC.js","sourceRoot":"","sources":["../../../../src/VivedAPI/UCs/GetAssetsForOwnerFromAPIUC.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EAGrB,WAAW,EACZ,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAsB,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,OAAgB,0BAA2B,SAAQ,WAAW;IAKlE,MAAM,CAAC,GAAG,CACR,UAAyB;QAEzB,OAAO,qBAAqB,CAAC,0BAA0B,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC5E,CAAC;;AARM,+BAAI,GAAG,4BAA4B,CAAC;AAW7C,MAAM,UAAU,8BAA8B,CAC5C,SAAoB;IAEpB,OAAO,IAAI,sBAAsB,CAAC,SAAS,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,sBAAuB,SAAQ,0BAA0B;IAC7D,IAAY,aAAa;QACvB,OAAO,IAAI,CAAC,kBAAkB,CAAgB,aAAa,CAAC,IAAI,CAAC;YAC/D,EAAE,SAAS,CAAC;IAChB,CAAC;IAED,IAAY,YAAY;QACtB,OAAO,IAAI,CAAC,kBAAkB,CAAoB,iBAAiB,CAAC,IAAI,CAAC;YACvE,EAAE,
|
|
1
|
+
{"version":3,"file":"GetAssetsForOwnerFromAPIUC.js","sourceRoot":"","sources":["../../../../src/VivedAPI/UCs/GetAssetsForOwnerFromAPIUC.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EAGrB,WAAW,EACZ,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAsB,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,OAAgB,0BAA2B,SAAQ,WAAW;IAKlE,MAAM,CAAC,GAAG,CACR,UAAyB;QAEzB,OAAO,qBAAqB,CAAC,0BAA0B,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC5E,CAAC;;AARM,+BAAI,GAAG,4BAA4B,CAAC;AAW7C,MAAM,UAAU,8BAA8B,CAC5C,SAAoB;IAEpB,OAAO,IAAI,sBAAsB,CAAC,SAAS,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,sBAAuB,SAAQ,0BAA0B;IAC7D,IAAY,aAAa;QACvB,OAAO,IAAI,CAAC,kBAAkB,CAAgB,aAAa,CAAC,IAAI,CAAC;YAC/D,EAAE,SAAS,CAAC;IAChB,CAAC;IAED,IAAY,YAAY;QACtB,OAAO,IAAI,CAAC,kBAAkB,CAAoB,iBAAiB,CAAC,IAAI,CAAC;YACvE,EAAE,YAAY,CAAC;IACnB,CAAC;IAED,IAAY,QAAQ;QAClB,OAAO,IAAI,CAAC,kBAAkB,CAAiB,cAAc,CAAC,IAAI,CAAC,CAAC;IACtE,CAAC;IAwCO,aAAa,CAAC,IAAmB;QACvC,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,eAAe,EAAE,EAAE;YAC7D,OAAO;gBACL,IAAI,EAAE,eAAe,CAAC,IAAI;gBAC1B,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC;aACjD,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,GAAG,GAAa;YACpB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,YAAY;YACZ,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC;QAEF,OAAO,GAAG,CAAC;IACb,CAAC;IAED,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,0BAA0B,CAAC,IAAI,CAAC,CAAC;QA7DpD,cAAS,GAAG,CAAC,OAAe,EAAuB,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,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACrC,YAAY,EAAE;qBACX,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;oBACd,MAAM,GAAG,GAAG,QAAQ,CAAC,cAAc,CAAC,gBAAgB,OAAO,EAAE,CAAC,CAAC;oBAC/D,MAAM,IAAI,GAAG,CAAC,CAAC;oBACf,MAAM,YAAY,GAAG,GAAG,CAAC;oBACzB,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACjD,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,cAAc,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;oBAEjE,MAAM,OAAO,GAAuB;wBAClC,MAAM,EAAE,KAAK;qBACd,CAAC;oBAEF,OAAO,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBACrC,CAAC,CAAC;qBACD,IAAI,CAAC,CAAC,IAAa,EAAE,EAAE;oBACtB,MAAM,WAAW,GAAe,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;wBACxD,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACnC,CAAC,CAAC,CAAC;oBAEH,OAAO,CAAC,WAAW,CAAC,CAAC;gBACvB,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;QA0BA,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 { AssetDTO } from \"../../Assets\";\r\nimport { VivedAPIEntity } from \"../Entities/VivedAPIEntity\";\r\nimport { JsonRequestUC, RequestJSONOptions } from \"./JsonRequestUC\";\r\nimport { SignedAuthTokenUC } from \"./SignedAuthTokenUC\";\r\n\r\nexport abstract class GetAssetsForOwnerFromAPIUC extends AppObjectUC {\r\n static type = \"GetAssetsForOwnerFromAPIUC\";\r\n\r\n abstract getAssets(ownerID: string): Promise<AssetDTO[]>;\r\n\r\n static get(\r\n appObjects: AppObjectRepo\r\n ): GetAssetsForOwnerFromAPIUC | undefined {\r\n return getSingletonComponent(GetAssetsForOwnerFromAPIUC.type, appObjects);\r\n }\r\n}\r\n\r\nexport function makeGetAssetsForOwnerFromAPIUC(\r\n appObject: AppObject\r\n): GetAssetsForOwnerFromAPIUC {\r\n return new GetAssetsForOwnerUCImp(appObject);\r\n}\r\n\r\nclass GetAssetsForOwnerUCImp extends GetAssetsForOwnerFromAPIUC {\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 getAssets = (ownerID: string): Promise<AssetDTO[]> => {\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 return new Promise((resolve, reject) => {\r\n getAuthToken()\r\n .then((token) => {\r\n const url = vivedAPI.getEndpointURL(`assets/group/${ownerID}`);\r\n const page = 1;\r\n const itemsPerPage = 100;\r\n url.searchParams.append(\"page\", page.toString());\r\n url.searchParams.append(\"itemsPerPage\", itemsPerPage.toString());\r\n\r\n const options: RequestJSONOptions = {\r\n method: \"GET\"\r\n };\r\n\r\n return jsonRequester(url, options);\r\n })\r\n .then((resp: APIResp) => {\r\n const ownerAssets: AssetDTO[] = resp.assets.map((asset) => {\r\n return this.responseToDTO(asset);\r\n });\r\n\r\n resolve(ownerAssets);\r\n })\r\n .catch((e) => {\r\n reject(e);\r\n return;\r\n });\r\n });\r\n };\r\n\r\n private responseToDTO(resp: BaseAssetResp): AssetDTO {\r\n const linkedAssets = resp.linkedAssets.map((linkedAssetResp) => {\r\n return {\r\n type: linkedAssetResp.type,\r\n asset: this.responseToDTO(linkedAssetResp.asset)\r\n };\r\n });\r\n\r\n const dto: AssetDTO = {\r\n archived: resp.archived,\r\n description: resp.description,\r\n fileURL: resp.fileURL,\r\n filename: resp.filename,\r\n id: resp.id,\r\n name: resp.name,\r\n linkedAssets,\r\n ownerId: resp.ownerId\r\n };\r\n\r\n return dto;\r\n }\r\n\r\n constructor(appObject: AppObject) {\r\n super(appObject, GetAssetsForOwnerFromAPIUC.type);\r\n this.appObjects.registerSingleton(this);\r\n }\r\n}\r\n\r\ninterface APIResp {\r\n assets: BaseAssetResp[];\r\n}\r\n\r\ninterface BaseAssetResp {\r\n id: string;\r\n ownerId: string;\r\n name: string;\r\n description: string;\r\n archived: boolean;\r\n fileURL: string;\r\n filename: string;\r\n linkedAssets: { type: string; asset: BaseAssetResp }[];\r\n}\r\n"]}
|
|
@@ -10,7 +10,7 @@ function makeTestRig() {
|
|
|
10
10
|
const mockJsonRequester = makeMockJsonRequestUC(appObjects);
|
|
11
11
|
mockJsonRequester.doRequest.mockResolvedValue(makeMockResp());
|
|
12
12
|
const mockAuth = makeMockSignedAuthTokenUC(appObjects);
|
|
13
|
-
mockAuth.
|
|
13
|
+
mockAuth.getAuthToken.mockResolvedValue("mockAuthToken");
|
|
14
14
|
const uc = makeGetAssetsForOwnerFromAPIUC(appObjects.getOrCreate("ao"));
|
|
15
15
|
return {
|
|
16
16
|
uc,
|
|
@@ -69,7 +69,7 @@ describe("Get Assets for Owner UC", () => {
|
|
|
69
69
|
});
|
|
70
70
|
it("Rejects if the get auth token fails", () => {
|
|
71
71
|
const { uc, mockAuth } = makeTestRig();
|
|
72
|
-
mockAuth.
|
|
72
|
+
mockAuth.getAuthToken.mockRejectedValue(new Error("Some Auth token error Error"));
|
|
73
73
|
return expect(uc.getAssets("owner")).rejects.toEqual(new Error("Some Auth token error Error"));
|
|
74
74
|
});
|
|
75
75
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GetAssetsForOwnerFromAPIUC.test.js","sourceRoot":"","sources":["../../../../src/VivedAPI/UCs/GetAssetsForOwnerFromAPIUC.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAEzE,OAAO,EACL,8BAA8B,EAC9B,0BAA0B,EAC3B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IACvC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;IAEjE,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAEnE,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAC5D,iBAAiB,CAAC,SAAS,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC,CAAC;IAE9D,MAAM,QAAQ,GAAG,yBAAyB,CAAC,UAAU,CAAC,CAAC;IACvD,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"GetAssetsForOwnerFromAPIUC.test.js","sourceRoot":"","sources":["../../../../src/VivedAPI/UCs/GetAssetsForOwnerFromAPIUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { 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 makeGetAssetsForOwnerFromAPIUC,\r\n GetAssetsForOwnerFromAPIUC\r\n} from \"./GetAssetsForOwnerFromAPIUC\";\r\nimport { makeAppObjectRepo } from \"@vived/core\";\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(makeMockResp());\r\n\r\n const mockAuth = makeMockSignedAuthTokenUC(appObjects);\r\n mockAuth.getAuthToken.mockResolvedValue(\"mockAuthToken\");\r\n\r\n const uc = makeGetAssetsForOwnerFromAPIUC(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(\"Get Assets for Owner 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(GetAssetsForOwnerFromAPIUC.get(appObjects)).toEqual(uc);\r\n });\r\n\r\n it(\"Resolves\", async () => {\r\n const { uc } = makeTestRig();\r\n\r\n const assets = await uc.getAssets(\"owner\");\r\n\r\n expect(assets).toHaveLength(2);\r\n });\r\n\r\n it(\"Forms the DTO as expected\", async () => {\r\n const { uc } = makeTestRig();\r\n\r\n const assets = await uc.getAssets(\"owner\");\r\n\r\n const asset1 = assets[0];\r\n\r\n expect(asset1.id).toEqual(\"asset1\");\r\n expect(asset1.ownerId).toEqual(\"asset1 Owner\");\r\n expect(asset1.archived).toEqual(false);\r\n expect(asset1.description).toEqual(\"asset1 Description\");\r\n expect(asset1.fileURL).toEqual(\"www.asset1.com\");\r\n expect(asset1.filename).toEqual(\"asset1_file.name\");\r\n\r\n expect(asset1.linkedAssets).toHaveLength(2);\r\n\r\n expect(asset1.linkedAssets[0].type).toEqual(\"someLinkType\");\r\n expect(asset1.linkedAssets[0].asset.id).toEqual(\"linkedAsset1\");\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.getAssets(\"owner\")).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.getAssets(\"owner\");\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/group/owner?page=1&itemsPerPage=100\"\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.getAssets(\"owner\");\r\n\r\n const postURL = mockJsonRequester.doRequest.mock\r\n .calls[0][1] as RequestJSONOptions;\r\n expect(postURL.method).toEqual(\"GET\");\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.getAssets(\"owner\")).rejects.toEqual(\r\n new Error(\"Some Auth token error Error\")\r\n );\r\n });\r\n});\r\n\r\nfunction makeMockResp() {\r\n const asset1 = makeBaseAssetResp(\"asset1\");\r\n const asset2 = makeBaseAssetResp(\"asset2\");\r\n\r\n (asset1.linkedAssets as any) = [\r\n { type: \"someLinkType\", asset: makeBaseAssetResp(\"linkedAsset1\") },\r\n { type: \"someOtherLink\", asset: makeBaseAssetResp(\"linkedAsset2\") }\r\n ];\r\n\r\n return { assets: [asset1, asset2] };\r\n}\r\n\r\nfunction makeBaseAssetResp(id: string) {\r\n return {\r\n id,\r\n ownerId: `${id} Owner`,\r\n name: `${id} Name`,\r\n description: `${id} Description`,\r\n archived: false,\r\n fileURL: `www.${id}.com`,\r\n filename: `${id}_file.name`,\r\n linkedAssets: []\r\n };\r\n}\r\n"]}
|
|
@@ -20,7 +20,7 @@ class PatchAssetFileUCImp extends PatchAssetFileUC {
|
|
|
20
20
|
}
|
|
21
21
|
get getAuthToken() {
|
|
22
22
|
return this.getCachedSingleton(SignedAuthTokenUC.type)
|
|
23
|
-
?.
|
|
23
|
+
?.getAuthToken;
|
|
24
24
|
}
|
|
25
25
|
get fileUpload() {
|
|
26
26
|
return this.getCachedSingleton(FileUploadUC.type)?.doUpload;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PatchAssetFileUC.js","sourceRoot":"","sources":["../../../../src/VivedAPI/UCs/PatchAssetFileUC.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EAGrB,WAAW,EACZ,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAsB,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,OAAgB,gBAAiB,SAAQ,WAAW;IAKxD,MAAM,CAAC,GAAG,CAAC,UAAyB;QAClC,OAAO,qBAAqB,CAAC,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAClE,CAAC;;AANM,qBAAI,GAAG,kBAAkB,CAAC;AASnC,MAAM,UAAU,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,aAAa,CAAC,IAAI,CAAC;YAC/D,EAAE,SAAS,CAAC;IAChB,CAAC;IAED,IAAY,YAAY;QACtB,OAAO,IAAI,CAAC,kBAAkB,CAAoB,iBAAiB,CAAC,IAAI,CAAC;YACvE,EAAE,
|
|
1
|
+
{"version":3,"file":"PatchAssetFileUC.js","sourceRoot":"","sources":["../../../../src/VivedAPI/UCs/PatchAssetFileUC.ts"],"names":[],"mappings":"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","sourcesContent":["import {\r\n getSingletonComponent,\r\n AppObject,\r\n AppObjectRepo,\r\n AppObjectUC\r\n} from \"@vived/core\";\r\nimport { generateUniqueID } 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 abstract class PatchAssetFileUC extends AppObjectUC {\r\n static type = \"PatchAssetFileUC\";\r\n\r\n abstract doPatch(assetId: string, file: File): Promise<string>;\r\n\r\n static get(appObjects: AppObjectRepo): PatchAssetFileUC | undefined {\r\n return getSingletonComponent(PatchAssetFileUC.type, appObjects);\r\n }\r\n}\r\n\r\nexport function makePatchAssetFileUC(appObject: AppObject): PatchAssetFileUC {\r\n return new PatchAssetFileUCImp(appObject);\r\n}\r\n\r\nclass PatchAssetFileUCImp extends PatchAssetFileUC {\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 = (assetId: string, file: File): Promise<string> => {\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 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/${assetId}`);\r\n const body = {\r\n filename\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(filename);\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, PatchAssetFileUC.type);\r\n this.appObjects.registerSingleton(this);\r\n }\r\n}\r\n"]}
|
|
@@ -11,7 +11,7 @@ function makeTestRig() {
|
|
|
11
11
|
const mockJsonRequester = makeMockJsonRequestUC(appObjects);
|
|
12
12
|
mockJsonRequester.doRequest.mockResolvedValue({});
|
|
13
13
|
const mockAuth = makeMockSignedAuthTokenUC(appObjects);
|
|
14
|
-
mockAuth.
|
|
14
|
+
mockAuth.getAuthToken.mockResolvedValue("mockAuthToken");
|
|
15
15
|
const mockFileUpload = makeMockFileUploadUC(appObjects);
|
|
16
16
|
const uc = makePatchAssetFileUC(appObjects.getOrCreate("ao"));
|
|
17
17
|
return {
|
|
@@ -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", new File([], "some.filename"))).rejects.toEqual(new Error("Some Auth token error Error"));
|
|
67
67
|
});
|
|
68
68
|
it("Rejects if the file upload fails", () => {
|