@vived/app 5.2.0 → 5.3.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/Babylon/Mocks/MockBabylonRenderingUC.js +3 -3
- package/dist/cjs/Babylon/Mocks/MockBabylonRenderingUC.js.map +1 -1
- package/dist/cjs/Babylon/Mocks/MockPixelToSceneRayUC.js +1 -1
- package/dist/cjs/Babylon/Mocks/MockPixelToSceneRayUC.js.map +1 -1
- package/dist/cjs/Babylon/Mocks/MockScenePixelPickUC.js +1 -1
- package/dist/cjs/Babylon/Mocks/MockScenePixelPickUC.js.map +1 -1
- package/dist/cjs/Babylon/Mocks/MockSceneRayPickUC.js +1 -3
- package/dist/cjs/Babylon/Mocks/MockSceneRayPickUC.js.map +1 -1
- package/dist/cjs/Babylon/Mocks/ShowBabylonInspectorPmMock.js +1 -1
- package/dist/cjs/Babylon/Mocks/ShowBabylonInspectorPmMock.js.map +1 -1
- package/dist/cjs/Babylon/UC/PixelToSceneRayUC.test.js +2 -0
- package/dist/cjs/Babylon/UC/PixelToSceneRayUC.test.js.map +1 -1
- package/dist/cjs/Babylon/UC/ScenePixelPickUC.test.js +2 -0
- package/dist/cjs/Babylon/UC/ScenePixelPickUC.test.js.map +1 -1
- package/dist/cjs/BaseApp/UC/RenderCanvasUC.test.js +3 -0
- package/dist/cjs/BaseApp/UC/RenderCanvasUC.test.js.map +1 -1
- package/dist/cjs/Callouts/UC/TryAddCallout.test.js +1 -0
- package/dist/cjs/Callouts/UC/TryAddCallout.test.js.map +1 -1
- package/dist/cjs/Hideable/UCs/TryHideWithPickUC.test.js +3 -1
- package/dist/cjs/Hideable/UCs/TryHideWithPickUC.test.js.map +1 -1
- package/dist/cjs/HoverLabel/UseCases/TryShowHoverLabel.test.js +9 -3
- package/dist/cjs/HoverLabel/UseCases/TryShowHoverLabel.test.js.map +1 -1
- package/dist/cjs/LabelDrop/Controller/TouchLabelDropAuthor.test.js +4 -1
- package/dist/cjs/LabelDrop/Controller/TouchLabelDropAuthor.test.js.map +1 -1
- package/dist/cjs/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.test.js +5 -2
- package/dist/cjs/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.test.js.map +1 -1
- package/dist/cjs/LabelDrop/UseCases/ToggleLabelDropTargetUC.test.js +1 -0
- package/dist/cjs/LabelDrop/UseCases/ToggleLabelDropTargetUC.test.js.map +1 -1
- package/dist/cjs/ObjectPick/UseCases/TrySelectObjectPickUC.test.js +1 -0
- package/dist/cjs/ObjectPick/UseCases/TrySelectObjectPickUC.test.js.map +1 -1
- package/dist/cjs/ObjectPick/UseCases/TrySubmitObjectPickUC.test.js +1 -0
- package/dist/cjs/ObjectPick/UseCases/TrySubmitObjectPickUC.test.js.map +1 -1
- package/dist/cjs/Stick/UCs/TryStickAppObjectUC.test.js +3 -1
- package/dist/cjs/Stick/UCs/TryStickAppObjectUC.test.js.map +1 -1
- package/dist/cjs/Stylus/UCs/EmulateStylusUC.test.js +3 -1
- package/dist/cjs/Stylus/UCs/EmulateStylusUC.test.js.map +1 -1
- package/dist/cjs/Transform3D/UC/BumpTransformScaleAboutPixelPoint.test.js +1 -0
- package/dist/cjs/Transform3D/UC/BumpTransformScaleAboutPixelPoint.test.js.map +1 -1
- package/dist/cjs/Transform3D/UC/PinchTransform.test.js +1 -0
- package/dist/cjs/Transform3D/UC/PinchTransform.test.js.map +1 -1
- package/dist/cjs/Transform3D/UC/TryPanTransformUC.test.js +1 -0
- package/dist/cjs/Transform3D/UC/TryPanTransformUC.test.js.map +1 -1
- package/dist/esm/Babylon/Mocks/MockBabylonRenderingUC.js +3 -3
- package/dist/esm/Babylon/Mocks/MockBabylonRenderingUC.js.map +1 -1
- package/dist/esm/Babylon/Mocks/MockPixelToSceneRayUC.js +1 -1
- package/dist/esm/Babylon/Mocks/MockPixelToSceneRayUC.js.map +1 -1
- package/dist/esm/Babylon/Mocks/MockScenePixelPickUC.js +1 -1
- package/dist/esm/Babylon/Mocks/MockScenePixelPickUC.js.map +1 -1
- package/dist/esm/Babylon/Mocks/MockSceneRayPickUC.js +1 -3
- package/dist/esm/Babylon/Mocks/MockSceneRayPickUC.js.map +1 -1
- package/dist/esm/Babylon/Mocks/ShowBabylonInspectorPmMock.js +1 -1
- package/dist/esm/Babylon/Mocks/ShowBabylonInspectorPmMock.js.map +1 -1
- package/dist/esm/Babylon/UC/PixelToSceneRayUC.test.js +2 -0
- package/dist/esm/Babylon/UC/PixelToSceneRayUC.test.js.map +1 -1
- package/dist/esm/Babylon/UC/ScenePixelPickUC.test.js +2 -0
- package/dist/esm/Babylon/UC/ScenePixelPickUC.test.js.map +1 -1
- package/dist/esm/BaseApp/UC/RenderCanvasUC.test.js +3 -0
- package/dist/esm/BaseApp/UC/RenderCanvasUC.test.js.map +1 -1
- package/dist/esm/Callouts/UC/TryAddCallout.test.js +1 -0
- package/dist/esm/Callouts/UC/TryAddCallout.test.js.map +1 -1
- package/dist/esm/Hideable/UCs/TryHideWithPickUC.test.js +3 -1
- package/dist/esm/Hideable/UCs/TryHideWithPickUC.test.js.map +1 -1
- package/dist/esm/HoverLabel/UseCases/TryShowHoverLabel.test.js +9 -3
- package/dist/esm/HoverLabel/UseCases/TryShowHoverLabel.test.js.map +1 -1
- package/dist/esm/LabelDrop/Controller/TouchLabelDropAuthor.test.js +4 -1
- package/dist/esm/LabelDrop/Controller/TouchLabelDropAuthor.test.js.map +1 -1
- package/dist/esm/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.test.js +5 -2
- package/dist/esm/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.test.js.map +1 -1
- package/dist/esm/LabelDrop/UseCases/ToggleLabelDropTargetUC.test.js +1 -0
- package/dist/esm/LabelDrop/UseCases/ToggleLabelDropTargetUC.test.js.map +1 -1
- package/dist/esm/ObjectPick/UseCases/TrySelectObjectPickUC.test.js +1 -0
- package/dist/esm/ObjectPick/UseCases/TrySelectObjectPickUC.test.js.map +1 -1
- package/dist/esm/ObjectPick/UseCases/TrySubmitObjectPickUC.test.js +1 -0
- package/dist/esm/ObjectPick/UseCases/TrySubmitObjectPickUC.test.js.map +1 -1
- package/dist/esm/Stick/UCs/TryStickAppObjectUC.test.js +3 -1
- package/dist/esm/Stick/UCs/TryStickAppObjectUC.test.js.map +1 -1
- package/dist/esm/Stylus/UCs/EmulateStylusUC.test.js +3 -1
- package/dist/esm/Stylus/UCs/EmulateStylusUC.test.js.map +1 -1
- package/dist/esm/Transform3D/UC/BumpTransformScaleAboutPixelPoint.test.js +1 -0
- package/dist/esm/Transform3D/UC/BumpTransformScaleAboutPixelPoint.test.js.map +1 -1
- package/dist/esm/Transform3D/UC/PinchTransform.test.js +1 -0
- package/dist/esm/Transform3D/UC/PinchTransform.test.js.map +1 -1
- package/dist/esm/Transform3D/UC/TryPanTransformUC.test.js +1 -0
- package/dist/esm/Transform3D/UC/TryPanTransformUC.test.js.map +1 -1
- package/dist/types/Babylon/Mocks/MockBabylonRenderingUC.d.ts +3 -3
- package/dist/types/Babylon/Mocks/MockBabylonRenderingUC.d.ts.map +1 -1
- package/dist/types/Babylon/Mocks/MockPixelToSceneRayUC.d.ts +1 -1
- package/dist/types/Babylon/Mocks/MockPixelToSceneRayUC.d.ts.map +1 -1
- package/dist/types/Babylon/Mocks/MockScenePixelPickUC.d.ts +1 -1
- package/dist/types/Babylon/Mocks/MockScenePixelPickUC.d.ts.map +1 -1
- package/dist/types/Babylon/Mocks/MockSceneRayPickUC.d.ts +1 -1
- package/dist/types/Babylon/Mocks/MockSceneRayPickUC.d.ts.map +1 -1
- package/dist/types/Babylon/Mocks/ShowBabylonInspectorPmMock.d.ts +1 -1
- package/dist/types/Babylon/Mocks/ShowBabylonInspectorPmMock.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrySelectObjectPickUC.test.js","sourceRoot":"","sources":["../../../../src/ObjectPick/UseCases/TrySelectObjectPickUC.test.ts"],"names":[],"mappings":";;AAAA,sCAAgD;AAChD,sCAA+D;AAC/D,oEAAqE;AACrE,+CAG6B;AAE7B,mFAAoF;AACpF,4FAA6F;AAC7F,2EAA4E;AAC5E,mEAAoE;AACpE,mEAGiC;AAEjC,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,IAAA,wBAAiB,GAAE,CAAC;IACvC,MAAM,uBAAuB,GAAG,IAAA,qDAA2B,EAAC,UAAU,CAAC,CAAC;IACxE,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACjC,uBAAuB,CAAC,UAAU,GAAG,cAAc,CAAC;IAEpD,MAAM,OAAO,GAAG,IAAA,+BAAgB,EAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAChE,MAAM,IAAI,GAAG,IAAA,mCAAkB,EAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;IAChE,MAAM,SAAS,GAAG,IAAA,6CAAuB,EAAC,UAAU,CAAC,CAAC;IAEtD,MAAM,UAAU,GAAG,IAAA,uCAAoB,EAAC,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC;IAE9E,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAC3B,UAAU,CAAC,yBAAyB,GAAG,IAAI,CAAC;IAC5C,SAAS,CAAC,iBAAiB,GAAG,aAAa,CAAC;IAE5C,MAAM,cAAc,GAAiB;QACnC,GAAG,EAAE,IAAI;QACT,WAAW,EAAE,aAAa;KAC3B,CAAC;IACF,MAAM,WAAW,GAAG,IAAA,8BAAsB,EAAC,UAAU,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;IAC3D,WAAW,CAAC,YAAY,GAAG,QAAQ,CAAC;IAEpC,MAAM,cAAc,GAAG,IAAA,iCAAyB,EAAC,UAAU,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"TrySelectObjectPickUC.test.js","sourceRoot":"","sources":["../../../../src/ObjectPick/UseCases/TrySelectObjectPickUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\nimport { ParametricLine, Vector2, Vector3 } from \"@vived/core\";\nimport { makeBaseAppState } from \"../../BaseApp/Entity/BaseAppState\";\nimport {\n makeMockPixelToSceneRayUC,\n makeMockSceneRayPickUC,\n} from \"../../Babylon/Mocks\";\nimport { SceneRayPick } from \"../../Babylon/UC/SceneRayPickUC\";\nimport { makeChallengeEntityMock } from \"../../Challenge/Mocks/ChallengeEntityMock\";\nimport { makeMockDispatchStateChange } from \"../../Dispatcher/Mocks/MockDispatchStateChange\";\nimport { makeUndoRedoEntity } from \"../../UndoRedo/Entities/UndoRedoEntity\";\nimport { makeObjectPickEntity } from \"../Entities/ObjectPickEntity\";\nimport {\n makeTrySelectObjectPickUC,\n TrySelectObjectPickUC,\n} from \"./TrySelectObjectPickUC\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n const mockDispatchStateChange = makeMockDispatchStateChange(appObjects);\n const doDispatchMock = jest.fn();\n mockDispatchStateChange.doDispatch = doDispatchMock;\n\n const baseApp = makeBaseAppState(appObjects.getOrCreate(\"App\"));\n const undo = makeUndoRedoEntity(appObjects.getOrCreate(\"Undo\"));\n const challenge = makeChallengeEntityMock(appObjects);\n\n const objectPick = makeObjectPickEntity(appObjects.getOrCreate(\"ObjectPick\"));\n\n baseApp.isAuthoring = true;\n objectPick.isSelectingCorrectObjects = true;\n challenge.selectedChallenge = \"OBJECT_PICK\";\n\n const mockPickResult: SceneRayPick = {\n hit: true,\n appObjectID: \"sceneObject\",\n };\n const mockRayPick = makeMockSceneRayPickUC(appObjects);\n const mockPick = jest.fn().mockReturnValue(mockPickResult);\n mockRayPick.sceneRayPick = mockPick;\n\n const mockPixelToRay = makeMockPixelToSceneRayUC(appObjects);\n mockPixelToRay.pixelToSceneRay = jest.fn();\n\n const uc = makeTrySelectObjectPickUC(appObjects.getOrCreate(\"ObjectPick\"));\n\n return {\n objectPick,\n uc,\n baseApp,\n doDispatchMock,\n appObjects,\n mockPixelToRay,\n undo,\n mockPick,\n };\n}\n\ndescribe(\"Try Select Object Pick Use Case\", () => {\n it(\"Gets the singleton\", () => {\n const { appObjects, uc } = makeTestRig();\n\n expect(TrySelectObjectPickUC.get(appObjects)).toEqual(uc);\n });\n\n it(\"Forms the pixel into a ray and passed it to the try with ray\", () => {\n const { mockPixelToRay, uc } = makeTestRig();\n\n const mockRay = ParametricLine.FromTwoPoint(\n new Vector3(1, 2, 3),\n new Vector3(4, 5, 6)\n );\n (mockPixelToRay.pixelToSceneRay as jest.Mock).mockReturnValue(mockRay);\n\n uc.tryWithRay = jest.fn();\n\n uc.tryWithPixel(new Vector2(7, 8));\n\n expect(mockPixelToRay.pixelToSceneRay).toHaveBeenCalledWith(\n new Vector2(7, 8)\n );\n expect(uc.tryWithRay).toHaveBeenCalledWith(mockRay);\n });\n\n it(\"Tries Select Object Pick successfully\", () => {\n const { uc, objectPick } = makeTestRig();\n\n const spy = jest.spyOn(objectPick, \"addCorrectObjectId\");\n\n uc.tryWithRay(ParametricLine.Forward());\n\n expect(spy).toHaveBeenCalledWith(\"sceneObject\");\n });\n\n it(\"Does not add when the pick does not hit\", () => {\n const { uc, mockPick, objectPick } = makeTestRig();\n\n const mockPickResult: SceneRayPick = {\n hit: false,\n };\n mockPick.mockReturnValue(mockPickResult);\n\n mockPickResult.hit = false;\n const spy = jest.spyOn(objectPick, \"addCorrectObjectId\");\n\n uc.tryWithRay(ParametricLine.Forward());\n\n expect(spy).not.toHaveBeenCalled();\n });\n\n it(\"Does not add when the pick does not an app object\", () => {\n const { uc, mockPick, objectPick } = makeTestRig();\n\n const mockPickResult: SceneRayPick = {\n hit: true,\n appObjectID: undefined,\n };\n mockPick.mockReturnValue(mockPickResult);\n\n mockPickResult.hit = false;\n const spy = jest.spyOn(objectPick, \"addCorrectObjectId\");\n\n uc.tryWithRay(ParametricLine.Forward());\n\n expect(spy).not.toHaveBeenCalled();\n });\n\n it(\"Dispatches a state change\", () => {\n const { uc, doDispatchMock } = makeTestRig();\n\n uc.tryWithRay(ParametricLine.Forward());\n\n expect(doDispatchMock).toHaveBeenCalled();\n });\n\n it(\"Is undoable and redoable\", () => {\n const { uc, undo, objectPick } = makeTestRig();\n\n uc.tryWithRay(ParametricLine.Forward());\n\n expect(objectPick.correctObjectIds).toEqual([\"sceneObject\"]);\n\n undo.doUndo();\n\n expect(objectPick.correctObjectIds).toEqual([]);\n\n undo.doRedo();\n\n expect(objectPick.correctObjectIds).toEqual([\"sceneObject\"]);\n });\n\n it(\"Undo and redo dispatch a state change\", () => {\n const { uc, undo, doDispatchMock } = makeTestRig();\n uc.tryWithRay(ParametricLine.Forward());\n\n doDispatchMock.mockClear();\n\n undo.doUndo();\n expect(doDispatchMock).toHaveBeenCalled();\n\n doDispatchMock.mockClear();\n undo.doRedo();\n\n expect(doDispatchMock).toHaveBeenCalled();\n });\n});\n"]}
|
|
@@ -21,6 +21,7 @@ function makeTestRig() {
|
|
|
21
21
|
const mockPick = jest.fn().mockReturnValue(mockPickResult);
|
|
22
22
|
mockRayPick.sceneRayPick = mockPick;
|
|
23
23
|
const mockPixelToRay = (0, Babylon_1.makeMockPixelToSceneRayUC)(appObjects);
|
|
24
|
+
mockPixelToRay.pixelToSceneRay = jest.fn();
|
|
24
25
|
const objectPick = (0, ObjectPickEntity_1.makeObjectPickEntity)(appObjects.getOrCreate("ObjectPick"));
|
|
25
26
|
const sceneObject = appObjects.getOrCreate("parent");
|
|
26
27
|
const uc = (0, TrySubmitObjectPickUC_1.makeTrySubmitObjectPickUC)(appObjects.getOrCreate("ObjectPick"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrySubmitObjectPickUC.test.js","sourceRoot":"","sources":["../../../../src/ObjectPick/UseCases/TrySubmitObjectPickUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\nimport { ParametricLine, Vector2, Vector3 } from \"@vived/core\";\nimport { makeBaseAppState } from \"../../BaseApp/Entity/BaseAppState\";\nimport {\n makeMockPixelToSceneRayUC,\n makeMockSceneRayPickUC,\n SceneRayPick,\n} from \"../../Babylon\";\nimport { makeChallengeEntityMock } from \"../../Challenge\";\nimport { makeMockSubmitResult } from \"../../Dispatcher\";\nimport { makeObjectPickEntity } from \"../Entities/ObjectPickEntity\";\nimport {\n makeTrySubmitObjectPickUC,\n TrySubmitObjectPickUC,\n} from \"./TrySubmitObjectPickUC\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n\n const baseApp = makeBaseAppState(appObjects.getOrCreate(\"App\"));\n baseApp.isAuthoring = false;\n\n const challenge = makeChallengeEntityMock(appObjects);\n\n const mockSubmitResult = makeMockSubmitResult(appObjects);\n\n const mockPickResult: SceneRayPick = {\n hit: true,\n };\n const mockRayPick = makeMockSceneRayPickUC(appObjects);\n const mockPick = jest.fn().mockReturnValue(mockPickResult);\n mockRayPick.sceneRayPick = mockPick;\n\n const mockPixelToRay = makeMockPixelToSceneRayUC(appObjects);\n\n const objectPick = makeObjectPickEntity(appObjects.getOrCreate(\"ObjectPick\"));\n\n const sceneObject = appObjects.getOrCreate(\"parent\");\n\n const uc = makeTrySubmitObjectPickUC(appObjects.getOrCreate(\"ObjectPick\"));\n const trySubmitObjectPick = uc.tryWithRay;\n\n return {\n trySubmitObjectPick,\n objectPick,\n mockSubmitResult,\n sceneObject,\n mockPickResult,\n baseApp,\n challenge,\n mockPixelToRay,\n appObjects,\n uc,\n };\n}\n\ndescribe(\"Submit Object Pick UC\", () => {\n it(\"Gets the singleton\", () => {\n const { appObjects, uc } = makeTestRig();\n\n expect(TrySubmitObjectPickUC.get(appObjects)).toEqual(uc);\n });\n\n it(\"Forms the pixel into a ray and passed it to the try with ray\", () => {\n const { mockPixelToRay, uc } = makeTestRig();\n\n const mockRay = ParametricLine.FromTwoPoint(\n new Vector3(1, 2, 3),\n new Vector3(4, 5, 6),\n );\n mockPixelToRay.pixelToSceneRay.mockReturnValue(mockRay);\n\n uc.tryWithRay = jest.fn();\n\n uc.tryWithPixel(new Vector2(7, 8));\n\n expect(mockPixelToRay.pixelToSceneRay).toHaveBeenCalledWith(\n new Vector2(7, 8),\n );\n expect(uc.tryWithRay).toHaveBeenCalledWith(mockRay);\n });\n\n it(\"Doesn't submit object pick when authoring\", () => {\n const { baseApp, objectPick, trySubmitObjectPick } = makeTestRig();\n const mockSubmit = jest.fn();\n\n baseApp.isAuthoring = true;\n objectPick.submit = mockSubmit;\n\n const pickRay = new ParametricLine({\n x0: 1,\n y0: 1,\n z0: 1,\n a: 1,\n b: 1,\n c: 1,\n });\n trySubmitObjectPick(pickRay);\n\n expect(mockSubmit).not.toHaveBeenCalled();\n });\n\n it(\"Doesn't submit object pick when challenge is not OBJECT_PICK\", () => {\n const { challenge, objectPick, trySubmitObjectPick } = makeTestRig();\n const mockSubmit = jest.fn();\n\n challenge.selectedChallenge = \"QUESTION\";\n objectPick.submit = mockSubmit;\n\n const pickRay = new ParametricLine({\n x0: 1,\n y0: 1,\n z0: 1,\n a: 1,\n b: 1,\n c: 1,\n });\n trySubmitObjectPick(pickRay);\n\n expect(mockSubmit).not.toHaveBeenCalled();\n });\n\n it(\"Doesn't submit object pick when app mode is review\", () => {\n const { baseApp, objectPick, trySubmitObjectPick } = makeTestRig();\n const mockSubmit = jest.fn();\n\n baseApp.isReviewing = true;\n objectPick.submit = mockSubmit;\n\n const pickRay = new ParametricLine({\n x0: 1,\n y0: 1,\n z0: 1,\n a: 1,\n b: 1,\n c: 1,\n });\n trySubmitObjectPick(pickRay);\n\n expect(mockSubmit).not.toHaveBeenCalled();\n });\n\n it(\"Submits object pick when not authoring\", () => {\n const {\n sceneObject,\n challenge,\n objectPick,\n trySubmitObjectPick,\n mockPickResult,\n } = makeTestRig();\n\n mockPickResult.appObjectID = sceneObject.id;\n\n const mockSubmit = jest.fn();\n\n challenge.selectedChallenge = \"OBJECT_PICK\";\n objectPick.submit = mockSubmit;\n\n const pickRay = new ParametricLine({\n x0: 1,\n y0: 1,\n z0: 1,\n a: 1,\n b: 1,\n c: 1,\n });\n trySubmitObjectPick(pickRay);\n\n expect(mockSubmit).toHaveBeenCalled();\n });\n\n it(\"Dispatches a submitHitResult\", () => {\n const {\n challenge,\n objectPick,\n sceneObject,\n mockPickResult,\n trySubmitObjectPick,\n mockSubmitResult,\n baseApp,\n } = makeTestRig();\n\n const mockSubmit = jest.fn();\n\n mockPickResult.appObjectID = sceneObject.id;\n\n challenge.selectedChallenge = \"OBJECT_PICK\";\n objectPick.submit = mockSubmit;\n\n const pickRay = new ParametricLine({\n x0: 1,\n y0: 1,\n z0: 1,\n a: 1,\n b: 1,\n c: 1,\n });\n trySubmitObjectPick(pickRay);\n\n expect(mockSubmitResult.submitHitResult).toHaveBeenCalledWith({\n success: objectPick.hasSubmitted,\n description: baseApp.slideText,\n });\n });\n\n it(\"Sets the appState to Review\", () => {\n const {\n sceneObject,\n challenge,\n objectPick,\n trySubmitObjectPick,\n mockPickResult,\n baseApp,\n } = makeTestRig();\n\n mockPickResult.appObjectID = sceneObject.id;\n\n const mockSubmit = jest.fn();\n\n challenge.selectedChallenge = \"OBJECT_PICK\";\n objectPick.submit = mockSubmit;\n\n const pickRay = new ParametricLine({\n x0: 1,\n y0: 1,\n z0: 1,\n a: 1,\n b: 1,\n c: 1,\n });\n trySubmitObjectPick(pickRay);\n\n expect(baseApp.isReviewing).toEqual(true);\n });\n});\n"]}
|
|
1
|
+
{"version":3,"file":"TrySubmitObjectPickUC.test.js","sourceRoot":"","sources":["../../../../src/ObjectPick/UseCases/TrySubmitObjectPickUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\nimport { ParametricLine, Vector2, Vector3 } from \"@vived/core\";\nimport { makeBaseAppState } from \"../../BaseApp/Entity/BaseAppState\";\nimport {\n makeMockPixelToSceneRayUC,\n makeMockSceneRayPickUC,\n SceneRayPick,\n} from \"../../Babylon\";\nimport { makeChallengeEntityMock } from \"../../Challenge\";\nimport { makeMockSubmitResult } from \"../../Dispatcher\";\nimport { makeObjectPickEntity } from \"../Entities/ObjectPickEntity\";\nimport {\n makeTrySubmitObjectPickUC,\n TrySubmitObjectPickUC,\n} from \"./TrySubmitObjectPickUC\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n\n const baseApp = makeBaseAppState(appObjects.getOrCreate(\"App\"));\n baseApp.isAuthoring = false;\n\n const challenge = makeChallengeEntityMock(appObjects);\n\n const mockSubmitResult = makeMockSubmitResult(appObjects);\n\n const mockPickResult: SceneRayPick = {\n hit: true,\n };\n const mockRayPick = makeMockSceneRayPickUC(appObjects);\n const mockPick = jest.fn().mockReturnValue(mockPickResult);\n mockRayPick.sceneRayPick = mockPick;\n\n const mockPixelToRay = makeMockPixelToSceneRayUC(appObjects);\n mockPixelToRay.pixelToSceneRay = jest.fn();\n\n const objectPick = makeObjectPickEntity(appObjects.getOrCreate(\"ObjectPick\"));\n\n const sceneObject = appObjects.getOrCreate(\"parent\");\n\n const uc = makeTrySubmitObjectPickUC(appObjects.getOrCreate(\"ObjectPick\"));\n const trySubmitObjectPick = uc.tryWithRay;\n\n return {\n trySubmitObjectPick,\n objectPick,\n mockSubmitResult,\n sceneObject,\n mockPickResult,\n baseApp,\n challenge,\n mockPixelToRay,\n appObjects,\n uc,\n };\n}\n\ndescribe(\"Submit Object Pick UC\", () => {\n it(\"Gets the singleton\", () => {\n const { appObjects, uc } = makeTestRig();\n\n expect(TrySubmitObjectPickUC.get(appObjects)).toEqual(uc);\n });\n\n it(\"Forms the pixel into a ray and passed it to the try with ray\", () => {\n const { mockPixelToRay, uc } = makeTestRig();\n\n const mockRay = ParametricLine.FromTwoPoint(\n new Vector3(1, 2, 3),\n new Vector3(4, 5, 6)\n );\n (mockPixelToRay.pixelToSceneRay as jest.Mock).mockReturnValue(mockRay);\n\n uc.tryWithRay = jest.fn();\n\n uc.tryWithPixel(new Vector2(7, 8));\n\n expect(mockPixelToRay.pixelToSceneRay).toHaveBeenCalledWith(\n new Vector2(7, 8)\n );\n expect(uc.tryWithRay).toHaveBeenCalledWith(mockRay);\n });\n\n it(\"Doesn't submit object pick when authoring\", () => {\n const { baseApp, objectPick, trySubmitObjectPick } = makeTestRig();\n const mockSubmit = jest.fn();\n\n baseApp.isAuthoring = true;\n objectPick.submit = mockSubmit;\n\n const pickRay = new ParametricLine({\n x0: 1,\n y0: 1,\n z0: 1,\n a: 1,\n b: 1,\n c: 1,\n });\n trySubmitObjectPick(pickRay);\n\n expect(mockSubmit).not.toHaveBeenCalled();\n });\n\n it(\"Doesn't submit object pick when challenge is not OBJECT_PICK\", () => {\n const { challenge, objectPick, trySubmitObjectPick } = makeTestRig();\n const mockSubmit = jest.fn();\n\n challenge.selectedChallenge = \"QUESTION\";\n objectPick.submit = mockSubmit;\n\n const pickRay = new ParametricLine({\n x0: 1,\n y0: 1,\n z0: 1,\n a: 1,\n b: 1,\n c: 1,\n });\n trySubmitObjectPick(pickRay);\n\n expect(mockSubmit).not.toHaveBeenCalled();\n });\n\n it(\"Doesn't submit object pick when app mode is review\", () => {\n const { baseApp, objectPick, trySubmitObjectPick } = makeTestRig();\n const mockSubmit = jest.fn();\n\n baseApp.isReviewing = true;\n objectPick.submit = mockSubmit;\n\n const pickRay = new ParametricLine({\n x0: 1,\n y0: 1,\n z0: 1,\n a: 1,\n b: 1,\n c: 1,\n });\n trySubmitObjectPick(pickRay);\n\n expect(mockSubmit).not.toHaveBeenCalled();\n });\n\n it(\"Submits object pick when not authoring\", () => {\n const {\n sceneObject,\n challenge,\n objectPick,\n trySubmitObjectPick,\n mockPickResult,\n } = makeTestRig();\n\n mockPickResult.appObjectID = sceneObject.id;\n\n const mockSubmit = jest.fn();\n\n challenge.selectedChallenge = \"OBJECT_PICK\";\n objectPick.submit = mockSubmit;\n\n const pickRay = new ParametricLine({\n x0: 1,\n y0: 1,\n z0: 1,\n a: 1,\n b: 1,\n c: 1,\n });\n trySubmitObjectPick(pickRay);\n\n expect(mockSubmit).toHaveBeenCalled();\n });\n\n it(\"Dispatches a submitHitResult\", () => {\n const {\n challenge,\n objectPick,\n sceneObject,\n mockPickResult,\n trySubmitObjectPick,\n mockSubmitResult,\n baseApp,\n } = makeTestRig();\n\n const mockSubmit = jest.fn();\n\n mockPickResult.appObjectID = sceneObject.id;\n\n challenge.selectedChallenge = \"OBJECT_PICK\";\n objectPick.submit = mockSubmit;\n\n const pickRay = new ParametricLine({\n x0: 1,\n y0: 1,\n z0: 1,\n a: 1,\n b: 1,\n c: 1,\n });\n trySubmitObjectPick(pickRay);\n\n expect(mockSubmitResult.submitHitResult).toHaveBeenCalledWith({\n success: objectPick.hasSubmitted,\n description: baseApp.slideText,\n });\n });\n\n it(\"Sets the appState to Review\", () => {\n const {\n sceneObject,\n challenge,\n objectPick,\n trySubmitObjectPick,\n mockPickResult,\n baseApp,\n } = makeTestRig();\n\n mockPickResult.appObjectID = sceneObject.id;\n\n const mockSubmit = jest.fn();\n\n challenge.selectedChallenge = \"OBJECT_PICK\";\n objectPick.submit = mockSubmit;\n\n const pickRay = new ParametricLine({\n x0: 1,\n y0: 1,\n z0: 1,\n a: 1,\n b: 1,\n c: 1,\n });\n trySubmitObjectPick(pickRay);\n\n expect(baseApp.isReviewing).toEqual(true);\n });\n});\n"]}
|
|
@@ -17,7 +17,9 @@ function makeTestRig() {
|
|
|
17
17
|
const mockPick = jest.fn().mockReturnValue({ appObjectID: "stickableObj" });
|
|
18
18
|
mockRayPick.sceneRayPick = mockPick;
|
|
19
19
|
const mockPixelPick = (0, Babylon_1.makeMockScenePixelPickUC)(appObjects);
|
|
20
|
-
mockPixelPick.scenePixelPick
|
|
20
|
+
mockPixelPick.scenePixelPick = jest
|
|
21
|
+
.fn()
|
|
22
|
+
.mockReturnValue({ appObjectID: "stickableObj" });
|
|
21
23
|
const toolRepo = (0, Tools_1.makeToolRepo)(appObjects.getOrCreate("Tool"));
|
|
22
24
|
const peelTool = toolRepo.makeTool("PEEL");
|
|
23
25
|
peelTool.state = Tools_1.ToolState.ACTIVE;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TryStickAppObjectUC.test.js","sourceRoot":"","sources":["../../../../src/Stick/UCs/TryStickAppObjectUC.test.ts"],"names":[],"mappings":";;AAAA,sCAAgD;AAChD,sCAA+D;AAC/D,2CAGuB;AACvB,uCAAsD;AACtD,sDAAmD;AACnD,+DAG+B;AAE/B,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,IAAA,wBAAiB,GAAE,CAAC;IACvC,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;IAEtE,MAAM,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,EAAE,GAAG,IAAA,6CAAuB,EAAC,EAAE,CAAC,CAAC;IAEvC,MAAM,YAAY,GAAG,UAAU,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,IAAI,yBAAW,CAAC,YAAY,CAAC,CAAC;IAEjD,MAAM,WAAW,GAAG,IAAA,gCAAsB,EAAC,UAAU,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC,CAAC;IAC5E,WAAW,CAAC,YAAY,GAAG,QAAQ,CAAC;IAEpC,MAAM,aAAa,GAAG,IAAA,kCAAwB,EAAC,UAAU,CAAC,CAAC;IAC3D,aAAa,CAAC,cAAc,
|
|
1
|
+
{"version":3,"file":"TryStickAppObjectUC.test.js","sourceRoot":"","sources":["../../../../src/Stick/UCs/TryStickAppObjectUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\nimport { ParametricLine, Vector2, Vector3 } from \"@vived/core\";\nimport {\n makeMockScenePixelPickUC,\n makeMockSceneRayPickUC,\n} from \"../../Babylon\";\nimport { makeToolRepo, ToolState } from \"../../Tools\";\nimport { StickUCMock } from \"../Mocks/StickUCMock\";\nimport {\n makeTryStickAppObjectUC,\n TryStickAppObjectUC,\n} from \"./TryStickAppObjectUC\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n const registerSingleton = jest.spyOn(appObjects, \"registerSingleton\");\n\n const ao = appObjects.getOrCreate(\"AO\");\n const uc = makeTryStickAppObjectUC(ao);\n\n const stickableObj = appObjects.getOrCreate(\"stickableObj\");\n const mockHideUC = new StickUCMock(stickableObj);\n\n const mockRayPick = makeMockSceneRayPickUC(appObjects);\n const mockPick = jest.fn().mockReturnValue({ appObjectID: \"stickableObj\" });\n mockRayPick.sceneRayPick = mockPick;\n\n const mockPixelPick = makeMockScenePixelPickUC(appObjects);\n mockPixelPick.scenePixelPick = jest\n .fn()\n .mockReturnValue({ appObjectID: \"stickableObj\" });\n\n const toolRepo = makeToolRepo(appObjects.getOrCreate(\"Tool\"));\n const peelTool = toolRepo.makeTool(\"PEEL\");\n peelTool.state = ToolState.ACTIVE;\n\n return {\n appObjects,\n ao,\n mockHideUC,\n uc,\n registerSingleton,\n mockPick,\n mockPixelPick,\n peelTool,\n };\n}\n\ndescribe(\"Try Stick UC\", () => {\n it(\"Gets the singleton\", () => {\n const { appObjects, uc } = makeTestRig();\n\n expect(TryStickAppObjectUC.get(appObjects)).toEqual(uc);\n });\n\n it(\"Registers as the singleton\", () => {\n const { registerSingleton, uc } = makeTestRig();\n\n expect(registerSingleton).toHaveBeenCalledWith(uc);\n });\n\n it(\"Picks with the ray\", () => {\n const { uc, mockPick } = makeTestRig();\n\n const pickRay = ParametricLine.FromPointDirection(\n new Vector3(1, 2, 3),\n new Vector3(4, 5, 6)\n );\n\n uc.tryWithRay(pickRay);\n\n expect(mockPick).toHaveBeenCalledWith(pickRay);\n });\n\n it(\"Calls the UC\", () => {\n const { uc, mockHideUC } = makeTestRig();\n\n uc.tryWithRay(ParametricLine.Forward());\n\n expect(mockHideUC.doStick).toHaveBeenCalled();\n });\n\n it(\"Does not call on ray pick if not allowed\", () => {\n const { uc, mockHideUC } = makeTestRig();\n\n uc.allow = () => {\n return false;\n };\n\n uc.tryWithRay(ParametricLine.Forward());\n\n expect(mockHideUC.doStick).not.toHaveBeenCalled();\n });\n\n it(\"Doesn't warn if the picked object does not have the UC\", () => {\n const { uc, mockPick, appObjects } = makeTestRig();\n\n appObjects.submitWarning = jest.fn();\n appObjects.getOrCreate(\"SomeOtherObject\");\n mockPick.mockReturnValue({\n appObjectID: \"SomeOtherObject\",\n });\n\n uc.tryWithRay(ParametricLine.Forward());\n\n expect(appObjects.submitWarning).not.toHaveBeenCalled();\n });\n\n it(\"Picks with a pixel\", () => {\n const { uc, mockPixelPick } = makeTestRig();\n\n const pickPixel = new Vector2(1, 2);\n\n uc.tryWithPixel(pickPixel);\n\n expect(mockPixelPick.scenePixelPick).toHaveBeenCalledWith(pickPixel);\n });\n\n it(\"Calls the UC with a pixel pick\", () => {\n const { uc, mockHideUC } = makeTestRig();\n\n uc.tryWithPixel(Vector2.One());\n\n expect(mockHideUC.doStick).toHaveBeenCalled();\n });\n\n it(\"Does not call on pixel pick if not allowed\", () => {\n const { uc, mockHideUC } = makeTestRig();\n\n uc.allow = () => {\n return false;\n };\n\n uc.tryWithPixel(Vector2.One());\n\n expect(mockHideUC.doStick).not.toHaveBeenCalled();\n });\n\n it(\"Allows if the peel tool is active\", () => {\n const { uc, peelTool } = makeTestRig();\n\n peelTool.state = ToolState.ACTIVE;\n\n expect(uc.allow()).toEqual(true);\n\n peelTool.state = ToolState.ENABLED;\n\n expect(uc.allow()).toEqual(false);\n });\n});\n"]}
|
|
@@ -19,7 +19,9 @@ function makeTestRig() {
|
|
|
19
19
|
const stylus = (0, StylusEntity_1.makeStylusEntity)(ao);
|
|
20
20
|
const uc = (0, EmulateStylusUC_1.makeEmulateStylusUC)(ao);
|
|
21
21
|
const mockSceneRay = (0, Babylon_1.makeMockPixelToSceneRayUC)(appObjects);
|
|
22
|
-
mockSceneRay.pixelToSceneRay
|
|
22
|
+
mockSceneRay.pixelToSceneRay = jest
|
|
23
|
+
.fn()
|
|
24
|
+
.mockReturnValue(core_2.ParametricLine.FromPointDirection(new core_2.Vector3(1, 1, -1), core_2.Vector3.Forward()));
|
|
23
25
|
return {
|
|
24
26
|
uc,
|
|
25
27
|
appObjects,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmulateStylusUC.test.js","sourceRoot":"","sources":["../../../../src/Stylus/UCs/EmulateStylusUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\nimport { ParametricLine, Quaternion, Vector3 } from \"@vived/core\";\nimport { makeMockPixelToSceneRayUC } from \"../../Babylon\";\nimport { makeMouseInput } from \"../../MouseInput\";\nimport { makeTouchInput } from \"../../TouchController\";\nimport { makeStylusEntity } from \"../Entity/StylusEntity\";\nimport { EmulateStylusUC, makeEmulateStylusUC } from \"./EmulateStylusUC\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n const registerSingletonSpy = jest.spyOn(appObjects, \"registerSingleton\");\n\n const mouseInput = makeMouseInput(appObjects.getOrCreate(\"Mouse\"));\n const inputElement = document.createElement(\"div\");\n mouseInput.setEventElement(inputElement);\n\n const touchInout = makeTouchInput(appObjects.getOrCreate(\"Touch\"));\n touchInout.setEventElement(inputElement);\n\n const ao = appObjects.getOrCreate(\"Stylus\");\n const stylus = makeStylusEntity(ao);\n const uc = makeEmulateStylusUC(ao);\n\n const mockSceneRay = makeMockPixelToSceneRayUC(appObjects);\n mockSceneRay.pixelToSceneRay.mockReturnValue(\n ParametricLine.FromPointDirection(new Vector3(1, 1, -1), Vector3.Forward()),\n );\n\n return {\n uc,\n appObjects,\n registerSingletonSpy,\n mouseInput,\n inputElement,\n stylus,\n touchInout,\n };\n}\n\ndescribe(\"Emulate Stylus UC\", () => {\n it(\"Registers as a singleton\", () => {\n const { uc, registerSingletonSpy } = makeTestRig();\n\n expect(registerSingletonSpy).toHaveBeenCalledWith(uc);\n });\n\n it(\"Gets the singleton\", () => {\n const { uc, appObjects } = makeTestRig();\n\n expect(EmulateStylusUC.get(appObjects)).toEqual(uc);\n });\n\n it(\"Can be started and stopped\", () => {\n const { uc } = makeTestRig();\n\n expect(uc.isEmulating).toEqual(false);\n\n uc.startEmulating();\n\n expect(uc.isEmulating).toEqual(true);\n\n uc.stopEmulating();\n\n expect(uc.isEmulating).toEqual(false);\n });\n\n it(\"Steals the input element from the mouse input\", () => {\n const { uc, mouseInput } = makeTestRig();\n\n const clearInputElementSpy = jest.spyOn(mouseInput, \"clearInputElement\");\n\n uc.startEmulating();\n\n expect(clearInputElementSpy).toHaveBeenCalled();\n });\n\n it(\"Only steals once\", () => {\n const { uc, mouseInput } = makeTestRig();\n\n const clearInputElementSpy = jest.spyOn(mouseInput, \"clearInputElement\");\n\n uc.startEmulating();\n uc.startEmulating();\n uc.startEmulating();\n\n expect(clearInputElementSpy).toHaveBeenCalledTimes(1);\n });\n\n it(\"Clears the input element from the touch input\", () => {\n const { uc, touchInout } = makeTestRig();\n\n const clearInputElementSpy = jest.spyOn(touchInout, \"clearInputElement\");\n\n uc.startEmulating();\n\n expect(clearInputElementSpy).toHaveBeenCalled();\n });\n\n it(\"Only clears once\", () => {\n const { uc, touchInout } = makeTestRig();\n\n const clearInputElementSpy = jest.spyOn(touchInout, \"clearInputElement\");\n\n uc.startEmulating();\n uc.startEmulating();\n uc.startEmulating();\n\n expect(clearInputElementSpy).toHaveBeenCalledTimes(1);\n });\n\n it(\"Returns the mouse input element when stopped\", () => {\n const { uc, mouseInput, inputElement } = makeTestRig();\n\n const setElementSpy = jest.spyOn(mouseInput, \"setEventElement\");\n\n uc.startEmulating();\n uc.stopEmulating();\n\n expect(setElementSpy).toHaveBeenCalledWith(inputElement);\n });\n\n it(\"Only returns to the mouse once\", () => {\n const { uc, mouseInput } = makeTestRig();\n\n const setElementSpy = jest.spyOn(mouseInput, \"setEventElement\");\n\n uc.startEmulating();\n uc.stopEmulating();\n uc.stopEmulating();\n uc.stopEmulating();\n uc.stopEmulating();\n\n expect(setElementSpy).toHaveBeenCalledTimes(1);\n });\n\n it(\"Returns the touch input element when stopped\", () => {\n const { uc, touchInout, inputElement } = makeTestRig();\n\n const setElementSpy = jest.spyOn(touchInout, \"setEventElement\");\n\n uc.startEmulating();\n uc.stopEmulating();\n\n expect(setElementSpy).toHaveBeenCalledWith(inputElement);\n });\n\n it(\"Only returns to the touch once\", () => {\n const { uc, touchInout } = makeTestRig();\n\n const setElementSpy = jest.spyOn(touchInout, \"setEventElement\");\n\n uc.startEmulating();\n uc.stopEmulating();\n uc.stopEmulating();\n uc.stopEmulating();\n uc.stopEmulating();\n\n expect(setElementSpy).toHaveBeenCalledTimes(1);\n });\n\n it(\"Sends mouse down to the stylus\", () => {\n const { uc, inputElement, stylus } = makeTestRig();\n\n stylus.updateButtonState = jest.fn();\n\n uc.startEmulating();\n const e = new MouseEvent(\"mousedown\", { button: 1 });\n inputElement.dispatchEvent(e);\n\n expect(stylus.updateButtonState).toHaveBeenCalledWith(1, true);\n });\n\n it(\"Stops sending mouse down after stopped\", () => {\n const { uc, inputElement, stylus } = makeTestRig();\n\n stylus.updateButtonState = jest.fn();\n\n uc.startEmulating();\n uc.stopEmulating();\n\n const e = new MouseEvent(\"mousedown\", { button: 1 });\n inputElement.dispatchEvent(e);\n\n expect(stylus.updateButtonState).not.toHaveBeenCalled();\n });\n\n it(\"Sends mouse up to the stylus\", () => {\n const { uc, inputElement, stylus } = makeTestRig();\n\n stylus.updateButtonState = jest.fn();\n\n uc.startEmulating();\n const e = new MouseEvent(\"mouseup\", { button: 1 });\n inputElement.dispatchEvent(e);\n\n expect(stylus.updateButtonState).toHaveBeenCalledWith(1, false);\n });\n\n it(\"Stops sending mouse up after stopped\", () => {\n const { uc, inputElement, stylus } = makeTestRig();\n\n stylus.updateButtonState = jest.fn();\n\n uc.startEmulating();\n uc.stopEmulating();\n\n const e = new MouseEvent(\"mouseup\", { button: 1 });\n inputElement.dispatchEvent(e);\n\n expect(stylus.updateButtonState).not.toHaveBeenCalled();\n });\n\n it(\"Rotates the stylus on mouse move\", () => {\n const { uc, inputElement, stylus } = makeTestRig();\n\n stylus.transform.worldRotation = Quaternion.Identity();\n\n uc.startEmulating();\n\n const e = new MouseEvent(\"mousemove\", { clientX: 10, clientY: 10 });\n inputElement.dispatchEvent(e);\n\n expect(stylus.transform.worldRotation).not.toEqual(Quaternion.Identity());\n });\n\n it(\"Stops rotating the stylus on mouse move\", () => {\n const { uc, inputElement, stylus } = makeTestRig();\n\n stylus.transform.worldRotation = Quaternion.Identity();\n\n uc.startEmulating();\n uc.stopEmulating();\n\n const e = new MouseEvent(\"mousemove\", { clientX: 10, clientY: 10 });\n\n inputElement.dispatchEvent(e);\n inputElement.dispatchEvent(e);\n inputElement.dispatchEvent(e);\n\n expect(stylus.transform.worldRotation).toEqual(Quaternion.Identity());\n });\n\n it(\"Bumps to the left when A is pressed\", () => {\n const { uc, inputElement, stylus } = makeTestRig();\n\n uc.startEmulating();\n stylus.transform.worldPosition = Vector3.Zero();\n stylus.transform.worldRotation = Quaternion.Identity();\n\n const downEvent = new KeyboardEvent(\"keydown\", { code: \"KeyA\" });\n inputElement.dispatchEvent(downEvent);\n\n expect(stylus.transform.worldPosition.x).toBeLessThan(0);\n expect(stylus.transform.worldRotation).not.toEqual(Quaternion.Identity());\n });\n\n it(\"Stops bumping to the left when A is pressed\", () => {\n const { uc, inputElement, stylus } = makeTestRig();\n\n uc.startEmulating();\n stylus.transform.worldPosition = Vector3.Zero();\n\n uc.stopEmulating();\n\n const downEvent = new KeyboardEvent(\"keydown\", { code: \"KeyA\" });\n inputElement.dispatchEvent(downEvent);\n\n expect(stylus.transform.worldPosition.x).toEqual(0);\n });\n\n it(\"Bumps to the right when D is pressed\", () => {\n const { uc, inputElement, stylus } = makeTestRig();\n\n uc.startEmulating();\n stylus.transform.worldPosition = Vector3.Zero();\n stylus.transform.worldRotation = Quaternion.Identity();\n\n const downEvent = new KeyboardEvent(\"keydown\", { code: \"KeyD\" });\n inputElement.dispatchEvent(downEvent);\n\n expect(stylus.transform.worldPosition.x).toBeGreaterThan(0);\n expect(stylus.transform.worldRotation).not.toEqual(Quaternion.Identity());\n });\n\n it(\"Stops bumping to the right when D is pressed\", () => {\n const { uc, inputElement, stylus } = makeTestRig();\n\n uc.startEmulating();\n stylus.transform.worldPosition = Vector3.Zero();\n\n uc.stopEmulating();\n\n const downEvent = new KeyboardEvent(\"keydown\", { code: \"KeyD\" });\n inputElement.dispatchEvent(downEvent);\n\n expect(stylus.transform.worldPosition.x).toEqual(0);\n });\n\n it(\"Bumps down when S is pressed\", () => {\n const { uc, inputElement, stylus } = makeTestRig();\n\n uc.startEmulating();\n stylus.transform.worldPosition = Vector3.Zero();\n stylus.transform.worldRotation = Quaternion.Identity();\n\n const downEvent = new KeyboardEvent(\"keydown\", { code: \"KeyS\" });\n inputElement.dispatchEvent(downEvent);\n\n expect(stylus.transform.worldPosition.z).toBeLessThan(0);\n expect(stylus.transform.worldRotation).not.toEqual(Quaternion.Identity());\n });\n\n it(\"Stops bumping when S is pressed\", () => {\n const { uc, inputElement, stylus } = makeTestRig();\n\n uc.startEmulating();\n stylus.transform.worldPosition = Vector3.Zero();\n\n uc.stopEmulating();\n\n const downEvent = new KeyboardEvent(\"keydown\", { code: \"KeyS\" });\n inputElement.dispatchEvent(downEvent);\n\n expect(stylus.transform.worldPosition.z).toEqual(0);\n });\n\n it(\"Bumps up when W is pressed\", () => {\n const { uc, inputElement, stylus } = makeTestRig();\n\n uc.startEmulating();\n stylus.transform.worldPosition = Vector3.Zero();\n stylus.transform.worldRotation = Quaternion.Identity();\n\n const downEvent = new KeyboardEvent(\"keydown\", { code: \"KeyW\" });\n inputElement.dispatchEvent(downEvent);\n\n expect(stylus.transform.worldPosition.z).toBeGreaterThan(0);\n expect(stylus.transform.worldRotation).not.toEqual(Quaternion.Identity());\n });\n\n it(\"Stops bumping when W is pressed\", () => {\n const { uc, inputElement, stylus } = makeTestRig();\n\n uc.startEmulating();\n stylus.transform.worldPosition = Vector3.Zero();\n\n uc.stopEmulating();\n\n const downEvent = new KeyboardEvent(\"keydown\", { code: \"KeyW\" });\n inputElement.dispatchEvent(downEvent);\n\n expect(stylus.transform.worldPosition.z).toEqual(0);\n });\n});\n"]}
|
|
1
|
+
{"version":3,"file":"EmulateStylusUC.test.js","sourceRoot":"","sources":["../../../../src/Stylus/UCs/EmulateStylusUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\nimport { ParametricLine, Quaternion, Vector3 } from \"@vived/core\";\nimport { makeMockPixelToSceneRayUC } from \"../../Babylon\";\nimport { makeMouseInput } from \"../../MouseInput\";\nimport { makeTouchInput } from \"../../TouchController\";\nimport { makeStylusEntity } from \"../Entity/StylusEntity\";\nimport { EmulateStylusUC, makeEmulateStylusUC } from \"./EmulateStylusUC\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n const registerSingletonSpy = jest.spyOn(appObjects, \"registerSingleton\");\n\n const mouseInput = makeMouseInput(appObjects.getOrCreate(\"Mouse\"));\n const inputElement = document.createElement(\"div\");\n mouseInput.setEventElement(inputElement);\n\n const touchInout = makeTouchInput(appObjects.getOrCreate(\"Touch\"));\n touchInout.setEventElement(inputElement);\n\n const ao = appObjects.getOrCreate(\"Stylus\");\n const stylus = makeStylusEntity(ao);\n const uc = makeEmulateStylusUC(ao);\n\n const mockSceneRay = makeMockPixelToSceneRayUC(appObjects);\n mockSceneRay.pixelToSceneRay = jest\n .fn()\n .mockReturnValue(\n ParametricLine.FromPointDirection(\n new Vector3(1, 1, -1),\n Vector3.Forward()\n )\n );\n\n return {\n uc,\n appObjects,\n registerSingletonSpy,\n mouseInput,\n inputElement,\n stylus,\n touchInout,\n };\n}\n\ndescribe(\"Emulate Stylus UC\", () => {\n it(\"Registers as a singleton\", () => {\n const { uc, registerSingletonSpy } = makeTestRig();\n\n expect(registerSingletonSpy).toHaveBeenCalledWith(uc);\n });\n\n it(\"Gets the singleton\", () => {\n const { uc, appObjects } = makeTestRig();\n\n expect(EmulateStylusUC.get(appObjects)).toEqual(uc);\n });\n\n it(\"Can be started and stopped\", () => {\n const { uc } = makeTestRig();\n\n expect(uc.isEmulating).toEqual(false);\n\n uc.startEmulating();\n\n expect(uc.isEmulating).toEqual(true);\n\n uc.stopEmulating();\n\n expect(uc.isEmulating).toEqual(false);\n });\n\n it(\"Steals the input element from the mouse input\", () => {\n const { uc, mouseInput } = makeTestRig();\n\n const clearInputElementSpy = jest.spyOn(mouseInput, \"clearInputElement\");\n\n uc.startEmulating();\n\n expect(clearInputElementSpy).toHaveBeenCalled();\n });\n\n it(\"Only steals once\", () => {\n const { uc, mouseInput } = makeTestRig();\n\n const clearInputElementSpy = jest.spyOn(mouseInput, \"clearInputElement\");\n\n uc.startEmulating();\n uc.startEmulating();\n uc.startEmulating();\n\n expect(clearInputElementSpy).toHaveBeenCalledTimes(1);\n });\n\n it(\"Clears the input element from the touch input\", () => {\n const { uc, touchInout } = makeTestRig();\n\n const clearInputElementSpy = jest.spyOn(touchInout, \"clearInputElement\");\n\n uc.startEmulating();\n\n expect(clearInputElementSpy).toHaveBeenCalled();\n });\n\n it(\"Only clears once\", () => {\n const { uc, touchInout } = makeTestRig();\n\n const clearInputElementSpy = jest.spyOn(touchInout, \"clearInputElement\");\n\n uc.startEmulating();\n uc.startEmulating();\n uc.startEmulating();\n\n expect(clearInputElementSpy).toHaveBeenCalledTimes(1);\n });\n\n it(\"Returns the mouse input element when stopped\", () => {\n const { uc, mouseInput, inputElement } = makeTestRig();\n\n const setElementSpy = jest.spyOn(mouseInput, \"setEventElement\");\n\n uc.startEmulating();\n uc.stopEmulating();\n\n expect(setElementSpy).toHaveBeenCalledWith(inputElement);\n });\n\n it(\"Only returns to the mouse once\", () => {\n const { uc, mouseInput } = makeTestRig();\n\n const setElementSpy = jest.spyOn(mouseInput, \"setEventElement\");\n\n uc.startEmulating();\n uc.stopEmulating();\n uc.stopEmulating();\n uc.stopEmulating();\n uc.stopEmulating();\n\n expect(setElementSpy).toHaveBeenCalledTimes(1);\n });\n\n it(\"Returns the touch input element when stopped\", () => {\n const { uc, touchInout, inputElement } = makeTestRig();\n\n const setElementSpy = jest.spyOn(touchInout, \"setEventElement\");\n\n uc.startEmulating();\n uc.stopEmulating();\n\n expect(setElementSpy).toHaveBeenCalledWith(inputElement);\n });\n\n it(\"Only returns to the touch once\", () => {\n const { uc, touchInout } = makeTestRig();\n\n const setElementSpy = jest.spyOn(touchInout, \"setEventElement\");\n\n uc.startEmulating();\n uc.stopEmulating();\n uc.stopEmulating();\n uc.stopEmulating();\n uc.stopEmulating();\n\n expect(setElementSpy).toHaveBeenCalledTimes(1);\n });\n\n it(\"Sends mouse down to the stylus\", () => {\n const { uc, inputElement, stylus } = makeTestRig();\n\n stylus.updateButtonState = jest.fn();\n\n uc.startEmulating();\n const e = new MouseEvent(\"mousedown\", { button: 1 });\n inputElement.dispatchEvent(e);\n\n expect(stylus.updateButtonState).toHaveBeenCalledWith(1, true);\n });\n\n it(\"Stops sending mouse down after stopped\", () => {\n const { uc, inputElement, stylus } = makeTestRig();\n\n stylus.updateButtonState = jest.fn();\n\n uc.startEmulating();\n uc.stopEmulating();\n\n const e = new MouseEvent(\"mousedown\", { button: 1 });\n inputElement.dispatchEvent(e);\n\n expect(stylus.updateButtonState).not.toHaveBeenCalled();\n });\n\n it(\"Sends mouse up to the stylus\", () => {\n const { uc, inputElement, stylus } = makeTestRig();\n\n stylus.updateButtonState = jest.fn();\n\n uc.startEmulating();\n const e = new MouseEvent(\"mouseup\", { button: 1 });\n inputElement.dispatchEvent(e);\n\n expect(stylus.updateButtonState).toHaveBeenCalledWith(1, false);\n });\n\n it(\"Stops sending mouse up after stopped\", () => {\n const { uc, inputElement, stylus } = makeTestRig();\n\n stylus.updateButtonState = jest.fn();\n\n uc.startEmulating();\n uc.stopEmulating();\n\n const e = new MouseEvent(\"mouseup\", { button: 1 });\n inputElement.dispatchEvent(e);\n\n expect(stylus.updateButtonState).not.toHaveBeenCalled();\n });\n\n it(\"Rotates the stylus on mouse move\", () => {\n const { uc, inputElement, stylus } = makeTestRig();\n\n stylus.transform.worldRotation = Quaternion.Identity();\n\n uc.startEmulating();\n\n const e = new MouseEvent(\"mousemove\", { clientX: 10, clientY: 10 });\n inputElement.dispatchEvent(e);\n\n expect(stylus.transform.worldRotation).not.toEqual(Quaternion.Identity());\n });\n\n it(\"Stops rotating the stylus on mouse move\", () => {\n const { uc, inputElement, stylus } = makeTestRig();\n\n stylus.transform.worldRotation = Quaternion.Identity();\n\n uc.startEmulating();\n uc.stopEmulating();\n\n const e = new MouseEvent(\"mousemove\", { clientX: 10, clientY: 10 });\n\n inputElement.dispatchEvent(e);\n inputElement.dispatchEvent(e);\n inputElement.dispatchEvent(e);\n\n expect(stylus.transform.worldRotation).toEqual(Quaternion.Identity());\n });\n\n it(\"Bumps to the left when A is pressed\", () => {\n const { uc, inputElement, stylus } = makeTestRig();\n\n uc.startEmulating();\n stylus.transform.worldPosition = Vector3.Zero();\n stylus.transform.worldRotation = Quaternion.Identity();\n\n const downEvent = new KeyboardEvent(\"keydown\", { code: \"KeyA\" });\n inputElement.dispatchEvent(downEvent);\n\n expect(stylus.transform.worldPosition.x).toBeLessThan(0);\n expect(stylus.transform.worldRotation).not.toEqual(Quaternion.Identity());\n });\n\n it(\"Stops bumping to the left when A is pressed\", () => {\n const { uc, inputElement, stylus } = makeTestRig();\n\n uc.startEmulating();\n stylus.transform.worldPosition = Vector3.Zero();\n\n uc.stopEmulating();\n\n const downEvent = new KeyboardEvent(\"keydown\", { code: \"KeyA\" });\n inputElement.dispatchEvent(downEvent);\n\n expect(stylus.transform.worldPosition.x).toEqual(0);\n });\n\n it(\"Bumps to the right when D is pressed\", () => {\n const { uc, inputElement, stylus } = makeTestRig();\n\n uc.startEmulating();\n stylus.transform.worldPosition = Vector3.Zero();\n stylus.transform.worldRotation = Quaternion.Identity();\n\n const downEvent = new KeyboardEvent(\"keydown\", { code: \"KeyD\" });\n inputElement.dispatchEvent(downEvent);\n\n expect(stylus.transform.worldPosition.x).toBeGreaterThan(0);\n expect(stylus.transform.worldRotation).not.toEqual(Quaternion.Identity());\n });\n\n it(\"Stops bumping to the right when D is pressed\", () => {\n const { uc, inputElement, stylus } = makeTestRig();\n\n uc.startEmulating();\n stylus.transform.worldPosition = Vector3.Zero();\n\n uc.stopEmulating();\n\n const downEvent = new KeyboardEvent(\"keydown\", { code: \"KeyD\" });\n inputElement.dispatchEvent(downEvent);\n\n expect(stylus.transform.worldPosition.x).toEqual(0);\n });\n\n it(\"Bumps down when S is pressed\", () => {\n const { uc, inputElement, stylus } = makeTestRig();\n\n uc.startEmulating();\n stylus.transform.worldPosition = Vector3.Zero();\n stylus.transform.worldRotation = Quaternion.Identity();\n\n const downEvent = new KeyboardEvent(\"keydown\", { code: \"KeyS\" });\n inputElement.dispatchEvent(downEvent);\n\n expect(stylus.transform.worldPosition.z).toBeLessThan(0);\n expect(stylus.transform.worldRotation).not.toEqual(Quaternion.Identity());\n });\n\n it(\"Stops bumping when S is pressed\", () => {\n const { uc, inputElement, stylus } = makeTestRig();\n\n uc.startEmulating();\n stylus.transform.worldPosition = Vector3.Zero();\n\n uc.stopEmulating();\n\n const downEvent = new KeyboardEvent(\"keydown\", { code: \"KeyS\" });\n inputElement.dispatchEvent(downEvent);\n\n expect(stylus.transform.worldPosition.z).toEqual(0);\n });\n\n it(\"Bumps up when W is pressed\", () => {\n const { uc, inputElement, stylus } = makeTestRig();\n\n uc.startEmulating();\n stylus.transform.worldPosition = Vector3.Zero();\n stylus.transform.worldRotation = Quaternion.Identity();\n\n const downEvent = new KeyboardEvent(\"keydown\", { code: \"KeyW\" });\n inputElement.dispatchEvent(downEvent);\n\n expect(stylus.transform.worldPosition.z).toBeGreaterThan(0);\n expect(stylus.transform.worldRotation).not.toEqual(Quaternion.Identity());\n });\n\n it(\"Stops bumping when W is pressed\", () => {\n const { uc, inputElement, stylus } = makeTestRig();\n\n uc.startEmulating();\n stylus.transform.worldPosition = Vector3.Zero();\n\n uc.stopEmulating();\n\n const downEvent = new KeyboardEvent(\"keydown\", { code: \"KeyW\" });\n inputElement.dispatchEvent(downEvent);\n\n expect(stylus.transform.worldPosition.z).toEqual(0);\n });\n});\n"]}
|
|
@@ -15,6 +15,7 @@ function makeTestRig() {
|
|
|
15
15
|
const doDispatchMock = jest.fn();
|
|
16
16
|
mockDispatch.doDispatch = doDispatchMock;
|
|
17
17
|
const mockPick = (0, Babylon_1.makeMockScenePixelPickUC)(appObjects);
|
|
18
|
+
mockPick.scenePixelPick = jest.fn();
|
|
18
19
|
const mockPixelRay = (0, Babylon_1.makeMockPixelToSceneRayUC)(appObjects);
|
|
19
20
|
mockPixelRay.pixelToSceneRay = (pos) => {
|
|
20
21
|
return core_2.ParametricLine.FromPointDirection(new core_2.Vector3(pos.x, pos.y, -2), core_2.Vector3.Forward());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BumpTransformScaleAboutPixelPoint.test.js","sourceRoot":"","sources":["../../../../src/Transform3D/UC/BumpTransformScaleAboutPixelPoint.test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"BumpTransformScaleAboutPixelPoint.test.js","sourceRoot":"","sources":["../../../../src/Transform3D/UC/BumpTransformScaleAboutPixelPoint.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\nimport {\n makeMockPixelToSceneRayUC,\n makeMockScenePixelPickUC,\n PixelToSceneRayUC,\n ScenePixelPick,\n} from \"../../Babylon\";\nimport { makeTransform3D } from \"../Entities\";\nimport { makeBumpTransformScaleAboutPixelPointUC } from \"./BumpTransformScaleAboutPixelPoint\";\nimport { makeMockDispatchStateChange } from \"../../Dispatcher/Mocks/MockDispatchStateChange\";\nimport { ParametricLine, ParametricPlane, Vector2, Vector3 } from \"@vived/core\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n const ao = appObjects.getOrCreate(\"AO\");\n const transform = makeTransform3D(ao);\n const bumpUC = makeBumpTransformScaleAboutPixelPointUC(ao);\n\n const mockDispatch = makeMockDispatchStateChange(appObjects);\n const doDispatchMock = jest.fn();\n mockDispatch.doDispatch = doDispatchMock;\n\n const mockPick = makeMockScenePixelPickUC(appObjects);\n mockPick.scenePixelPick = jest.fn();\n const mockPixelRay = makeMockPixelToSceneRayUC(\n appObjects\n ) as PixelToSceneRayUC;\n mockPixelRay.pixelToSceneRay = (pos: Vector2) => {\n return ParametricLine.FromPointDirection(\n new Vector3(pos.x, pos.y, -2),\n Vector3.Forward()\n );\n };\n\n return {\n bumpUC,\n transform,\n doDispatchMock,\n mockPick,\n appObjects,\n };\n}\n\ndescribe(\"Bumping the transform scale use case\", () => {\n it(\"Bumps the scale smaller with an out\", () => {\n const { bumpUC, transform } = makeTestRig();\n\n transform.worldScale = Vector3.One();\n bumpUC.bump(\"OUT\", Vector2.Zero());\n\n expect(transform.worldScale.x).toBeLessThan(1);\n });\n\n it(\"Bumps the scale larger with an in\", () => {\n const { bumpUC, transform } = makeTestRig();\n transform.worldScale = Vector3.One();\n bumpUC.bump(\"IN\", Vector2.Zero());\n\n expect(transform.worldScale.x).toBeGreaterThan(1);\n });\n\n it(\"Scales around the origin if there is no pick\", () => {\n const { bumpUC, transform } = makeTestRig();\n\n transform.worldPosition = Vector3.Zero();\n\n bumpUC.bump(\"IN\", Vector2.Zero());\n\n expect(transform.worldPosition).toEqual(Vector3.Zero());\n });\n\n it(\"Scales around the pick point\", () => {\n const { bumpUC, mockPick, transform } = makeTestRig();\n\n transform.worldPosition = Vector3.Zero();\n\n const pick: ScenePixelPick = {\n hit: true,\n sceneRay: ParametricLine.Forward(),\n worldPickPoint: new Vector3(1, 2, 3),\n };\n\n (mockPick.scenePixelPick as jest.Mock).mockReturnValue(pick);\n\n bumpUC.bump(\"IN\", Vector2.Zero());\n\n expect(transform.worldPosition.x).toBeCloseTo(-0.1);\n expect(transform.worldPosition.y).toBeCloseTo(-0.2);\n expect(transform.worldPosition.z).toBeCloseTo(-0.3);\n });\n\n it(\"Dispatches state change\", () => {\n const { bumpUC, doDispatchMock } = makeTestRig();\n\n bumpUC.bump(\"IN\", Vector2.Zero());\n expect(doDispatchMock).toHaveBeenCalled();\n });\n\n it(\"Limits the minimum\", () => {\n const { bumpUC, transform } = makeTestRig();\n\n bumpUC.minScale = 0.9;\n\n transform.worldScale = Vector3.One();\n bumpUC.bump(\"OUT\", Vector2.Zero());\n bumpUC.bump(\"OUT\", Vector2.Zero());\n bumpUC.bump(\"OUT\", Vector2.Zero());\n bumpUC.bump(\"OUT\", Vector2.Zero());\n\n expect(transform.worldScale.x).toEqual(0.9);\n });\n\n it(\"Limits the maximum\", () => {\n const { bumpUC, transform } = makeTestRig();\n\n bumpUC.maxScale = 1.1;\n\n transform.worldScale = Vector3.One();\n bumpUC.bump(\"IN\", Vector2.Zero());\n bumpUC.bump(\"IN\", Vector2.Zero());\n bumpUC.bump(\"IN\", Vector2.Zero());\n bumpUC.bump(\"IN\", Vector2.Zero());\n\n expect(transform.worldScale.x).toEqual(1.1);\n });\n\n it(\"Does not update if disabled\", () => {\n const { bumpUC, transform } = makeTestRig();\n transform.worldScale = Vector3.One();\n bumpUC.enabled = false;\n\n bumpUC.bump(\"IN\", Vector2.Zero());\n\n expect(transform.worldScale).toEqual(Vector3.One());\n });\n\n it(\"Scales around the pick point on the plane if the plane is supplied\", () => {\n const { bumpUC, transform } = makeTestRig();\n\n transform.worldPosition = Vector3.Zero();\n\n const pickPlane = ParametricPlane.FromPointNormal(\n new Vector3(0, 0, -1),\n Vector3.Forward()\n );\n bumpUC.pickPlane = pickPlane;\n\n bumpUC.bump(\"IN\", Vector2.Zero());\n\n expect(transform.worldPosition.x).toBeCloseTo(0);\n expect(transform.worldPosition.y).toBeCloseTo(0);\n expect(transform.worldPosition.z).toBeCloseTo(0.1);\n });\n});\n"]}
|
|
@@ -12,6 +12,7 @@ function makeTestRig() {
|
|
|
12
12
|
const transform = (0, Entities_1.makeTransform3D)(ao);
|
|
13
13
|
const pinchUC = (0, PinchTransform_1.makePinchTransformUC)(ao);
|
|
14
14
|
const mockPick = (0, Babylon_1.makeMockScenePixelPickUC)(appObjects);
|
|
15
|
+
mockPick.scenePixelPick = jest.fn();
|
|
15
16
|
const mockDispatch = (0, MockDispatchStateChange_1.makeMockDispatchStateChange)(appObjects);
|
|
16
17
|
const doDispatchMock = jest.fn();
|
|
17
18
|
mockDispatch.doDispatch = doDispatchMock;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PinchTransform.test.js","sourceRoot":"","sources":["../../../../src/Transform3D/UC/PinchTransform.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\nimport { ParametricLine, Vector2, Vector3 } from \"@vived/core\";\nimport {\n makeMockPixelToSceneRayUC,\n makeMockScenePixelPickUC,\n PixelToSceneRayUC,\n} from \"../../Babylon\";\nimport { makeMockDispatchStateChange } from \"../../Dispatcher/Mocks/MockDispatchStateChange\";\nimport { makeTransform3D } from \"../Entities\";\nimport { makePinchTransformUC } from \"./PinchTransform\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n const ao = appObjects.getOrCreate(\"AO\");\n const transform = makeTransform3D(ao);\n\n const pinchUC = makePinchTransformUC(ao);\n\n const mockPick = makeMockScenePixelPickUC(appObjects);\n const mockDispatch = makeMockDispatchStateChange(appObjects);\n const doDispatchMock = jest.fn();\n mockDispatch.doDispatch = doDispatchMock;\n\n const mockRay = makeMockPixelToSceneRayUC(appObjects) as PixelToSceneRayUC;\n\n mockRay.pixelToSceneRay = mockPicker;\n\n return {\n appObjects,\n pinchUC,\n transform,\n mockPick,\n doDispatchMock,\n mockRay,\n };\n}\n\nfunction mockPicker(pixel: Vector2): ParametricLine {\n return ParametricLine.FromPointDirection(\n new Vector3(pixel.x, pixel.y, 3),\n Vector3.Forward(),\n );\n}\n\ndescribe(\"Pinch Scene Root Use Case\", () => {\n it(\"Move with no scaling adjusts the root as expected\", () => {\n const { pinchUC, transform } = makeTestRig();\n\n transform.worldPosition = new Vector3(1, 2, 3);\n\n const touch1 = new Vector2(5, 8);\n const touch2 = new Vector2(5, 0);\n pinchUC.initializePinch(touch1, touch2);\n\n const touch3 = new Vector2(0, 8);\n const touch4 = new Vector2(0, 0);\n pinchUC.doPinch(touch3, touch4);\n\n const expected = new Vector3(-4, 2, 3); // -5 in the x\n\n const wPos = transform.worldPosition;\n expect(Vector3.Close(wPos, expected)).toEqual(true);\n });\n\n it(\"Plane pick is relative\", () => {\n const { pinchUC, transform, mockPick } = makeTestRig();\n\n mockPick.scenePixelPick.mockReturnValue(new Vector3(10, 20, 60));\n\n transform.worldPosition = new Vector3(1, 2, 3);\n\n const touch1 = new Vector2(5, 8);\n const touch2 = new Vector2(5, 0);\n pinchUC.initializePinch(touch1, touch2);\n\n const touch3 = new Vector2(0, 8);\n const touch4 = new Vector2(0, 0);\n pinchUC.doPinch(touch3, touch4);\n\n const expected = new Vector3(-4, 2, 3); // -5 in the x\n\n const wPos = transform.worldPosition;\n expect(Vector3.Close(wPos, expected)).toEqual(true);\n });\n\n it(\"Scales smaller with a pinch that moves closer\", () => {\n const { pinchUC, transform } = makeTestRig();\n transform.worldPosition = new Vector3(0, 0, 0);\n transform.worldScale = Vector3.One();\n\n const touch1 = new Vector2(0, 8);\n const touch2 = new Vector2(0, -8);\n pinchUC.initializePinch(touch1, touch2);\n\n const touch3 = new Vector2(0, 4);\n const touch4 = new Vector2(0, -4);\n pinchUC.doPinch(touch3, touch4);\n\n const expectedScaleDelta = pinchUC.sensitivity * 8;\n\n expect(transform.worldScale.x).toEqual(1 - expectedScaleDelta);\n });\n\n it(\"Scales larger with a pinch that moves further\", () => {\n const { pinchUC, transform } = makeTestRig();\n transform.worldPosition = new Vector3(0, 0, 0);\n transform.worldScale = Vector3.One();\n\n const touch1 = new Vector2(0, 8);\n const touch2 = new Vector2(0, -8);\n pinchUC.initializePinch(touch1, touch2);\n\n const touch3 = new Vector2(0, 12);\n const touch4 = new Vector2(0, -12);\n pinchUC.doPinch(touch3, touch4);\n\n const expectedScaleDelta = pinchUC.sensitivity * 8;\n expect(transform.worldScale.x).toEqual(1 + expectedScaleDelta);\n });\n\n it(\"Dispatches a state change if the position has changed since init\", () => {\n const { transform, pinchUC, doDispatchMock } = makeTestRig();\n\n transform.worldScale = new Vector3(5, 5, 5);\n const touch1 = new Vector2(0, 8);\n const touch2 = new Vector2(0, -8);\n pinchUC.initializePinch(touch1, touch2);\n\n transform.worldScale = new Vector3(6, 6, 6);\n pinchUC.finishPinch();\n\n expect(doDispatchMock).toHaveBeenCalled();\n });\n\n it(\"Does not dispatch a state change if the scale has not changed\", () => {\n const { transform, pinchUC, doDispatchMock } = makeTestRig();\n\n transform.worldScale = new Vector3(5, 5, 5);\n const touch1 = new Vector2(0, 8);\n const touch2 = new Vector2(0, -8);\n pinchUC.initializePinch(touch1, touch2);\n\n pinchUC.finishPinch();\n\n expect(doDispatchMock).not.toHaveBeenCalled();\n });\n\n it(\"Does not update if not enabled\", () => {\n const { pinchUC, transform } = makeTestRig();\n\n pinchUC.enabled = false;\n transform.worldPosition = Vector3.Zero();\n\n const touch1 = new Vector2(5, 8);\n const touch2 = new Vector2(5, 0);\n pinchUC.initializePinch(touch1, touch2);\n\n const touch3 = new Vector2(0, 8);\n const touch4 = new Vector2(0, 0);\n pinchUC.doPinch(touch3, touch4);\n\n expect(transform.worldPosition).toEqual(Vector3.Zero());\n });\n});\n"]}
|
|
1
|
+
{"version":3,"file":"PinchTransform.test.js","sourceRoot":"","sources":["../../../../src/Transform3D/UC/PinchTransform.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\nimport { ParametricLine, Vector2, Vector3 } from \"@vived/core\";\nimport {\n makeMockPixelToSceneRayUC,\n makeMockScenePixelPickUC,\n PixelToSceneRayUC,\n} from \"../../Babylon\";\nimport { makeMockDispatchStateChange } from \"../../Dispatcher/Mocks/MockDispatchStateChange\";\nimport { makeTransform3D } from \"../Entities\";\nimport { makePinchTransformUC } from \"./PinchTransform\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n const ao = appObjects.getOrCreate(\"AO\");\n const transform = makeTransform3D(ao);\n\n const pinchUC = makePinchTransformUC(ao);\n\n const mockPick = makeMockScenePixelPickUC(appObjects);\n mockPick.scenePixelPick = jest.fn();\n const mockDispatch = makeMockDispatchStateChange(appObjects);\n const doDispatchMock = jest.fn();\n mockDispatch.doDispatch = doDispatchMock;\n\n const mockRay = makeMockPixelToSceneRayUC(appObjects) as PixelToSceneRayUC;\n\n mockRay.pixelToSceneRay = mockPicker;\n\n return {\n appObjects,\n pinchUC,\n transform,\n mockPick,\n doDispatchMock,\n mockRay,\n };\n}\n\nfunction mockPicker(pixel: Vector2): ParametricLine {\n return ParametricLine.FromPointDirection(\n new Vector3(pixel.x, pixel.y, 3),\n Vector3.Forward()\n );\n}\n\ndescribe(\"Pinch Scene Root Use Case\", () => {\n it(\"Move with no scaling adjusts the root as expected\", () => {\n const { pinchUC, transform } = makeTestRig();\n\n transform.worldPosition = new Vector3(1, 2, 3);\n\n const touch1 = new Vector2(5, 8);\n const touch2 = new Vector2(5, 0);\n pinchUC.initializePinch(touch1, touch2);\n\n const touch3 = new Vector2(0, 8);\n const touch4 = new Vector2(0, 0);\n pinchUC.doPinch(touch3, touch4);\n\n const expected = new Vector3(-4, 2, 3); // -5 in the x\n\n const wPos = transform.worldPosition;\n expect(Vector3.Close(wPos, expected)).toEqual(true);\n });\n\n it(\"Plane pick is relative\", () => {\n const { pinchUC, transform, mockPick } = makeTestRig();\n\n (mockPick.scenePixelPick as jest.Mock).mockReturnValue(\n new Vector3(10, 20, 60)\n );\n\n transform.worldPosition = new Vector3(1, 2, 3);\n\n const touch1 = new Vector2(5, 8);\n const touch2 = new Vector2(5, 0);\n pinchUC.initializePinch(touch1, touch2);\n\n const touch3 = new Vector2(0, 8);\n const touch4 = new Vector2(0, 0);\n pinchUC.doPinch(touch3, touch4);\n\n const expected = new Vector3(-4, 2, 3); // -5 in the x\n\n const wPos = transform.worldPosition;\n expect(Vector3.Close(wPos, expected)).toEqual(true);\n });\n\n it(\"Scales smaller with a pinch that moves closer\", () => {\n const { pinchUC, transform } = makeTestRig();\n transform.worldPosition = new Vector3(0, 0, 0);\n transform.worldScale = Vector3.One();\n\n const touch1 = new Vector2(0, 8);\n const touch2 = new Vector2(0, -8);\n pinchUC.initializePinch(touch1, touch2);\n\n const touch3 = new Vector2(0, 4);\n const touch4 = new Vector2(0, -4);\n pinchUC.doPinch(touch3, touch4);\n\n const expectedScaleDelta = pinchUC.sensitivity * 8;\n\n expect(transform.worldScale.x).toEqual(1 - expectedScaleDelta);\n });\n\n it(\"Scales larger with a pinch that moves further\", () => {\n const { pinchUC, transform } = makeTestRig();\n transform.worldPosition = new Vector3(0, 0, 0);\n transform.worldScale = Vector3.One();\n\n const touch1 = new Vector2(0, 8);\n const touch2 = new Vector2(0, -8);\n pinchUC.initializePinch(touch1, touch2);\n\n const touch3 = new Vector2(0, 12);\n const touch4 = new Vector2(0, -12);\n pinchUC.doPinch(touch3, touch4);\n\n const expectedScaleDelta = pinchUC.sensitivity * 8;\n expect(transform.worldScale.x).toEqual(1 + expectedScaleDelta);\n });\n\n it(\"Dispatches a state change if the position has changed since init\", () => {\n const { transform, pinchUC, doDispatchMock } = makeTestRig();\n\n transform.worldScale = new Vector3(5, 5, 5);\n const touch1 = new Vector2(0, 8);\n const touch2 = new Vector2(0, -8);\n pinchUC.initializePinch(touch1, touch2);\n\n transform.worldScale = new Vector3(6, 6, 6);\n pinchUC.finishPinch();\n\n expect(doDispatchMock).toHaveBeenCalled();\n });\n\n it(\"Does not dispatch a state change if the scale has not changed\", () => {\n const { transform, pinchUC, doDispatchMock } = makeTestRig();\n\n transform.worldScale = new Vector3(5, 5, 5);\n const touch1 = new Vector2(0, 8);\n const touch2 = new Vector2(0, -8);\n pinchUC.initializePinch(touch1, touch2);\n\n pinchUC.finishPinch();\n\n expect(doDispatchMock).not.toHaveBeenCalled();\n });\n\n it(\"Does not update if not enabled\", () => {\n const { pinchUC, transform } = makeTestRig();\n\n pinchUC.enabled = false;\n transform.worldPosition = Vector3.Zero();\n\n const touch1 = new Vector2(5, 8);\n const touch2 = new Vector2(5, 0);\n pinchUC.initializePinch(touch1, touch2);\n\n const touch3 = new Vector2(0, 8);\n const touch4 = new Vector2(0, 0);\n pinchUC.doPinch(touch3, touch4);\n\n expect(transform.worldPosition).toEqual(Vector3.Zero());\n });\n});\n"]}
|
|
@@ -11,6 +11,7 @@ function makeTestRig() {
|
|
|
11
11
|
const appObj = appObjects.getOrCreate("appObj");
|
|
12
12
|
const screenPeelUC = new Mocks_1.MockPanTransformUC(appObj);
|
|
13
13
|
const mockPixelToRay = (0, Babylon_1.makeMockPixelToSceneRayUC)(appObjects);
|
|
14
|
+
mockPixelToRay.pixelToSceneRay = jest.fn();
|
|
14
15
|
const mockPickResult = {
|
|
15
16
|
hit: true,
|
|
16
17
|
worldPickPoint: new core_1.Vector3(1, 2, 3),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TryPanTransformUC.test.js","sourceRoot":"","sources":["../../../../src/Transform3D/UC/TryPanTransformUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n makeAppObjectRepo,\n ParametricLine,\n Vector2,\n Vector3,\n} from \"@vived/core\";\nimport {\n makeMockPixelToSceneRayUC,\n makeMockSceneRayPickUC,\n SceneRayPick,\n} from \"../../Babylon\";\nimport { MockPanTransformUC } from \"../Mocks\";\nimport { makeTryPanTransformUC } from \"./TryPanTransformUC\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n\n const tryDragAO = appObjects.getOrCreate(\"tryDragAO\");\n const uc = makeTryPanTransformUC(tryDragAO);\n\n const appObj = appObjects.getOrCreate(\"appObj\");\n const screenPeelUC = new MockPanTransformUC(appObj);\n\n const mockPixelToRay = makeMockPixelToSceneRayUC(appObjects);\n\n const mockPickResult: SceneRayPick = {\n hit: true,\n worldPickPoint: new Vector3(1, 2, 3),\n appObjectID: \"appObj\",\n };\n\n const mockRayPick = makeMockSceneRayPickUC(appObjects);\n const mockPick = jest.fn().mockReturnValue(mockPickResult);\n mockRayPick.sceneRayPick = mockPick;\n\n mockPick.mockReturnValue(mockPickResult);\n\n return { appObjects, uc, mockPickResult, screenPeelUC, mockPixelToRay };\n}\n\ndescribe(\"Default Try Screen Drag Transform UC\", () => {\n it(\"Returns true if the initialization is successful\", () => {\n const { uc } = makeTestRig();\n expect(uc.tryWithRay(ParametricLine.Forward())).toEqual(true);\n });\n\n it(\"Returns false if the pick doesn't return an app id\", () => {\n const { mockPickResult, uc } = makeTestRig();\n mockPickResult.appObjectID = undefined;\n\n expect(uc.tryWithRay(ParametricLine.Forward())).toEqual(false);\n });\n\n it(\"Returns false if the picked app object doesn't have a ScreenPeelTransformUC\", () => {\n const { mockPickResult, uc } = makeTestRig();\n mockPickResult.appObjectID = \"somethingElse\";\n\n expect(uc.tryWithRay(ParametricLine.Forward())).toEqual(false);\n });\n\n it(\"Initializes the peel UC\", () => {\n const { uc, screenPeelUC } = makeTestRig();\n\n uc.tryWithRay(ParametricLine.Forward());\n\n expect(screenPeelUC.initializeRay).toHaveBeenCalledWith(\n ParametricLine.Forward(),\n );\n });\n\n it(\"Updates the screenPeelUC\", () => {\n const { uc, screenPeelUC } = makeTestRig();\n\n uc.tryWithRay(ParametricLine.Forward());\n uc.moveWithRay(ParametricLine.Forward());\n\n expect(screenPeelUC.updateRay).toHaveBeenCalledWith(\n ParametricLine.Forward(),\n );\n });\n\n it(\"Doesn't update if the init did not happen the screenPeelUC\", () => {\n const { uc, screenPeelUC } = makeTestRig();\n\n uc.moveWithRay(ParametricLine.Forward());\n\n expect(screenPeelUC.updateRay).not.toHaveBeenCalled();\n });\n\n it(\"Stop the UC\", () => {\n const { uc, screenPeelUC } = makeTestRig();\n\n uc.tryWithRay(ParametricLine.Forward());\n uc.stop();\n\n expect(screenPeelUC.finish).toHaveBeenCalled();\n });\n\n it(\"Doesn't stop if the init did not happen the screenPeelUC\", () => {\n const { uc, screenPeelUC } = makeTestRig();\n\n uc.stop();\n\n expect(screenPeelUC.finish).not.toHaveBeenCalled();\n });\n\n it(\"Cancels the UC\", () => {\n const { uc, screenPeelUC } = makeTestRig();\n\n uc.tryWithRay(ParametricLine.Forward());\n uc.cancel();\n\n expect(screenPeelUC.cancelPan).toHaveBeenCalled();\n });\n\n it(\"Doesn't cancel if the init did not happen the screenPeelUC\", () => {\n const { uc, screenPeelUC } = makeTestRig();\n\n uc.cancel();\n\n expect(screenPeelUC.cancelPan).not.toHaveBeenCalled();\n });\n\n it(\"Doesn't update or stop after a cancel\", () => {\n const { uc, screenPeelUC } = makeTestRig();\n\n uc.tryWithRay(ParametricLine.Forward());\n uc.cancel();\n\n uc.moveWithRay(ParametricLine.Forward());\n uc.stop();\n\n expect(screenPeelUC.updateRay).not.toHaveBeenCalled();\n expect(screenPeelUC.finish).not.toHaveBeenCalled();\n });\n\n it(\"Doesn't update or stop if not allowed\", () => {\n const { uc, screenPeelUC } = makeTestRig();\n\n uc.allow = () => {\n return false;\n };\n\n uc.tryWithRay(ParametricLine.Forward());\n uc.moveWithRay(ParametricLine.Forward());\n uc.stop();\n\n expect(screenPeelUC.updateRay).not.toHaveBeenCalled();\n expect(screenPeelUC.finish).not.toHaveBeenCalled();\n });\n\n it(\"Forms the ray and initializes with it when a pixel is passed in\", () => {\n const { uc, mockPixelToRay } = makeTestRig();\n\n const initSpy = jest.spyOn(uc, \"tryWithRay\");\n const ray = ParametricLine.FromTwoPoint(\n new Vector3(1, 2, 3),\n new Vector3(4, 5, 6),\n );\n mockPixelToRay.pixelToSceneRay.mockReturnValue(ray);\n\n uc.tryWithPixel(new Vector2(8, 9));\n\n expect(mockPixelToRay.pixelToSceneRay).toHaveBeenCalledWith(\n new Vector2(8, 9),\n );\n expect(initSpy).toHaveBeenCalledWith(ray);\n });\n\n it(\"Forms the ray and moves with it when a pixel is passed in\", () => {\n const { uc, mockPixelToRay } = makeTestRig();\n\n const moveSpy = jest.spyOn(uc, \"moveWithRay\");\n const ray = ParametricLine.FromTwoPoint(\n new Vector3(1, 2, 3),\n new Vector3(4, 5, 6),\n );\n mockPixelToRay.pixelToSceneRay.mockReturnValue(ray);\n\n uc.moveWithPixel(new Vector2(8, 9));\n\n expect(mockPixelToRay.pixelToSceneRay).toHaveBeenCalledWith(\n new Vector2(8, 9),\n );\n expect(moveSpy).toHaveBeenCalledWith(ray);\n });\n});\n"]}
|
|
1
|
+
{"version":3,"file":"TryPanTransformUC.test.js","sourceRoot":"","sources":["../../../../src/Transform3D/UC/TryPanTransformUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n makeAppObjectRepo,\n ParametricLine,\n Vector2,\n Vector3,\n} from \"@vived/core\";\nimport {\n makeMockPixelToSceneRayUC,\n makeMockSceneRayPickUC,\n SceneRayPick,\n} from \"../../Babylon\";\nimport { MockPanTransformUC } from \"../Mocks\";\nimport { makeTryPanTransformUC } from \"./TryPanTransformUC\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n\n const tryDragAO = appObjects.getOrCreate(\"tryDragAO\");\n const uc = makeTryPanTransformUC(tryDragAO);\n\n const appObj = appObjects.getOrCreate(\"appObj\");\n const screenPeelUC = new MockPanTransformUC(appObj);\n\n const mockPixelToRay = makeMockPixelToSceneRayUC(appObjects);\n mockPixelToRay.pixelToSceneRay = jest.fn();\n\n const mockPickResult: SceneRayPick = {\n hit: true,\n worldPickPoint: new Vector3(1, 2, 3),\n appObjectID: \"appObj\",\n };\n\n const mockRayPick = makeMockSceneRayPickUC(appObjects);\n const mockPick = jest.fn().mockReturnValue(mockPickResult);\n mockRayPick.sceneRayPick = mockPick;\n\n mockPick.mockReturnValue(mockPickResult);\n\n return { appObjects, uc, mockPickResult, screenPeelUC, mockPixelToRay };\n}\n\ndescribe(\"Default Try Screen Drag Transform UC\", () => {\n it(\"Returns true if the initialization is successful\", () => {\n const { uc } = makeTestRig();\n expect(uc.tryWithRay(ParametricLine.Forward())).toEqual(true);\n });\n\n it(\"Returns false if the pick doesn't return an app id\", () => {\n const { mockPickResult, uc } = makeTestRig();\n mockPickResult.appObjectID = undefined;\n\n expect(uc.tryWithRay(ParametricLine.Forward())).toEqual(false);\n });\n\n it(\"Returns false if the picked app object doesn't have a ScreenPeelTransformUC\", () => {\n const { mockPickResult, uc } = makeTestRig();\n mockPickResult.appObjectID = \"somethingElse\";\n\n expect(uc.tryWithRay(ParametricLine.Forward())).toEqual(false);\n });\n\n it(\"Initializes the peel UC\", () => {\n const { uc, screenPeelUC } = makeTestRig();\n\n uc.tryWithRay(ParametricLine.Forward());\n\n expect(screenPeelUC.initializeRay).toHaveBeenCalledWith(\n ParametricLine.Forward()\n );\n });\n\n it(\"Updates the screenPeelUC\", () => {\n const { uc, screenPeelUC } = makeTestRig();\n\n uc.tryWithRay(ParametricLine.Forward());\n uc.moveWithRay(ParametricLine.Forward());\n\n expect(screenPeelUC.updateRay).toHaveBeenCalledWith(\n ParametricLine.Forward()\n );\n });\n\n it(\"Doesn't update if the init did not happen the screenPeelUC\", () => {\n const { uc, screenPeelUC } = makeTestRig();\n\n uc.moveWithRay(ParametricLine.Forward());\n\n expect(screenPeelUC.updateRay).not.toHaveBeenCalled();\n });\n\n it(\"Stop the UC\", () => {\n const { uc, screenPeelUC } = makeTestRig();\n\n uc.tryWithRay(ParametricLine.Forward());\n uc.stop();\n\n expect(screenPeelUC.finish).toHaveBeenCalled();\n });\n\n it(\"Doesn't stop if the init did not happen the screenPeelUC\", () => {\n const { uc, screenPeelUC } = makeTestRig();\n\n uc.stop();\n\n expect(screenPeelUC.finish).not.toHaveBeenCalled();\n });\n\n it(\"Cancels the UC\", () => {\n const { uc, screenPeelUC } = makeTestRig();\n\n uc.tryWithRay(ParametricLine.Forward());\n uc.cancel();\n\n expect(screenPeelUC.cancelPan).toHaveBeenCalled();\n });\n\n it(\"Doesn't cancel if the init did not happen the screenPeelUC\", () => {\n const { uc, screenPeelUC } = makeTestRig();\n\n uc.cancel();\n\n expect(screenPeelUC.cancelPan).not.toHaveBeenCalled();\n });\n\n it(\"Doesn't update or stop after a cancel\", () => {\n const { uc, screenPeelUC } = makeTestRig();\n\n uc.tryWithRay(ParametricLine.Forward());\n uc.cancel();\n\n uc.moveWithRay(ParametricLine.Forward());\n uc.stop();\n\n expect(screenPeelUC.updateRay).not.toHaveBeenCalled();\n expect(screenPeelUC.finish).not.toHaveBeenCalled();\n });\n\n it(\"Doesn't update or stop if not allowed\", () => {\n const { uc, screenPeelUC } = makeTestRig();\n\n uc.allow = () => {\n return false;\n };\n\n uc.tryWithRay(ParametricLine.Forward());\n uc.moveWithRay(ParametricLine.Forward());\n uc.stop();\n\n expect(screenPeelUC.updateRay).not.toHaveBeenCalled();\n expect(screenPeelUC.finish).not.toHaveBeenCalled();\n });\n\n it(\"Forms the ray and initializes with it when a pixel is passed in\", () => {\n const { uc, mockPixelToRay } = makeTestRig();\n\n const initSpy = jest.spyOn(uc, \"tryWithRay\");\n const ray = ParametricLine.FromTwoPoint(\n new Vector3(1, 2, 3),\n new Vector3(4, 5, 6)\n );\n (mockPixelToRay.pixelToSceneRay as jest.Mock).mockReturnValue(ray);\n\n uc.tryWithPixel(new Vector2(8, 9));\n\n expect(mockPixelToRay.pixelToSceneRay).toHaveBeenCalledWith(\n new Vector2(8, 9)\n );\n expect(initSpy).toHaveBeenCalledWith(ray);\n });\n\n it(\"Forms the ray and moves with it when a pixel is passed in\", () => {\n const { uc, mockPixelToRay } = makeTestRig();\n\n const moveSpy = jest.spyOn(uc, \"moveWithRay\");\n const ray = ParametricLine.FromTwoPoint(\n new Vector3(1, 2, 3),\n new Vector3(4, 5, 6)\n );\n (mockPixelToRay.pixelToSceneRay as jest.Mock).mockReturnValue(ray);\n\n uc.moveWithPixel(new Vector2(8, 9));\n\n expect(mockPixelToRay.pixelToSceneRay).toHaveBeenCalledWith(\n new Vector2(8, 9)\n );\n expect(moveSpy).toHaveBeenCalledWith(ray);\n });\n});\n"]}
|
|
@@ -2,9 +2,9 @@ import { BabylonRenderingUC } from "../UC";
|
|
|
2
2
|
export class MockBabylonRenderingUC extends BabylonRenderingUC {
|
|
3
3
|
constructor(appObject) {
|
|
4
4
|
super(appObject, BabylonRenderingUC.type);
|
|
5
|
-
this.submitRenderCanvas =
|
|
6
|
-
this.clearRenderCanvas =
|
|
7
|
-
this.resize =
|
|
5
|
+
this.submitRenderCanvas = (_canvas) => { };
|
|
6
|
+
this.clearRenderCanvas = () => { };
|
|
7
|
+
this.resize = () => { };
|
|
8
8
|
}
|
|
9
9
|
}
|
|
10
10
|
export function makeMockBabylonRenderingUC(appObjects) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MockBabylonRenderingUC.js","sourceRoot":"","sources":["../../../../src/Babylon/Mocks/MockBabylonRenderingUC.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAE3C,MAAM,OAAO,sBAAuB,SAAQ,kBAAkB;IAK5D,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAL5C,uBAAkB,GAAG,
|
|
1
|
+
{"version":3,"file":"MockBabylonRenderingUC.js","sourceRoot":"","sources":["../../../../src/Babylon/Mocks/MockBabylonRenderingUC.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAE3C,MAAM,OAAO,sBAAuB,SAAQ,kBAAkB;IAK5D,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAL5C,uBAAkB,GAAG,CAAC,OAA0B,EAAQ,EAAE,GAAE,CAAC,CAAC;QAC9D,sBAAiB,GAAG,GAAS,EAAE,GAAE,CAAC,CAAC;QACnC,WAAM,GAAG,GAAS,EAAE,GAAE,CAAC,CAAC;IAIxB,CAAC;CACF;AAED,MAAM,UAAU,0BAA0B,CAAC,UAAyB;IAClE,OAAO,IAAI,sBAAsB,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;AACvE,CAAC","sourcesContent":["import { AppObject, AppObjectRepo } from \"@vived/core\";\nimport { BabylonRenderingUC } from \"../UC\";\n\nexport class MockBabylonRenderingUC extends BabylonRenderingUC {\n submitRenderCanvas = (_canvas: HTMLCanvasElement): void => {};\n clearRenderCanvas = (): void => {};\n resize = (): void => {};\n\n constructor(appObject: AppObject) {\n super(appObject, BabylonRenderingUC.type);\n }\n}\n\nexport function makeMockBabylonRenderingUC(appObjects: AppObjectRepo) {\n return new MockBabylonRenderingUC(appObjects.getOrCreate(\"Babylon\"));\n}\n"]}
|
|
@@ -2,7 +2,7 @@ import { PixelToSceneRayUC } from "../UC";
|
|
|
2
2
|
export class MockPixelToSceneRayUC extends PixelToSceneRayUC {
|
|
3
3
|
constructor(appObject) {
|
|
4
4
|
super(appObject, PixelToSceneRayUC.type);
|
|
5
|
-
this.pixelToSceneRay =
|
|
5
|
+
this.pixelToSceneRay = (_pixelPos) => undefined;
|
|
6
6
|
}
|
|
7
7
|
}
|
|
8
8
|
export function makeMockPixelToSceneRayUC(appObjects) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MockPixelToSceneRayUC.js","sourceRoot":"","sources":["../../../../src/Babylon/Mocks/MockPixelToSceneRayUC.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAE1C,MAAM,OAAO,qBAAsB,SAAQ,iBAAiB;IAG1D,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAH3C,oBAAe,GAAG,
|
|
1
|
+
{"version":3,"file":"MockPixelToSceneRayUC.js","sourceRoot":"","sources":["../../../../src/Babylon/Mocks/MockPixelToSceneRayUC.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAE1C,MAAM,OAAO,qBAAsB,SAAQ,iBAAiB;IAG1D,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAH3C,oBAAe,GAAG,CAAC,SAAc,EAAO,EAAE,CAAC,SAAS,CAAC;IAIrD,CAAC;CACF;AAED,MAAM,UAAU,yBAAyB,CAAC,UAAyB;IACjE,OAAO,IAAI,qBAAqB,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;AACtE,CAAC","sourcesContent":["import { AppObject, AppObjectRepo } from \"@vived/core\";\nimport { PixelToSceneRayUC } from \"../UC\";\n\nexport class MockPixelToSceneRayUC extends PixelToSceneRayUC {\n pixelToSceneRay = (_pixelPos: any): any => undefined;\n\n constructor(appObject: AppObject) {\n super(appObject, PixelToSceneRayUC.type);\n }\n}\n\nexport function makeMockPixelToSceneRayUC(appObjects: AppObjectRepo) {\n return new MockPixelToSceneRayUC(appObjects.getOrCreate(\"Babylon\"));\n}\n"]}
|
|
@@ -2,7 +2,7 @@ import { ScenePixelPickUC } from "../UC";
|
|
|
2
2
|
export class MockScenePixelPickUC extends ScenePixelPickUC {
|
|
3
3
|
constructor(appObject) {
|
|
4
4
|
super(appObject, ScenePixelPickUC.type);
|
|
5
|
-
this.scenePixelPick =
|
|
5
|
+
this.scenePixelPick = (_pixelPos) => undefined;
|
|
6
6
|
}
|
|
7
7
|
}
|
|
8
8
|
export function makeMockScenePixelPickUC(appObjects) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MockScenePixelPickUC.js","sourceRoot":"","sources":["../../../../src/Babylon/Mocks/MockScenePixelPickUC.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAEzC,MAAM,OAAO,oBAAqB,SAAQ,gBAAgB;IAGxD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAH1C,mBAAc,GAAG,
|
|
1
|
+
{"version":3,"file":"MockScenePixelPickUC.js","sourceRoot":"","sources":["../../../../src/Babylon/Mocks/MockScenePixelPickUC.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAEzC,MAAM,OAAO,oBAAqB,SAAQ,gBAAgB;IAGxD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAH1C,mBAAc,GAAG,CAAC,SAAc,EAAO,EAAE,CAAC,SAAS,CAAC;IAIpD,CAAC;CACF;AAED,MAAM,UAAU,wBAAwB,CAAC,UAAyB;IAChE,OAAO,IAAI,oBAAoB,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;AACrE,CAAC","sourcesContent":["import { AppObject, AppObjectRepo } from \"@vived/core\";\nimport { ScenePixelPickUC } from \"../UC\";\n\nexport class MockScenePixelPickUC extends ScenePixelPickUC {\n scenePixelPick = (_pixelPos: any): any => undefined;\n\n constructor(appObject: AppObject) {\n super(appObject, ScenePixelPickUC.type);\n }\n}\n\nexport function makeMockScenePixelPickUC(appObjects: AppObjectRepo) {\n return new MockScenePixelPickUC(appObjects.getOrCreate(\"Babylon\"));\n}\n"]}
|
|
@@ -2,9 +2,7 @@ import { SceneRayPickUC } from "../UC";
|
|
|
2
2
|
export class MockSceneRayPickUC extends SceneRayPickUC {
|
|
3
3
|
constructor(appObject) {
|
|
4
4
|
super(appObject, SceneRayPickUC.type);
|
|
5
|
-
this.sceneRayPick = () =>
|
|
6
|
-
return undefined;
|
|
7
|
-
};
|
|
5
|
+
this.sceneRayPick = (_ray) => undefined;
|
|
8
6
|
}
|
|
9
7
|
}
|
|
10
8
|
export function makeMockSceneRayPickUC(appObjects) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MockSceneRayPickUC.js","sourceRoot":"","sources":["../../../../src/Babylon/Mocks/MockSceneRayPickUC.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,OAAO,kBAAmB,SAAQ,cAAc;
|
|
1
|
+
{"version":3,"file":"MockSceneRayPickUC.js","sourceRoot":"","sources":["../../../../src/Babylon/Mocks/MockSceneRayPickUC.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,OAAO,kBAAmB,SAAQ,cAAc;IAGpD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;QAHxC,iBAAY,GAAG,CAAC,IAAS,EAAO,EAAE,CAAC,SAAS,CAAC;IAI7C,CAAC;CACF;AAED,MAAM,UAAU,sBAAsB,CACpC,UAAyB;IAEzB,OAAO,IAAI,kBAAkB,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;AACnE,CAAC","sourcesContent":["import { AppObject, AppObjectRepo } from \"@vived/core\";\nimport { SceneRayPickUC } from \"../UC\";\n\nexport class MockSceneRayPickUC extends SceneRayPickUC {\n sceneRayPick = (_ray: any): any => undefined;\n\n constructor(appObject: AppObject) {\n super(appObject, SceneRayPickUC.type);\n }\n}\n\nexport function makeMockSceneRayPickUC(\n appObjects: AppObjectRepo\n): MockSceneRayPickUC {\n return new MockSceneRayPickUC(appObjects.getOrCreate(\"Babylon\"));\n}\n"]}
|
|
@@ -2,7 +2,7 @@ import { ShowBabylonInspectorPM } from "../PM/ShowBabylonInspectorPM";
|
|
|
2
2
|
export class ShowBabylonInspectorPmMock extends ShowBabylonInspectorPM {
|
|
3
3
|
constructor(appObject) {
|
|
4
4
|
super(appObject);
|
|
5
|
-
this.vmsAreEqual =
|
|
5
|
+
this.vmsAreEqual = (_vm1, _vm2) => false;
|
|
6
6
|
}
|
|
7
7
|
}
|
|
8
8
|
export function makeShowBabylonInspectorPmMock(appObjects) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShowBabylonInspectorPmMock.js","sourceRoot":"","sources":["../../../../src/Babylon/Mocks/ShowBabylonInspectorPmMock.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAEtE,MAAM,OAAO,0BAA2B,SAAQ,sBAAsB;IAGpE,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,CAAC,CAAC;QAHnB,gBAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"ShowBabylonInspectorPmMock.js","sourceRoot":"","sources":["../../../../src/Babylon/Mocks/ShowBabylonInspectorPmMock.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAEtE,MAAM,OAAO,0BAA2B,SAAQ,sBAAsB;IAGpE,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,CAAC,CAAC;QAHnB,gBAAW,GAAG,CAAC,IAAS,EAAE,IAAS,EAAW,EAAE,CAAC,KAAK,CAAC;IAIvD,CAAC;CACF;AAED,MAAM,UAAU,8BAA8B,CAAC,UAAyB;IACtE,OAAO,IAAI,0BAA0B,CACnC,UAAU,CAAC,WAAW,CAAC,4BAA4B,CAAC,CACrD,CAAC;AACJ,CAAC","sourcesContent":["import { AppObject, AppObjectRepo } from \"@vived/core\";\nimport { ShowBabylonInspectorPM } from \"../PM/ShowBabylonInspectorPM\";\n\nexport class ShowBabylonInspectorPmMock extends ShowBabylonInspectorPM {\n vmsAreEqual = (_vm1: any, _vm2: any): boolean => false;\n\n constructor(appObject: AppObject) {\n super(appObject);\n }\n}\n\nexport function makeShowBabylonInspectorPmMock(appObjects: AppObjectRepo) {\n return new ShowBabylonInspectorPmMock(\n appObjects.getOrCreate(\"ShowBabylonInspectorPmMock\")\n );\n}\n"]}
|