@vived/app 5.0.6 → 5.0.7
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/MockSceneRayPickUC.js +3 -1
- package/dist/cjs/Babylon/Mocks/MockSceneRayPickUC.js.map +1 -1
- package/dist/cjs/Babylon/UC/SceneRayPickUC.test.js +1 -0
- package/dist/cjs/Babylon/UC/SceneRayPickUC.test.js.map +1 -1
- package/dist/cjs/BaseApp/UC/EditSlideTextUC.test.js +8 -6
- package/dist/cjs/BaseApp/UC/EditSlideTextUC.test.js.map +1 -1
- package/dist/cjs/BaseApp/UC/UndoRedoEditSlideText.test.js +10 -6
- package/dist/cjs/BaseApp/UC/UndoRedoEditSlideText.test.js.map +1 -1
- package/dist/cjs/BaseApp/UC/UpdateContentSizeUC.test.js +8 -6
- package/dist/cjs/BaseApp/UC/UpdateContentSizeUC.test.js.map +1 -1
- package/dist/cjs/Callouts/UC/CreateCalloutUndoRedo.test.js +7 -4
- package/dist/cjs/Callouts/UC/CreateCalloutUndoRedo.test.js.map +1 -1
- package/dist/cjs/Callouts/UC/DeleteAllCalloutsUC.test.js +7 -4
- package/dist/cjs/Callouts/UC/DeleteAllCalloutsUC.test.js.map +1 -1
- package/dist/cjs/Callouts/UC/DeleteAllCalloutsUndoRedo.test.js +13 -7
- package/dist/cjs/Callouts/UC/DeleteAllCalloutsUndoRedo.test.js.map +1 -1
- package/dist/cjs/Callouts/UC/DeleteCallout.test.js +5 -2
- package/dist/cjs/Callouts/UC/DeleteCallout.test.js.map +1 -1
- package/dist/cjs/Callouts/UC/DeleteCalloutUndoRedo.test.js +9 -7
- package/dist/cjs/Callouts/UC/DeleteCalloutUndoRedo.test.js.map +1 -1
- package/dist/cjs/Callouts/UC/SetCalloutSizeUC.test.js +7 -5
- package/dist/cjs/Callouts/UC/SetCalloutSizeUC.test.js.map +1 -1
- package/dist/cjs/Callouts/UC/SetCalloutSizeUndoRedo.test.js +10 -6
- package/dist/cjs/Callouts/UC/SetCalloutSizeUndoRedo.test.js.map +1 -1
- package/dist/cjs/Callouts/UC/TryAddCallout.test.js +5 -4
- package/dist/cjs/Callouts/UC/TryAddCallout.test.js.map +1 -1
- package/dist/cjs/Callouts/UC/TryPanLabelUC.test.js +3 -2
- package/dist/cjs/Callouts/UC/TryPanLabelUC.test.js.map +1 -1
- package/dist/cjs/Challenge/UCs/SetChallengeUC.test.js +11 -9
- package/dist/cjs/Challenge/UCs/SetChallengeUC.test.js.map +1 -1
- package/dist/cjs/ChannelModel/UC/ClearAllColorOverlayUndoRedo.test.js +13 -7
- package/dist/cjs/ChannelModel/UC/ClearAllColorOverlayUndoRedo.test.js.map +1 -1
- package/dist/cjs/ChannelModel/UC/ClearModelObjectOverlaysUC.test.js +7 -4
- package/dist/cjs/ChannelModel/UC/ClearModelObjectOverlaysUC.test.js.map +1 -1
- package/dist/cjs/ChannelModel/UC/SelectChannelModelUC.test.js +5 -2
- package/dist/cjs/ChannelModel/UC/SelectChannelModelUC.test.js.map +1 -1
- package/dist/cjs/ChannelModel/UC/StickAllChannelModelObjectsUC.test.js +10 -8
- package/dist/cjs/ChannelModel/UC/StickAllChannelModelObjectsUC.test.js.map +1 -1
- package/dist/cjs/ChannelModel/UC/UnhideAllAppObjectsUndoRedo.test.js +9 -7
- package/dist/cjs/ChannelModel/UC/UnhideAllAppObjectsUndoRedo.test.js.map +1 -1
- package/dist/cjs/ChannelModel/UC/UnhideAllChannelModelObjectsUC.test.js +7 -5
- package/dist/cjs/ChannelModel/UC/UnhideAllChannelModelObjectsUC.test.js.map +1 -1
- package/dist/cjs/Dispatcher/Mocks/MockDispatchStateChange.js +3 -3
- package/dist/cjs/Dispatcher/Mocks/MockDispatchStateChange.js.map +1 -1
- package/dist/cjs/Environment/UCs/SetEnvironmentIntensityUC.test.js +11 -9
- package/dist/cjs/Environment/UCs/SetEnvironmentIntensityUC.test.js.map +1 -1
- package/dist/cjs/Environment/UCs/SetTexturalEnvironmentUC.test.js +9 -7
- package/dist/cjs/Environment/UCs/SetTexturalEnvironmentUC.test.js.map +1 -1
- package/dist/cjs/Hideable/UCs/HideUC.test.js +10 -8
- package/dist/cjs/Hideable/UCs/HideUC.test.js.map +1 -1
- package/dist/cjs/Hideable/UCs/TryHideWithPickUC.test.js +7 -6
- package/dist/cjs/Hideable/UCs/TryHideWithPickUC.test.js.map +1 -1
- package/dist/cjs/HoverLabel/UseCases/TryShowHoverLabel.test.js +12 -11
- package/dist/cjs/HoverLabel/UseCases/TryShowHoverLabel.test.js.map +1 -1
- package/dist/cjs/Label/UC/ClearCustomLabelUC.test.js +9 -4
- package/dist/cjs/Label/UC/ClearCustomLabelUC.test.js.map +1 -1
- package/dist/cjs/Label/UC/ClearCustomLabelUndoRedo.test.js +10 -6
- package/dist/cjs/Label/UC/ClearCustomLabelUndoRedo.test.js.map +1 -1
- package/dist/cjs/Label/UC/SetCustomLabelUC.test.js +9 -4
- package/dist/cjs/Label/UC/SetCustomLabelUC.test.js.map +1 -1
- package/dist/cjs/Label/UC/SetCustomLabelUndoRedo.test.js +10 -6
- package/dist/cjs/Label/UC/SetCustomLabelUndoRedo.test.js.map +1 -1
- package/dist/cjs/LabelDrop/UseCases/DeleteAllLabelDropUC.test.js +9 -7
- package/dist/cjs/LabelDrop/UseCases/DeleteAllLabelDropUC.test.js.map +1 -1
- package/dist/cjs/LabelDrop/UseCases/DeleteLabelDropUC.test.js +9 -7
- package/dist/cjs/LabelDrop/UseCases/DeleteLabelDropUC.test.js.map +1 -1
- package/dist/cjs/LabelDrop/UseCases/DragLabelDropUC.test.js +8 -6
- package/dist/cjs/LabelDrop/UseCases/DragLabelDropUC.test.js.map +1 -1
- package/dist/cjs/LabelDrop/UseCases/DragLabelDropWorldUC.test.js +17 -17
- package/dist/cjs/LabelDrop/UseCases/DragLabelDropWorldUC.test.js.map +1 -1
- package/dist/cjs/LabelDrop/UseCases/EditLabelDropUC.test.js +20 -18
- package/dist/cjs/LabelDrop/UseCases/EditLabelDropUC.test.js.map +1 -1
- package/dist/cjs/LabelDrop/UseCases/ToggleLabelDropTargetUC.test.js +4 -2
- package/dist/cjs/LabelDrop/UseCases/ToggleLabelDropTargetUC.test.js.map +1 -1
- package/dist/cjs/Landmarks/UseCases/AddLandmarkUndoRedo.test.js +10 -5
- package/dist/cjs/Landmarks/UseCases/AddLandmarkUndoRedo.test.js.map +1 -1
- package/dist/cjs/Landmarks/UseCases/DeleteAllLandmarksUC.test.js +5 -3
- package/dist/cjs/Landmarks/UseCases/DeleteAllLandmarksUC.test.js.map +1 -1
- package/dist/cjs/Landmarks/UseCases/DeleteAllLandmarksUndoRedo.test.js +11 -6
- package/dist/cjs/Landmarks/UseCases/DeleteAllLandmarksUndoRedo.test.js.map +1 -1
- package/dist/cjs/Landmarks/UseCases/DeleteLandmarkUC.test.js +10 -5
- package/dist/cjs/Landmarks/UseCases/DeleteLandmarkUC.test.js.map +1 -1
- package/dist/cjs/Landmarks/UseCases/DeleteLandmarkUndoRedo.test.js +10 -5
- package/dist/cjs/Landmarks/UseCases/DeleteLandmarkUndoRedo.test.js.map +1 -1
- package/dist/cjs/Landmarks/UseCases/SetLandmarkSizeUC.test.js +7 -5
- package/dist/cjs/Landmarks/UseCases/SetLandmarkSizeUC.test.js.map +1 -1
- package/dist/cjs/Landmarks/UseCases/SetLandmarkSizeUndoRedo.test.js +10 -6
- package/dist/cjs/Landmarks/UseCases/SetLandmarkSizeUndoRedo.test.js.map +1 -1
- package/dist/cjs/Landmarks/UseCases/TryAddNewLandmarkUC.test.js +29 -15
- package/dist/cjs/Landmarks/UseCases/TryAddNewLandmarkUC.test.js.map +1 -1
- package/dist/cjs/Landmarks/UseCases/TryPreviewLandmarkUC.test.js +4 -3
- package/dist/cjs/Landmarks/UseCases/TryPreviewLandmarkUC.test.js.map +1 -1
- package/dist/cjs/ObjectPick/UseCases/AddCorrectObjectIdUC.test.js +10 -8
- package/dist/cjs/ObjectPick/UseCases/AddCorrectObjectIdUC.test.js.map +1 -1
- package/dist/cjs/ObjectPick/UseCases/ClearCorrectObjectIdsUC.test.js +10 -8
- package/dist/cjs/ObjectPick/UseCases/ClearCorrectObjectIdsUC.test.js.map +1 -1
- package/dist/cjs/ObjectPick/UseCases/RemoveCorrectObjectIdUC.test.js +10 -8
- package/dist/cjs/ObjectPick/UseCases/RemoveCorrectObjectIdUC.test.js.map +1 -1
- package/dist/cjs/ObjectPick/UseCases/TrySelectObjectPickUC.test.js +18 -15
- package/dist/cjs/ObjectPick/UseCases/TrySelectObjectPickUC.test.js.map +1 -1
- package/dist/cjs/ObjectPick/UseCases/TrySubmitObjectPickUC.test.js +3 -1
- package/dist/cjs/ObjectPick/UseCases/TrySubmitObjectPickUC.test.js.map +1 -1
- package/dist/cjs/OverlayColor/UC/SetOverlayColorUC.test.js +9 -4
- package/dist/cjs/OverlayColor/UC/SetOverlayColorUC.test.js.map +1 -1
- package/dist/cjs/OverlayColor/UC/SetOverlayColorUndoRedo.test.js +10 -6
- package/dist/cjs/OverlayColor/UC/SetOverlayColorUndoRedo.test.js.map +1 -1
- package/dist/cjs/Question/UC/AddAnswerUndoRedo.test.js +16 -6
- package/dist/cjs/Question/UC/AddAnswerUndoRedo.test.js.map +1 -1
- package/dist/cjs/Question/UC/AddQuestionAnswerUC.test.js +14 -5
- package/dist/cjs/Question/UC/AddQuestionAnswerUC.test.js.map +1 -1
- package/dist/cjs/Question/UC/DeleteAnswerUndoRedo.test.js +17 -6
- package/dist/cjs/Question/UC/DeleteAnswerUndoRedo.test.js.map +1 -1
- package/dist/cjs/Question/UC/DeleteQuestionAnswerUC.test.js +9 -6
- package/dist/cjs/Question/UC/DeleteQuestionAnswerUC.test.js.map +1 -1
- package/dist/cjs/Question/UC/SetAnswerFeedbackUC.test.js +9 -6
- package/dist/cjs/Question/UC/SetAnswerFeedbackUC.test.js.map +1 -1
- package/dist/cjs/Question/UC/SetAnswerFeedbackUndoRedo.test.js +10 -6
- package/dist/cjs/Question/UC/SetAnswerFeedbackUndoRedo.test.js.map +1 -1
- package/dist/cjs/Question/UC/SetAnswerTextUC.test.js +9 -6
- package/dist/cjs/Question/UC/SetAnswerTextUC.test.js.map +1 -1
- package/dist/cjs/Question/UC/SetAnswerTextUndoRedo.test.js +10 -6
- package/dist/cjs/Question/UC/SetAnswerTextUndoRedo.test.js.map +1 -1
- package/dist/cjs/Question/UC/ToggleIsCorrectUndoRedo.test.js +10 -6
- package/dist/cjs/Question/UC/ToggleIsCorrectUndoRedo.test.js.map +1 -1
- package/dist/cjs/Question/UC/ToggleQuestionAnswerIsCorrect.test.js +7 -4
- package/dist/cjs/Question/UC/ToggleQuestionAnswerIsCorrect.test.js.map +1 -1
- package/dist/cjs/RequestHandler/UC/SetAppStateUC.test.js +2 -0
- package/dist/cjs/RequestHandler/UC/SetAppStateUC.test.js.map +1 -1
- package/dist/cjs/SceneRoot/UC/BumpSceneRootScaleAboutPixelPoint.test.js +7 -4
- package/dist/cjs/SceneRoot/UC/BumpSceneRootScaleAboutPixelPoint.test.js.map +1 -1
- package/dist/cjs/SceneRoot/UC/DragScaleSceneRoot.test.js +9 -6
- package/dist/cjs/SceneRoot/UC/DragScaleSceneRoot.test.js.map +1 -1
- package/dist/cjs/SceneRoot/UC/OrbitSceneRoot.test.js +16 -7
- package/dist/cjs/SceneRoot/UC/OrbitSceneRoot.test.js.map +1 -1
- package/dist/cjs/SceneRoot/UC/PanSceneRoot.test.js +9 -6
- package/dist/cjs/SceneRoot/UC/PanSceneRoot.test.js.map +1 -1
- package/dist/cjs/SceneRoot/UC/PinchSceneRoot.test.js +9 -6
- package/dist/cjs/SceneRoot/UC/PinchSceneRoot.test.js.map +1 -1
- package/dist/cjs/Selection/UC/HoverAppObjectUC.test.js +3 -3
- package/dist/cjs/Selection/UC/HoverAppObjectUC.test.js.map +1 -1
- package/dist/cjs/Selection/UC/PressAppObjectUC.test.js +3 -3
- package/dist/cjs/Selection/UC/PressAppObjectUC.test.js.map +1 -1
- package/dist/cjs/Selection/UC/SelectAppObjectUC.test.js +3 -3
- package/dist/cjs/Selection/UC/SelectAppObjectUC.test.js.map +1 -1
- package/dist/cjs/Stick/UCs/MoveTransformWithStickUC.test.js +9 -7
- package/dist/cjs/Stick/UCs/MoveTransformWithStickUC.test.js.map +1 -1
- package/dist/cjs/Stick/UCs/PanTransformWithStickUC.test.js +13 -11
- package/dist/cjs/Stick/UCs/PanTransformWithStickUC.test.js.map +1 -1
- package/dist/cjs/Stick/UCs/StickUC.test.js +9 -7
- package/dist/cjs/Stick/UCs/StickUC.test.js.map +1 -1
- package/dist/cjs/Stick/UCs/TryStickAppObjectUC.test.js +7 -6
- package/dist/cjs/Stick/UCs/TryStickAppObjectUC.test.js.map +1 -1
- package/dist/cjs/Transform3D/UC/BumpTransformScaleAboutPixelPoint.test.js +5 -3
- package/dist/cjs/Transform3D/UC/BumpTransformScaleAboutPixelPoint.test.js.map +1 -1
- package/dist/cjs/Transform3D/UC/MoveTransformUC.test.js +21 -11
- package/dist/cjs/Transform3D/UC/MoveTransformUC.test.js.map +1 -1
- package/dist/cjs/Transform3D/UC/MoveTransformUndoRedo.test.js +10 -6
- package/dist/cjs/Transform3D/UC/MoveTransformUndoRedo.test.js.map +1 -1
- package/dist/cjs/Transform3D/UC/PanTransformUC.test.js +13 -11
- package/dist/cjs/Transform3D/UC/PanTransformUC.test.js.map +1 -1
- package/dist/cjs/Transform3D/UC/PinchTransform.test.js +7 -5
- package/dist/cjs/Transform3D/UC/PinchTransform.test.js.map +1 -1
- package/dist/cjs/Transform3D/UC/RayPanScaleTransform.test.js +9 -7
- package/dist/cjs/Transform3D/UC/RayPanScaleTransform.test.js.map +1 -1
- package/dist/cjs/Transform3D/UC/ScaleTransform.test.js +22 -18
- package/dist/cjs/Transform3D/UC/ScaleTransform.test.js.map +1 -1
- package/dist/cjs/Transform3D/UC/StylusMoveTransformUC.test.js +11 -6
- package/dist/cjs/Transform3D/UC/StylusMoveTransformUC.test.js.map +1 -1
- package/dist/cjs/Transform3D/UC/TryMoveTransformUC.test.js +3 -1
- package/dist/cjs/Transform3D/UC/TryMoveTransformUC.test.js.map +1 -1
- package/dist/cjs/Transform3D/UC/TryPanTransformUC.test.js +25 -24
- package/dist/cjs/Transform3D/UC/TryPanTransformUC.test.js.map +1 -1
- package/dist/cjs/Transparency/UCs/MakeTransparentUC.test.js +10 -8
- package/dist/cjs/Transparency/UCs/MakeTransparentUC.test.js.map +1 -1
- package/dist/cjs/UndoRedo/Mocks/MockUndoRedo.js +4 -4
- package/dist/cjs/UndoRedo/Mocks/MockUndoRedo.js.map +1 -1
- package/dist/esm/Babylon/Mocks/MockSceneRayPickUC.js +3 -1
- package/dist/esm/Babylon/Mocks/MockSceneRayPickUC.js.map +1 -1
- package/dist/esm/Babylon/UC/SceneRayPickUC.test.js +1 -0
- package/dist/esm/Babylon/UC/SceneRayPickUC.test.js.map +1 -1
- package/dist/esm/BaseApp/UC/EditSlideTextUC.test.js +9 -7
- package/dist/esm/BaseApp/UC/EditSlideTextUC.test.js.map +1 -1
- package/dist/esm/BaseApp/UC/UndoRedoEditSlideText.test.js +10 -6
- package/dist/esm/BaseApp/UC/UndoRedoEditSlideText.test.js.map +1 -1
- package/dist/esm/BaseApp/UC/UpdateContentSizeUC.test.js +8 -6
- package/dist/esm/BaseApp/UC/UpdateContentSizeUC.test.js.map +1 -1
- package/dist/esm/Callouts/UC/CreateCalloutUndoRedo.test.js +7 -4
- package/dist/esm/Callouts/UC/CreateCalloutUndoRedo.test.js.map +1 -1
- package/dist/esm/Callouts/UC/DeleteAllCalloutsUC.test.js +7 -4
- package/dist/esm/Callouts/UC/DeleteAllCalloutsUC.test.js.map +1 -1
- package/dist/esm/Callouts/UC/DeleteAllCalloutsUndoRedo.test.js +13 -7
- package/dist/esm/Callouts/UC/DeleteAllCalloutsUndoRedo.test.js.map +1 -1
- package/dist/esm/Callouts/UC/DeleteCallout.test.js +5 -2
- package/dist/esm/Callouts/UC/DeleteCallout.test.js.map +1 -1
- package/dist/esm/Callouts/UC/DeleteCalloutUndoRedo.test.js +9 -7
- package/dist/esm/Callouts/UC/DeleteCalloutUndoRedo.test.js.map +1 -1
- package/dist/esm/Callouts/UC/SetCalloutSizeUC.test.js +7 -5
- package/dist/esm/Callouts/UC/SetCalloutSizeUC.test.js.map +1 -1
- package/dist/esm/Callouts/UC/SetCalloutSizeUndoRedo.test.js +10 -6
- package/dist/esm/Callouts/UC/SetCalloutSizeUndoRedo.test.js.map +1 -1
- package/dist/esm/Callouts/UC/TryAddCallout.test.js +5 -4
- package/dist/esm/Callouts/UC/TryAddCallout.test.js.map +1 -1
- package/dist/esm/Callouts/UC/TryPanLabelUC.test.js +3 -2
- package/dist/esm/Callouts/UC/TryPanLabelUC.test.js.map +1 -1
- package/dist/esm/Challenge/UCs/SetChallengeUC.test.js +11 -9
- package/dist/esm/Challenge/UCs/SetChallengeUC.test.js.map +1 -1
- package/dist/esm/ChannelModel/UC/ClearAllColorOverlayUndoRedo.test.js +13 -7
- package/dist/esm/ChannelModel/UC/ClearAllColorOverlayUndoRedo.test.js.map +1 -1
- package/dist/esm/ChannelModel/UC/ClearModelObjectOverlaysUC.test.js +7 -4
- package/dist/esm/ChannelModel/UC/ClearModelObjectOverlaysUC.test.js.map +1 -1
- package/dist/esm/ChannelModel/UC/SelectChannelModelUC.test.js +5 -2
- package/dist/esm/ChannelModel/UC/SelectChannelModelUC.test.js.map +1 -1
- package/dist/esm/ChannelModel/UC/StickAllChannelModelObjectsUC.test.js +10 -8
- package/dist/esm/ChannelModel/UC/StickAllChannelModelObjectsUC.test.js.map +1 -1
- package/dist/esm/ChannelModel/UC/UnhideAllAppObjectsUndoRedo.test.js +9 -7
- package/dist/esm/ChannelModel/UC/UnhideAllAppObjectsUndoRedo.test.js.map +1 -1
- package/dist/esm/ChannelModel/UC/UnhideAllChannelModelObjectsUC.test.js +7 -5
- package/dist/esm/ChannelModel/UC/UnhideAllChannelModelObjectsUC.test.js.map +1 -1
- package/dist/esm/Dispatcher/Mocks/MockDispatchStateChange.js +3 -3
- package/dist/esm/Dispatcher/Mocks/MockDispatchStateChange.js.map +1 -1
- package/dist/esm/Environment/UCs/SetEnvironmentIntensityUC.test.js +11 -9
- package/dist/esm/Environment/UCs/SetEnvironmentIntensityUC.test.js.map +1 -1
- package/dist/esm/Environment/UCs/SetTexturalEnvironmentUC.test.js +9 -7
- package/dist/esm/Environment/UCs/SetTexturalEnvironmentUC.test.js.map +1 -1
- package/dist/esm/Hideable/UCs/HideUC.test.js +10 -8
- package/dist/esm/Hideable/UCs/HideUC.test.js.map +1 -1
- package/dist/esm/Hideable/UCs/TryHideWithPickUC.test.js +7 -6
- package/dist/esm/Hideable/UCs/TryHideWithPickUC.test.js.map +1 -1
- package/dist/esm/HoverLabel/UseCases/TryShowHoverLabel.test.js +12 -11
- package/dist/esm/HoverLabel/UseCases/TryShowHoverLabel.test.js.map +1 -1
- package/dist/esm/Label/UC/ClearCustomLabelUC.test.js +9 -4
- package/dist/esm/Label/UC/ClearCustomLabelUC.test.js.map +1 -1
- package/dist/esm/Label/UC/ClearCustomLabelUndoRedo.test.js +10 -6
- package/dist/esm/Label/UC/ClearCustomLabelUndoRedo.test.js.map +1 -1
- package/dist/esm/Label/UC/SetCustomLabelUC.test.js +9 -4
- package/dist/esm/Label/UC/SetCustomLabelUC.test.js.map +1 -1
- package/dist/esm/Label/UC/SetCustomLabelUndoRedo.test.js +10 -6
- package/dist/esm/Label/UC/SetCustomLabelUndoRedo.test.js.map +1 -1
- package/dist/esm/LabelDrop/UseCases/DeleteAllLabelDropUC.test.js +9 -7
- package/dist/esm/LabelDrop/UseCases/DeleteAllLabelDropUC.test.js.map +1 -1
- package/dist/esm/LabelDrop/UseCases/DeleteLabelDropUC.test.js +9 -7
- package/dist/esm/LabelDrop/UseCases/DeleteLabelDropUC.test.js.map +1 -1
- package/dist/esm/LabelDrop/UseCases/DragLabelDropUC.test.js +8 -6
- package/dist/esm/LabelDrop/UseCases/DragLabelDropUC.test.js.map +1 -1
- package/dist/esm/LabelDrop/UseCases/DragLabelDropWorldUC.test.js +17 -17
- package/dist/esm/LabelDrop/UseCases/DragLabelDropWorldUC.test.js.map +1 -1
- package/dist/esm/LabelDrop/UseCases/EditLabelDropUC.test.js +20 -18
- package/dist/esm/LabelDrop/UseCases/EditLabelDropUC.test.js.map +1 -1
- package/dist/esm/LabelDrop/UseCases/ToggleLabelDropTargetUC.test.js +4 -2
- package/dist/esm/LabelDrop/UseCases/ToggleLabelDropTargetUC.test.js.map +1 -1
- package/dist/esm/Landmarks/UseCases/AddLandmarkUndoRedo.test.js +10 -5
- package/dist/esm/Landmarks/UseCases/AddLandmarkUndoRedo.test.js.map +1 -1
- package/dist/esm/Landmarks/UseCases/DeleteAllLandmarksUC.test.js +5 -3
- package/dist/esm/Landmarks/UseCases/DeleteAllLandmarksUC.test.js.map +1 -1
- package/dist/esm/Landmarks/UseCases/DeleteAllLandmarksUndoRedo.test.js +11 -6
- package/dist/esm/Landmarks/UseCases/DeleteAllLandmarksUndoRedo.test.js.map +1 -1
- package/dist/esm/Landmarks/UseCases/DeleteLandmarkUC.test.js +10 -5
- package/dist/esm/Landmarks/UseCases/DeleteLandmarkUC.test.js.map +1 -1
- package/dist/esm/Landmarks/UseCases/DeleteLandmarkUndoRedo.test.js +10 -5
- package/dist/esm/Landmarks/UseCases/DeleteLandmarkUndoRedo.test.js.map +1 -1
- package/dist/esm/Landmarks/UseCases/SetLandmarkSizeUC.test.js +7 -5
- package/dist/esm/Landmarks/UseCases/SetLandmarkSizeUC.test.js.map +1 -1
- package/dist/esm/Landmarks/UseCases/SetLandmarkSizeUndoRedo.test.js +10 -6
- package/dist/esm/Landmarks/UseCases/SetLandmarkSizeUndoRedo.test.js.map +1 -1
- package/dist/esm/Landmarks/UseCases/TryAddNewLandmarkUC.test.js +29 -15
- package/dist/esm/Landmarks/UseCases/TryAddNewLandmarkUC.test.js.map +1 -1
- package/dist/esm/Landmarks/UseCases/TryPreviewLandmarkUC.test.js +4 -3
- package/dist/esm/Landmarks/UseCases/TryPreviewLandmarkUC.test.js.map +1 -1
- package/dist/esm/ObjectPick/UseCases/AddCorrectObjectIdUC.test.js +10 -8
- package/dist/esm/ObjectPick/UseCases/AddCorrectObjectIdUC.test.js.map +1 -1
- package/dist/esm/ObjectPick/UseCases/ClearCorrectObjectIdsUC.test.js +10 -8
- package/dist/esm/ObjectPick/UseCases/ClearCorrectObjectIdsUC.test.js.map +1 -1
- package/dist/esm/ObjectPick/UseCases/RemoveCorrectObjectIdUC.test.js +10 -8
- package/dist/esm/ObjectPick/UseCases/RemoveCorrectObjectIdUC.test.js.map +1 -1
- package/dist/esm/ObjectPick/UseCases/TrySelectObjectPickUC.test.js +18 -15
- package/dist/esm/ObjectPick/UseCases/TrySelectObjectPickUC.test.js.map +1 -1
- package/dist/esm/ObjectPick/UseCases/TrySubmitObjectPickUC.test.js +3 -1
- package/dist/esm/ObjectPick/UseCases/TrySubmitObjectPickUC.test.js.map +1 -1
- package/dist/esm/OverlayColor/UC/SetOverlayColorUC.test.js +9 -4
- package/dist/esm/OverlayColor/UC/SetOverlayColorUC.test.js.map +1 -1
- package/dist/esm/OverlayColor/UC/SetOverlayColorUndoRedo.test.js +10 -6
- package/dist/esm/OverlayColor/UC/SetOverlayColorUndoRedo.test.js.map +1 -1
- package/dist/esm/Question/UC/AddAnswerUndoRedo.test.js +16 -6
- package/dist/esm/Question/UC/AddAnswerUndoRedo.test.js.map +1 -1
- package/dist/esm/Question/UC/AddQuestionAnswerUC.test.js +14 -5
- package/dist/esm/Question/UC/AddQuestionAnswerUC.test.js.map +1 -1
- package/dist/esm/Question/UC/DeleteAnswerUndoRedo.test.js +17 -6
- package/dist/esm/Question/UC/DeleteAnswerUndoRedo.test.js.map +1 -1
- package/dist/esm/Question/UC/DeleteQuestionAnswerUC.test.js +9 -6
- package/dist/esm/Question/UC/DeleteQuestionAnswerUC.test.js.map +1 -1
- package/dist/esm/Question/UC/SetAnswerFeedbackUC.test.js +9 -6
- package/dist/esm/Question/UC/SetAnswerFeedbackUC.test.js.map +1 -1
- package/dist/esm/Question/UC/SetAnswerFeedbackUndoRedo.test.js +10 -6
- package/dist/esm/Question/UC/SetAnswerFeedbackUndoRedo.test.js.map +1 -1
- package/dist/esm/Question/UC/SetAnswerTextUC.test.js +9 -6
- package/dist/esm/Question/UC/SetAnswerTextUC.test.js.map +1 -1
- package/dist/esm/Question/UC/SetAnswerTextUndoRedo.test.js +10 -6
- package/dist/esm/Question/UC/SetAnswerTextUndoRedo.test.js.map +1 -1
- package/dist/esm/Question/UC/ToggleIsCorrectUndoRedo.test.js +10 -6
- package/dist/esm/Question/UC/ToggleIsCorrectUndoRedo.test.js.map +1 -1
- package/dist/esm/Question/UC/ToggleQuestionAnswerIsCorrect.test.js +7 -4
- package/dist/esm/Question/UC/ToggleQuestionAnswerIsCorrect.test.js.map +1 -1
- package/dist/esm/RequestHandler/UC/SetAppStateUC.test.js +2 -0
- package/dist/esm/RequestHandler/UC/SetAppStateUC.test.js.map +1 -1
- package/dist/esm/SceneRoot/UC/BumpSceneRootScaleAboutPixelPoint.test.js +7 -4
- package/dist/esm/SceneRoot/UC/BumpSceneRootScaleAboutPixelPoint.test.js.map +1 -1
- package/dist/esm/SceneRoot/UC/DragScaleSceneRoot.test.js +9 -6
- package/dist/esm/SceneRoot/UC/DragScaleSceneRoot.test.js.map +1 -1
- package/dist/esm/SceneRoot/UC/OrbitSceneRoot.test.js +16 -7
- package/dist/esm/SceneRoot/UC/OrbitSceneRoot.test.js.map +1 -1
- package/dist/esm/SceneRoot/UC/PanSceneRoot.test.js +9 -6
- package/dist/esm/SceneRoot/UC/PanSceneRoot.test.js.map +1 -1
- package/dist/esm/SceneRoot/UC/PinchSceneRoot.test.js +9 -6
- package/dist/esm/SceneRoot/UC/PinchSceneRoot.test.js.map +1 -1
- package/dist/esm/Selection/UC/HoverAppObjectUC.test.js +3 -3
- package/dist/esm/Selection/UC/HoverAppObjectUC.test.js.map +1 -1
- package/dist/esm/Selection/UC/PressAppObjectUC.test.js +3 -3
- package/dist/esm/Selection/UC/PressAppObjectUC.test.js.map +1 -1
- package/dist/esm/Selection/UC/SelectAppObjectUC.test.js +3 -3
- package/dist/esm/Selection/UC/SelectAppObjectUC.test.js.map +1 -1
- package/dist/esm/Stick/UCs/MoveTransformWithStickUC.test.js +9 -7
- package/dist/esm/Stick/UCs/MoveTransformWithStickUC.test.js.map +1 -1
- package/dist/esm/Stick/UCs/PanTransformWithStickUC.test.js +13 -11
- package/dist/esm/Stick/UCs/PanTransformWithStickUC.test.js.map +1 -1
- package/dist/esm/Stick/UCs/StickUC.test.js +9 -7
- package/dist/esm/Stick/UCs/StickUC.test.js.map +1 -1
- package/dist/esm/Stick/UCs/TryStickAppObjectUC.test.js +7 -6
- package/dist/esm/Stick/UCs/TryStickAppObjectUC.test.js.map +1 -1
- package/dist/esm/Transform3D/UC/BumpTransformScaleAboutPixelPoint.test.js +5 -3
- package/dist/esm/Transform3D/UC/BumpTransformScaleAboutPixelPoint.test.js.map +1 -1
- package/dist/esm/Transform3D/UC/MoveTransformUC.test.js +21 -11
- package/dist/esm/Transform3D/UC/MoveTransformUC.test.js.map +1 -1
- package/dist/esm/Transform3D/UC/MoveTransformUndoRedo.test.js +10 -6
- package/dist/esm/Transform3D/UC/MoveTransformUndoRedo.test.js.map +1 -1
- package/dist/esm/Transform3D/UC/PanTransformUC.test.js +13 -11
- package/dist/esm/Transform3D/UC/PanTransformUC.test.js.map +1 -1
- package/dist/esm/Transform3D/UC/PinchTransform.test.js +7 -5
- package/dist/esm/Transform3D/UC/PinchTransform.test.js.map +1 -1
- package/dist/esm/Transform3D/UC/RayPanScaleTransform.test.js +9 -7
- package/dist/esm/Transform3D/UC/RayPanScaleTransform.test.js.map +1 -1
- package/dist/esm/Transform3D/UC/ScaleTransform.test.js +22 -18
- package/dist/esm/Transform3D/UC/ScaleTransform.test.js.map +1 -1
- package/dist/esm/Transform3D/UC/StylusMoveTransformUC.test.js +11 -6
- package/dist/esm/Transform3D/UC/StylusMoveTransformUC.test.js.map +1 -1
- package/dist/esm/Transform3D/UC/TryMoveTransformUC.test.js +3 -1
- package/dist/esm/Transform3D/UC/TryMoveTransformUC.test.js.map +1 -1
- package/dist/esm/Transform3D/UC/TryPanTransformUC.test.js +4 -3
- package/dist/esm/Transform3D/UC/TryPanTransformUC.test.js.map +1 -1
- package/dist/esm/Transparency/UCs/MakeTransparentUC.test.js +10 -8
- package/dist/esm/Transparency/UCs/MakeTransparentUC.test.js.map +1 -1
- package/dist/esm/UndoRedo/Mocks/MockUndoRedo.js +4 -4
- package/dist/esm/UndoRedo/Mocks/MockUndoRedo.js.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/Dispatcher/Mocks/MockDispatchStateChange.d.ts +3 -3
- package/dist/types/Dispatcher/Mocks/MockDispatchStateChange.d.ts.map +1 -1
- package/dist/types/UndoRedo/Mocks/MockUndoRedo.d.ts +4 -4
- package/dist/types/UndoRedo/Mocks/MockUndoRedo.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -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\";\r\nimport { ParametricLine, Vector2, Vector3 } from \"@vived/core\";\r\nimport {\r\n makeMockPixelToSceneRayUC,\r\n makeMockScenePixelPickUC,\r\n PixelToSceneRayUC,\r\n} from \"../../Babylon\";\r\nimport { makeMockDispatchStateChange } from \"../../Dispatcher/Mocks/MockDispatchStateChange\";\r\nimport { makeTransform3D } from \"../Entities\";\r\nimport { makePinchTransformUC } from \"./PinchTransform\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n const ao = appObjects.getOrCreate(\"AO\");\r\n const transform = makeTransform3D(ao);\r\n\r\n const pinchUC = makePinchTransformUC(ao);\r\n\r\n const mockPick = makeMockScenePixelPickUC(appObjects);\r\n const mockDispatch = makeMockDispatchStateChange(appObjects);\r\n const mockRay = makeMockPixelToSceneRayUC(appObjects) as PixelToSceneRayUC;\r\n\r\n mockRay.pixelToSceneRay = mockPicker;\r\n\r\n return {\r\n appObjects,\r\n pinchUC,\r\n transform,\r\n mockPick,\r\n mockDispatch,\r\n mockRay,\r\n };\r\n}\r\n\r\nfunction mockPicker(pixel: Vector2): ParametricLine {\r\n return ParametricLine.FromPointDirection(\r\n new Vector3(pixel.x, pixel.y, 3),\r\n Vector3.Forward()\r\n );\r\n}\r\n\r\ndescribe(\"Pinch Scene Root Use Case\", () => {\r\n it(\"Move with no scaling adjusts the root as expected\", () => {\r\n const { pinchUC, transform } = makeTestRig();\r\n\r\n transform.worldPosition = new Vector3(1, 2, 3);\r\n\r\n const touch1 = new Vector2(5, 8);\r\n const touch2 = new Vector2(5, 0);\r\n pinchUC.initializePinch(touch1, touch2);\r\n\r\n const touch3 = new Vector2(0, 8);\r\n const touch4 = new Vector2(0, 0);\r\n pinchUC.doPinch(touch3, touch4);\r\n\r\n const expected = new Vector3(-4, 2, 3); // -5 in the x\r\n\r\n const wPos = transform.worldPosition;\r\n expect(Vector3.Close(wPos, expected)).toEqual(true);\r\n });\r\n\r\n it(\"Plane pick is relative\", () => {\r\n const { pinchUC, transform, mockPick } = makeTestRig();\r\n\r\n mockPick.scenePixelPick.mockReturnValue(new Vector3(10, 20, 60));\r\n\r\n transform.worldPosition = new Vector3(1, 2, 3);\r\n\r\n const touch1 = new Vector2(5, 8);\r\n const touch2 = new Vector2(5, 0);\r\n pinchUC.initializePinch(touch1, touch2);\r\n\r\n const touch3 = new Vector2(0, 8);\r\n const touch4 = new Vector2(0, 0);\r\n pinchUC.doPinch(touch3, touch4);\r\n\r\n const expected = new Vector3(-4, 2, 3); // -5 in the x\r\n\r\n const wPos = transform.worldPosition;\r\n expect(Vector3.Close(wPos, expected)).toEqual(true);\r\n });\r\n\r\n it(\"Scales smaller with a pinch that moves closer\", () => {\r\n const { pinchUC, transform } = makeTestRig();\r\n transform.worldPosition = new Vector3(0, 0, 0);\r\n transform.worldScale = Vector3.One();\r\n\r\n const touch1 = new Vector2(0, 8);\r\n const touch2 = new Vector2(0, -8);\r\n pinchUC.initializePinch(touch1, touch2);\r\n\r\n const touch3 = new Vector2(0, 4);\r\n const touch4 = new Vector2(0, -4);\r\n pinchUC.doPinch(touch3, touch4);\r\n\r\n const expectedScaleDelta = pinchUC.sensitivity * 8;\r\n\r\n expect(transform.worldScale.x).toEqual(1 - expectedScaleDelta);\r\n });\r\n\r\n it(\"Scales larger with a pinch that moves further\", () => {\r\n const { pinchUC, transform } = makeTestRig();\r\n transform.worldPosition = new Vector3(0, 0, 0);\r\n transform.worldScale = Vector3.One();\r\n\r\n const touch1 = new Vector2(0, 8);\r\n const touch2 = new Vector2(0, -8);\r\n pinchUC.initializePinch(touch1, touch2);\r\n\r\n const touch3 = new Vector2(0, 12);\r\n const touch4 = new Vector2(0, -12);\r\n pinchUC.doPinch(touch3, touch4);\r\n\r\n const expectedScaleDelta = pinchUC.sensitivity * 8;\r\n expect(transform.worldScale.x).toEqual(1 + expectedScaleDelta);\r\n });\r\n\r\n it(\"Dispatches a state change if the position has changed since init\", () => {\r\n const { transform, pinchUC, mockDispatch } = makeTestRig();\r\n\r\n transform.worldScale = new Vector3(5, 5, 5);\r\n const touch1 = new Vector2(0, 8);\r\n const touch2 = new Vector2(0, -8);\r\n pinchUC.initializePinch(touch1, touch2);\r\n\r\n transform.worldScale = new Vector3(6, 6, 6);\r\n pinchUC.finishPinch();\r\n\r\n expect(mockDispatch.doDispatch).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not dispatch a state change if the scale has not changed\", () => {\r\n const { transform, pinchUC, mockDispatch } = makeTestRig();\r\n\r\n transform.worldScale = new Vector3(5, 5, 5);\r\n const touch1 = new Vector2(0, 8);\r\n const touch2 = new Vector2(0, -8);\r\n pinchUC.initializePinch(touch1, touch2);\r\n\r\n pinchUC.finishPinch();\r\n\r\n expect(mockDispatch.doDispatch).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not update if not enabled\", () => {\r\n const { pinchUC, transform } = makeTestRig();\r\n\r\n pinchUC.enabled = false;\r\n transform.worldPosition = Vector3.Zero();\r\n\r\n const touch1 = new Vector2(5, 8);\r\n const touch2 = new Vector2(5, 0);\r\n pinchUC.initializePinch(touch1, touch2);\r\n\r\n const touch3 = new Vector2(0, 8);\r\n const touch4 = new Vector2(0, 0);\r\n pinchUC.doPinch(touch3, touch4);\r\n\r\n expect(transform.worldPosition).toEqual(Vector3.Zero());\r\n });\r\n});\r\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\";\r\nimport { ParametricLine, Vector2, Vector3 } from \"@vived/core\";\r\nimport {\r\n makeMockPixelToSceneRayUC,\r\n makeMockScenePixelPickUC,\r\n PixelToSceneRayUC,\r\n} from \"../../Babylon\";\r\nimport { makeMockDispatchStateChange } from \"../../Dispatcher/Mocks/MockDispatchStateChange\";\r\nimport { makeTransform3D } from \"../Entities\";\r\nimport { makePinchTransformUC } from \"./PinchTransform\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n const ao = appObjects.getOrCreate(\"AO\");\r\n const transform = makeTransform3D(ao);\r\n\r\n const pinchUC = makePinchTransformUC(ao);\r\n\r\n const mockPick = makeMockScenePixelPickUC(appObjects);\r\n const mockDispatch = makeMockDispatchStateChange(appObjects);\r\n const doDispatchMock = jest.fn();\r\n mockDispatch.doDispatch = doDispatchMock;\r\n\r\n const mockRay = makeMockPixelToSceneRayUC(appObjects) as PixelToSceneRayUC;\r\n\r\n mockRay.pixelToSceneRay = mockPicker;\r\n\r\n return {\r\n appObjects,\r\n pinchUC,\r\n transform,\r\n mockPick,\r\n doDispatchMock,\r\n mockRay,\r\n };\r\n}\r\n\r\nfunction mockPicker(pixel: Vector2): ParametricLine {\r\n return ParametricLine.FromPointDirection(\r\n new Vector3(pixel.x, pixel.y, 3),\r\n Vector3.Forward()\r\n );\r\n}\r\n\r\ndescribe(\"Pinch Scene Root Use Case\", () => {\r\n it(\"Move with no scaling adjusts the root as expected\", () => {\r\n const { pinchUC, transform } = makeTestRig();\r\n\r\n transform.worldPosition = new Vector3(1, 2, 3);\r\n\r\n const touch1 = new Vector2(5, 8);\r\n const touch2 = new Vector2(5, 0);\r\n pinchUC.initializePinch(touch1, touch2);\r\n\r\n const touch3 = new Vector2(0, 8);\r\n const touch4 = new Vector2(0, 0);\r\n pinchUC.doPinch(touch3, touch4);\r\n\r\n const expected = new Vector3(-4, 2, 3); // -5 in the x\r\n\r\n const wPos = transform.worldPosition;\r\n expect(Vector3.Close(wPos, expected)).toEqual(true);\r\n });\r\n\r\n it(\"Plane pick is relative\", () => {\r\n const { pinchUC, transform, mockPick } = makeTestRig();\r\n\r\n mockPick.scenePixelPick.mockReturnValue(new Vector3(10, 20, 60));\r\n\r\n transform.worldPosition = new Vector3(1, 2, 3);\r\n\r\n const touch1 = new Vector2(5, 8);\r\n const touch2 = new Vector2(5, 0);\r\n pinchUC.initializePinch(touch1, touch2);\r\n\r\n const touch3 = new Vector2(0, 8);\r\n const touch4 = new Vector2(0, 0);\r\n pinchUC.doPinch(touch3, touch4);\r\n\r\n const expected = new Vector3(-4, 2, 3); // -5 in the x\r\n\r\n const wPos = transform.worldPosition;\r\n expect(Vector3.Close(wPos, expected)).toEqual(true);\r\n });\r\n\r\n it(\"Scales smaller with a pinch that moves closer\", () => {\r\n const { pinchUC, transform } = makeTestRig();\r\n transform.worldPosition = new Vector3(0, 0, 0);\r\n transform.worldScale = Vector3.One();\r\n\r\n const touch1 = new Vector2(0, 8);\r\n const touch2 = new Vector2(0, -8);\r\n pinchUC.initializePinch(touch1, touch2);\r\n\r\n const touch3 = new Vector2(0, 4);\r\n const touch4 = new Vector2(0, -4);\r\n pinchUC.doPinch(touch3, touch4);\r\n\r\n const expectedScaleDelta = pinchUC.sensitivity * 8;\r\n\r\n expect(transform.worldScale.x).toEqual(1 - expectedScaleDelta);\r\n });\r\n\r\n it(\"Scales larger with a pinch that moves further\", () => {\r\n const { pinchUC, transform } = makeTestRig();\r\n transform.worldPosition = new Vector3(0, 0, 0);\r\n transform.worldScale = Vector3.One();\r\n\r\n const touch1 = new Vector2(0, 8);\r\n const touch2 = new Vector2(0, -8);\r\n pinchUC.initializePinch(touch1, touch2);\r\n\r\n const touch3 = new Vector2(0, 12);\r\n const touch4 = new Vector2(0, -12);\r\n pinchUC.doPinch(touch3, touch4);\r\n\r\n const expectedScaleDelta = pinchUC.sensitivity * 8;\r\n expect(transform.worldScale.x).toEqual(1 + expectedScaleDelta);\r\n });\r\n\r\n it(\"Dispatches a state change if the position has changed since init\", () => {\r\n const { transform, pinchUC, doDispatchMock } = makeTestRig();\r\n\r\n transform.worldScale = new Vector3(5, 5, 5);\r\n const touch1 = new Vector2(0, 8);\r\n const touch2 = new Vector2(0, -8);\r\n pinchUC.initializePinch(touch1, touch2);\r\n\r\n transform.worldScale = new Vector3(6, 6, 6);\r\n pinchUC.finishPinch();\r\n\r\n expect(doDispatchMock).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not dispatch a state change if the scale has not changed\", () => {\r\n const { transform, pinchUC, doDispatchMock } = makeTestRig();\r\n\r\n transform.worldScale = new Vector3(5, 5, 5);\r\n const touch1 = new Vector2(0, 8);\r\n const touch2 = new Vector2(0, -8);\r\n pinchUC.initializePinch(touch1, touch2);\r\n\r\n pinchUC.finishPinch();\r\n\r\n expect(doDispatchMock).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not update if not enabled\", () => {\r\n const { pinchUC, transform } = makeTestRig();\r\n\r\n pinchUC.enabled = false;\r\n transform.worldPosition = Vector3.Zero();\r\n\r\n const touch1 = new Vector2(5, 8);\r\n const touch2 = new Vector2(5, 0);\r\n pinchUC.initializePinch(touch1, touch2);\r\n\r\n const touch3 = new Vector2(0, 8);\r\n const touch4 = new Vector2(0, 0);\r\n pinchUC.doPinch(touch3, touch4);\r\n\r\n expect(transform.worldPosition).toEqual(Vector3.Zero());\r\n });\r\n});\r\n"]}
|
|
@@ -11,12 +11,14 @@ function makeTestRig() {
|
|
|
11
11
|
const ao = appObjects.getOrCreate("ao");
|
|
12
12
|
const transform = (0, Entities_1.makeTransform3D)(ao);
|
|
13
13
|
const mockDispatch = (0, MockDispatchStateChange_1.makeMockDispatchStateChange)(appObjects);
|
|
14
|
+
const doDispatchMock = jest.fn();
|
|
15
|
+
mockDispatch.doDispatch = doDispatchMock;
|
|
14
16
|
const uc = (0, RayPanScaleTransform_1.makeRayPanScaleTransformUC)(ao);
|
|
15
17
|
const mockPick = (0, Babylon_1.makeMockSceneRayPickUC)(appObjects);
|
|
16
18
|
return {
|
|
17
19
|
uc,
|
|
18
20
|
appObjects,
|
|
19
|
-
|
|
21
|
+
doDispatchMock,
|
|
20
22
|
mockPick,
|
|
21
23
|
transform,
|
|
22
24
|
};
|
|
@@ -37,22 +39,22 @@ describe("Drag Scale Scene Root UC", () => {
|
|
|
37
39
|
expect(transform.worldScale.x).toBeGreaterThan(1);
|
|
38
40
|
});
|
|
39
41
|
it("Dispatches state change", () => {
|
|
40
|
-
const { uc,
|
|
42
|
+
const { uc, doDispatchMock } = makeTestRig();
|
|
41
43
|
uc.initialize(core_2.ParametricLine.FromPointDirection(new core_2.Vector3(0, 0, 5), core_2.Vector3.Forward()));
|
|
42
44
|
uc.update(core_2.ParametricLine.FromPointDirection(new core_2.Vector3(0, 0, 4.5), core_2.Vector3.Forward()));
|
|
43
45
|
uc.finish();
|
|
44
|
-
expect(
|
|
46
|
+
expect(doDispatchMock).toHaveBeenCalled();
|
|
45
47
|
});
|
|
46
48
|
it("Does not dispatches state change if the scale does not change", () => {
|
|
47
|
-
const { uc,
|
|
49
|
+
const { uc, doDispatchMock } = makeTestRig();
|
|
48
50
|
uc.initialize(core_2.ParametricLine.FromPointDirection(new core_2.Vector3(0, 0, 5), core_2.Vector3.Forward()));
|
|
49
51
|
uc.finish();
|
|
50
|
-
expect(
|
|
52
|
+
expect(doDispatchMock).not.toHaveBeenCalled();
|
|
51
53
|
});
|
|
52
54
|
it("Does not dispatches state change if it was not initialized", () => {
|
|
53
|
-
const { uc,
|
|
55
|
+
const { uc, doDispatchMock } = makeTestRig();
|
|
54
56
|
uc.finish();
|
|
55
|
-
expect(
|
|
57
|
+
expect(doDispatchMock).not.toHaveBeenCalled();
|
|
56
58
|
});
|
|
57
59
|
it("Does not scale if it is not initialized", () => {
|
|
58
60
|
const { uc, transform } = makeTestRig();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RayPanScaleTransform.test.js","sourceRoot":"","sources":["../../../../src/Transform3D/UC/RayPanScaleTransform.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport { ParametricLine, Vector3 } from \"@vived/core\";\r\nimport { makeMockSceneRayPickUC } from \"../../Babylon\";\r\nimport { makeMockDispatchStateChange } from \"../../Dispatcher/Mocks/MockDispatchStateChange\";\r\nimport { makeTransform3D } from \"../Entities\";\r\nimport { makeRayPanScaleTransformUC } from \"./RayPanScaleTransform\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n const ao = appObjects.getOrCreate(\"ao\");\r\n const transform = makeTransform3D(ao);\r\n\r\n const mockDispatch = makeMockDispatchStateChange(appObjects);\r\n\r\n const uc = makeRayPanScaleTransformUC(ao);\r\n\r\n const mockPick = makeMockSceneRayPickUC(appObjects);\r\n\r\n return {\r\n uc,\r\n appObjects,\r\n mockDispatch,\r\n mockPick,\r\n transform,\r\n };\r\n}\r\n\r\ndescribe(\"Drag Scale Scene Root UC\", () => {\r\n it(\"Decreases the scale with forward movement\", () => {\r\n const { uc, transform } = makeTestRig();\r\n\r\n transform.worldScale = Vector3.One();\r\n\r\n uc.initialize(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, -5),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n uc.update(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, -4),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n expect(transform.worldScale.x).toBeLessThan(1);\r\n });\r\n\r\n it(\"Increases the scale with backwards movement\", () => {\r\n const { uc, transform } = makeTestRig();\r\n\r\n transform.worldScale = Vector3.One();\r\n\r\n uc.initialize(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, -4),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n uc.update(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, -5),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n expect(transform.worldScale.x).toBeGreaterThan(1);\r\n });\r\n\r\n it(\"Dispatches state change\", () => {\r\n const { uc, mockDispatch } = makeTestRig();\r\n\r\n uc.initialize(\r\n ParametricLine.FromPointDirection(new Vector3(0, 0, 5), Vector3.Forward())\r\n );\r\n\r\n uc.update(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, 4.5),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n uc.finish();\r\n\r\n expect(mockDispatch.doDispatch).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not dispatches state change if the scale does not change\", () => {\r\n const { uc, mockDispatch } = makeTestRig();\r\n\r\n uc.initialize(\r\n ParametricLine.FromPointDirection(new Vector3(0, 0, 5), Vector3.Forward())\r\n );\r\n uc.finish();\r\n\r\n expect(mockDispatch.doDispatch).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not dispatches state change if it was not initialized\", () => {\r\n const { uc, mockDispatch } = makeTestRig();\r\n uc.finish();\r\n expect(mockDispatch.doDispatch).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not scale if it is not initialized\", () => {\r\n const { uc, transform } = makeTestRig();\r\n\r\n transform.worldScale = Vector3.One();\r\n\r\n uc.update(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, 4.5),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n expect(transform.worldScale.x).toEqual(1);\r\n });\r\n\r\n it(\"Limits the minimum scale\", () => {\r\n const { uc, transform } = makeTestRig();\r\n\r\n uc.minScale = 0.5;\r\n transform.worldScale = Vector3.One();\r\n\r\n uc.initialize(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, -5),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n uc.update(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, -4),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n expect(transform.worldScale).toEqual(new Vector3(0.5, 0.5, 0.5));\r\n });\r\n\r\n it(\"Limits the maximum scale\", () => {\r\n const { uc, transform } = makeTestRig();\r\n\r\n uc.maxScale = 1.5;\r\n transform.worldScale = Vector3.One();\r\n\r\n uc.initialize(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, -4),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n uc.update(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, -5),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n expect(transform.worldScale).toEqual(new Vector3(1.5, 1.5, 1.5));\r\n });\r\n\r\n it(\"Moves the transform\", () => {\r\n const { transform, uc } = makeTestRig();\r\n\r\n uc.initialize(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, -4),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n uc.update(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(1, 2, -4),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n expect(transform.worldPosition).toEqual(new Vector3(1, 2, 0));\r\n });\r\n\r\n it(\"Moves the transform relative to the initial position\", () => {\r\n const { transform, uc } = makeTestRig();\r\n\r\n transform.worldPosition = new Vector3(10, 10, 10);\r\n\r\n uc.initialize(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, -4),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n uc.update(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(1, 2, -4),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n expect(transform.worldPosition).toEqual(new Vector3(11, 12, 10));\r\n });\r\n\r\n it(\"Limits the minimum X\", () => {\r\n const { transform, uc } = makeTestRig();\r\n\r\n uc.minX = 0;\r\n\r\n uc.initialize(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, -4),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n uc.update(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(-1, 2, -4),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n expect(transform.worldPosition).toEqual(new Vector3(0, 2, 0));\r\n });\r\n\r\n it(\"Limits the maximum X\", () => {\r\n const { transform, uc } = makeTestRig();\r\n\r\n uc.maxX = 0;\r\n\r\n uc.initialize(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, -4),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n uc.update(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(1, 2, -4),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n expect(transform.worldPosition).toEqual(new Vector3(0, 2, 0));\r\n });\r\n\r\n it(\"Limits the minimum Y\", () => {\r\n const { transform, uc } = makeTestRig();\r\n\r\n uc.minY = 0;\r\n\r\n uc.initialize(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, -4),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n uc.update(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(-1, -2, -4),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n expect(transform.worldPosition).toEqual(new Vector3(-1, 0, 0));\r\n });\r\n\r\n it(\"Limits the maximum Y\", () => {\r\n const { transform, uc } = makeTestRig();\r\n\r\n uc.maxY = 0;\r\n\r\n uc.initialize(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, -4),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n uc.update(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(1, 2, -4),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n expect(transform.worldPosition).toEqual(new Vector3(1, 0, 0));\r\n });\r\n\r\n it(\"Does not update when disabled\", () => {\r\n const { uc, transform } = makeTestRig();\r\n uc.enabled = false;\r\n\r\n transform.worldScale = Vector3.One();\r\n transform.worldPosition = Vector3.Zero();\r\n\r\n uc.initialize(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, -5),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n uc.update(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(3, 4, -4),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n expect(transform.worldScale).toEqual(Vector3.One());\r\n expect(transform.worldPosition).toEqual(Vector3.Zero());\r\n });\r\n});\r\n"]}
|
|
1
|
+
{"version":3,"file":"RayPanScaleTransform.test.js","sourceRoot":"","sources":["../../../../src/Transform3D/UC/RayPanScaleTransform.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport { ParametricLine, Vector3 } from \"@vived/core\";\r\nimport { makeMockSceneRayPickUC } from \"../../Babylon\";\r\nimport { makeMockDispatchStateChange } from \"../../Dispatcher/Mocks/MockDispatchStateChange\";\r\nimport { makeTransform3D } from \"../Entities\";\r\nimport { makeRayPanScaleTransformUC } from \"./RayPanScaleTransform\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n const ao = appObjects.getOrCreate(\"ao\");\r\n const transform = makeTransform3D(ao);\r\n\r\n const mockDispatch = makeMockDispatchStateChange(appObjects);\r\n const doDispatchMock = jest.fn();\r\n mockDispatch.doDispatch = doDispatchMock;\r\n\r\n const uc = makeRayPanScaleTransformUC(ao);\r\n\r\n const mockPick = makeMockSceneRayPickUC(appObjects);\r\n\r\n return {\r\n uc,\r\n appObjects,\r\n doDispatchMock,\r\n mockPick,\r\n transform,\r\n };\r\n}\r\n\r\ndescribe(\"Drag Scale Scene Root UC\", () => {\r\n it(\"Decreases the scale with forward movement\", () => {\r\n const { uc, transform } = makeTestRig();\r\n\r\n transform.worldScale = Vector3.One();\r\n\r\n uc.initialize(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, -5),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n uc.update(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, -4),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n expect(transform.worldScale.x).toBeLessThan(1);\r\n });\r\n\r\n it(\"Increases the scale with backwards movement\", () => {\r\n const { uc, transform } = makeTestRig();\r\n\r\n transform.worldScale = Vector3.One();\r\n\r\n uc.initialize(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, -4),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n uc.update(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, -5),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n expect(transform.worldScale.x).toBeGreaterThan(1);\r\n });\r\n\r\n it(\"Dispatches state change\", () => {\r\n const { uc, doDispatchMock } = makeTestRig();\r\n\r\n uc.initialize(\r\n ParametricLine.FromPointDirection(new Vector3(0, 0, 5), Vector3.Forward())\r\n );\r\n\r\n uc.update(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, 4.5),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n uc.finish();\r\n\r\n expect(doDispatchMock).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not dispatches state change if the scale does not change\", () => {\r\n const { uc, doDispatchMock } = makeTestRig();\r\n\r\n uc.initialize(\r\n ParametricLine.FromPointDirection(new Vector3(0, 0, 5), Vector3.Forward())\r\n );\r\n uc.finish();\r\n\r\n expect(doDispatchMock).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not dispatches state change if it was not initialized\", () => {\r\n const { uc, doDispatchMock } = makeTestRig();\r\n uc.finish();\r\n expect(doDispatchMock).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not scale if it is not initialized\", () => {\r\n const { uc, transform } = makeTestRig();\r\n\r\n transform.worldScale = Vector3.One();\r\n\r\n uc.update(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, 4.5),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n expect(transform.worldScale.x).toEqual(1);\r\n });\r\n\r\n it(\"Limits the minimum scale\", () => {\r\n const { uc, transform } = makeTestRig();\r\n\r\n uc.minScale = 0.5;\r\n transform.worldScale = Vector3.One();\r\n\r\n uc.initialize(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, -5),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n uc.update(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, -4),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n expect(transform.worldScale).toEqual(new Vector3(0.5, 0.5, 0.5));\r\n });\r\n\r\n it(\"Limits the maximum scale\", () => {\r\n const { uc, transform } = makeTestRig();\r\n\r\n uc.maxScale = 1.5;\r\n transform.worldScale = Vector3.One();\r\n\r\n uc.initialize(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, -4),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n uc.update(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, -5),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n expect(transform.worldScale).toEqual(new Vector3(1.5, 1.5, 1.5));\r\n });\r\n\r\n it(\"Moves the transform\", () => {\r\n const { transform, uc } = makeTestRig();\r\n\r\n uc.initialize(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, -4),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n uc.update(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(1, 2, -4),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n expect(transform.worldPosition).toEqual(new Vector3(1, 2, 0));\r\n });\r\n\r\n it(\"Moves the transform relative to the initial position\", () => {\r\n const { transform, uc } = makeTestRig();\r\n\r\n transform.worldPosition = new Vector3(10, 10, 10);\r\n\r\n uc.initialize(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, -4),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n uc.update(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(1, 2, -4),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n expect(transform.worldPosition).toEqual(new Vector3(11, 12, 10));\r\n });\r\n\r\n it(\"Limits the minimum X\", () => {\r\n const { transform, uc } = makeTestRig();\r\n\r\n uc.minX = 0;\r\n\r\n uc.initialize(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, -4),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n uc.update(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(-1, 2, -4),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n expect(transform.worldPosition).toEqual(new Vector3(0, 2, 0));\r\n });\r\n\r\n it(\"Limits the maximum X\", () => {\r\n const { transform, uc } = makeTestRig();\r\n\r\n uc.maxX = 0;\r\n\r\n uc.initialize(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, -4),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n uc.update(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(1, 2, -4),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n expect(transform.worldPosition).toEqual(new Vector3(0, 2, 0));\r\n });\r\n\r\n it(\"Limits the minimum Y\", () => {\r\n const { transform, uc } = makeTestRig();\r\n\r\n uc.minY = 0;\r\n\r\n uc.initialize(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, -4),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n uc.update(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(-1, -2, -4),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n expect(transform.worldPosition).toEqual(new Vector3(-1, 0, 0));\r\n });\r\n\r\n it(\"Limits the maximum Y\", () => {\r\n const { transform, uc } = makeTestRig();\r\n\r\n uc.maxY = 0;\r\n\r\n uc.initialize(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, -4),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n uc.update(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(1, 2, -4),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n expect(transform.worldPosition).toEqual(new Vector3(1, 0, 0));\r\n });\r\n\r\n it(\"Does not update when disabled\", () => {\r\n const { uc, transform } = makeTestRig();\r\n uc.enabled = false;\r\n\r\n transform.worldScale = Vector3.One();\r\n transform.worldPosition = Vector3.Zero();\r\n\r\n uc.initialize(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, -5),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n uc.update(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(3, 4, -4),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n expect(transform.worldScale).toEqual(Vector3.One());\r\n expect(transform.worldPosition).toEqual(Vector3.Zero());\r\n });\r\n});\r\n"]}
|
|
@@ -11,14 +11,18 @@ function makeTestRig() {
|
|
|
11
11
|
const ao = appObjects.getOrCreate("ao");
|
|
12
12
|
const transform = (0, Entities_1.makeTransform3D)(ao);
|
|
13
13
|
const mockDispatch = (0, MockDispatchStateChange_1.makeMockDispatchStateChange)(appObjects);
|
|
14
|
+
const doDispatchMock = jest.fn();
|
|
15
|
+
mockDispatch.doDispatch = doDispatchMock;
|
|
14
16
|
const scaleUC = (0, ScaleTransform_1.makeScaleTransformUC)(ao);
|
|
15
|
-
const
|
|
17
|
+
const mockRayPick = (0, Babylon_1.makeMockSceneRayPickUC)(appObjects);
|
|
18
|
+
const mockPick = jest.fn().mockReturnValue({ appObjectID: "hideableObj" });
|
|
19
|
+
mockRayPick.sceneRayPick = mockPick;
|
|
16
20
|
const mockSceneRay = (0, Babylon_1.makeMockPixelToSceneRayUC)(appObjects);
|
|
17
21
|
mockSceneRay.pixelToSceneRay = mockPixelToRay;
|
|
18
22
|
return {
|
|
19
23
|
scaleUC,
|
|
20
24
|
appObjects,
|
|
21
|
-
|
|
25
|
+
doDispatchMock,
|
|
22
26
|
mockPick,
|
|
23
27
|
transform,
|
|
24
28
|
};
|
|
@@ -48,7 +52,7 @@ describe("Scale Transform UC - Ray", () => {
|
|
|
48
52
|
hit: false,
|
|
49
53
|
sceneRay: core_2.ParametricLine.Forward(),
|
|
50
54
|
};
|
|
51
|
-
mockPick.
|
|
55
|
+
mockPick.mockReturnValue(pick);
|
|
52
56
|
scaleUC.initializeRay(core_2.ParametricLine.FromPointDirection(new core_2.Vector3(0, 0, 5), core_2.Vector3.Forward()));
|
|
53
57
|
scaleUC.updateRay(core_2.ParametricLine.FromPointDirection(new core_2.Vector3(0, 0, 4.5), core_2.Vector3.Forward()));
|
|
54
58
|
expect(transform.worldPosition).toEqual(core_2.Vector3.Zero());
|
|
@@ -61,28 +65,28 @@ describe("Scale Transform UC - Ray", () => {
|
|
|
61
65
|
sceneRay: core_2.ParametricLine.Forward(),
|
|
62
66
|
worldPickPoint: new core_2.Vector3(1, 2, 3),
|
|
63
67
|
};
|
|
64
|
-
mockPick.
|
|
68
|
+
mockPick.mockReturnValue(pick);
|
|
65
69
|
scaleUC.initializeRay(core_2.ParametricLine.FromPointDirection(new core_2.Vector3(0, 0, 5), core_2.Vector3.Forward()));
|
|
66
70
|
scaleUC.updateRay(core_2.ParametricLine.FromPointDirection(new core_2.Vector3(0, 0, 4), core_2.Vector3.Forward()));
|
|
67
71
|
expect(transform.worldPosition).toEqual(new core_2.Vector3(-1, -2, -3));
|
|
68
72
|
});
|
|
69
73
|
it("Dispatches state change", () => {
|
|
70
|
-
const { scaleUC,
|
|
74
|
+
const { scaleUC, doDispatchMock } = makeTestRig();
|
|
71
75
|
scaleUC.initializeRay(core_2.ParametricLine.FromPointDirection(new core_2.Vector3(0, 0, 5), core_2.Vector3.Forward()));
|
|
72
76
|
scaleUC.updateRay(core_2.ParametricLine.FromPointDirection(new core_2.Vector3(0, 0, 4.5), core_2.Vector3.Forward()));
|
|
73
77
|
scaleUC.finish();
|
|
74
|
-
expect(
|
|
78
|
+
expect(doDispatchMock).toHaveBeenCalled();
|
|
75
79
|
});
|
|
76
80
|
it("Does not dispatches state change if the scale does not change", () => {
|
|
77
|
-
const { scaleUC,
|
|
81
|
+
const { scaleUC, doDispatchMock } = makeTestRig();
|
|
78
82
|
scaleUC.initializeRay(core_2.ParametricLine.FromPointDirection(new core_2.Vector3(0, 0, 5), core_2.Vector3.Forward()));
|
|
79
83
|
scaleUC.finish();
|
|
80
|
-
expect(
|
|
84
|
+
expect(doDispatchMock).not.toHaveBeenCalled();
|
|
81
85
|
});
|
|
82
86
|
it("Does not dispatches state change if it was not initialized", () => {
|
|
83
|
-
const { scaleUC,
|
|
87
|
+
const { scaleUC, doDispatchMock } = makeTestRig();
|
|
84
88
|
scaleUC.finish();
|
|
85
|
-
expect(
|
|
89
|
+
expect(doDispatchMock).not.toHaveBeenCalled();
|
|
86
90
|
});
|
|
87
91
|
it("Does not scale if it is not initialized", () => {
|
|
88
92
|
const { scaleUC, transform } = makeTestRig();
|
|
@@ -148,7 +152,7 @@ describe("Scale Transform UC - Pixel", () => {
|
|
|
148
152
|
hit: false,
|
|
149
153
|
sceneRay: core_2.ParametricLine.Forward(),
|
|
150
154
|
};
|
|
151
|
-
mockPick.
|
|
155
|
+
mockPick.mockReturnValue(pick);
|
|
152
156
|
scaleUC.initializePixel(core_2.Vector2.Zero());
|
|
153
157
|
scaleUC.updatePixel(new core_2.Vector2(0, 10));
|
|
154
158
|
expect(transform.worldPosition).toEqual(core_2.Vector3.Zero());
|
|
@@ -161,28 +165,28 @@ describe("Scale Transform UC - Pixel", () => {
|
|
|
161
165
|
sceneRay: core_2.ParametricLine.Forward(),
|
|
162
166
|
worldPickPoint: new core_2.Vector3(1, 2, 3),
|
|
163
167
|
};
|
|
164
|
-
mockPick.
|
|
168
|
+
mockPick.mockReturnValue(pick);
|
|
165
169
|
scaleUC.initializePixel(core_2.Vector2.Zero());
|
|
166
170
|
scaleUC.updatePixel(new core_2.Vector2(0, 10));
|
|
167
171
|
expect(transform.worldPosition).toEqual(new core_2.Vector3(-1, -2, -3));
|
|
168
172
|
});
|
|
169
173
|
it("Dispatches state change", () => {
|
|
170
|
-
const { scaleUC,
|
|
174
|
+
const { scaleUC, doDispatchMock } = makeTestRig();
|
|
171
175
|
scaleUC.initializePixel(core_2.Vector2.Zero());
|
|
172
176
|
scaleUC.updatePixel(new core_2.Vector2(0, -5));
|
|
173
177
|
scaleUC.finish();
|
|
174
|
-
expect(
|
|
178
|
+
expect(doDispatchMock).toHaveBeenCalled();
|
|
175
179
|
});
|
|
176
180
|
it("Does not dispatches state change if the scale does not change", () => {
|
|
177
|
-
const { scaleUC,
|
|
181
|
+
const { scaleUC, doDispatchMock } = makeTestRig();
|
|
178
182
|
scaleUC.initializePixel(core_2.Vector2.Zero());
|
|
179
183
|
scaleUC.finish();
|
|
180
|
-
expect(
|
|
184
|
+
expect(doDispatchMock).not.toHaveBeenCalled();
|
|
181
185
|
});
|
|
182
186
|
it("Does not dispatches state change if it was not initialized", () => {
|
|
183
|
-
const { scaleUC,
|
|
187
|
+
const { scaleUC, doDispatchMock } = makeTestRig();
|
|
184
188
|
scaleUC.finish();
|
|
185
|
-
expect(
|
|
189
|
+
expect(doDispatchMock).not.toHaveBeenCalled();
|
|
186
190
|
});
|
|
187
191
|
it("Does not scale if it is not initialized", () => {
|
|
188
192
|
const { scaleUC, transform } = makeTestRig();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScaleTransform.test.js","sourceRoot":"","sources":["../../../../src/Transform3D/UC/ScaleTransform.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport { ParametricLine, ParametricPlane, Vector2, Vector3 } from \"@vived/core\";\r\nimport {\r\n makeMockPixelToSceneRayUC,\r\n makeMockSceneRayPickUC,\r\n PixelToSceneRayUC,\r\n ScenePixelPick,\r\n} from \"../../Babylon\";\r\nimport { makeMockDispatchStateChange } from \"../../Dispatcher/Mocks/MockDispatchStateChange\";\r\nimport { makeTransform3D } from \"../Entities\";\r\nimport { makeScaleTransformUC } from \"./ScaleTransform\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n const ao = appObjects.getOrCreate(\"ao\");\r\n const transform = makeTransform3D(ao);\r\n\r\n const mockDispatch = makeMockDispatchStateChange(appObjects);\r\n\r\n const scaleUC = makeScaleTransformUC(ao);\r\n\r\n const mockPick = makeMockSceneRayPickUC(appObjects);\r\n const mockSceneRay = makeMockPixelToSceneRayUC(\r\n appObjects\r\n ) as PixelToSceneRayUC;\r\n mockSceneRay.pixelToSceneRay = mockPixelToRay;\r\n\r\n return {\r\n scaleUC,\r\n appObjects,\r\n mockDispatch,\r\n mockPick,\r\n transform,\r\n };\r\n}\r\n\r\nfunction mockPixelToRay(pix: Vector2) {\r\n return ParametricLine.FromPointDirection(\r\n new Vector3(pix.x, pix.y, -5),\r\n Vector3.Forward()\r\n );\r\n}\r\n\r\ndescribe(\"Scale Transform UC - Ray\", () => {\r\n it(\"Decreases the scaleUC with forward movement\", () => {\r\n const { scaleUC, transform } = makeTestRig();\r\n\r\n transform.worldScale = Vector3.One();\r\n\r\n scaleUC.initializeRay(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, 4.5),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n scaleUC.updateRay(\r\n ParametricLine.FromPointDirection(new Vector3(0, 0, 5), Vector3.Forward())\r\n );\r\n\r\n expect(transform.worldScale.x).toBeLessThan(1);\r\n });\r\n\r\n it(\"Increases the scaleUC with backwards movement\", () => {\r\n const { scaleUC, transform } = makeTestRig();\r\n\r\n transform.worldScale = Vector3.One();\r\n\r\n scaleUC.initializeRay(\r\n ParametricLine.FromPointDirection(new Vector3(0, 0, 5), Vector3.Forward())\r\n );\r\n\r\n scaleUC.updateRay(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, 4.5),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n expect(transform.worldScale.x).toBeGreaterThan(1);\r\n });\r\n\r\n it(\"Scales around the origin if there is no pick\", () => {\r\n const { scaleUC, mockPick, transform } = makeTestRig();\r\n\r\n transform.worldPosition = Vector3.Zero();\r\n\r\n const pick: ScenePixelPick = {\r\n hit: false,\r\n sceneRay: ParametricLine.Forward(),\r\n };\r\n mockPick.sceneRayPick.mockReturnValue(pick);\r\n\r\n scaleUC.initializeRay(\r\n ParametricLine.FromPointDirection(new Vector3(0, 0, 5), Vector3.Forward())\r\n );\r\n\r\n scaleUC.updateRay(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, 4.5),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n expect(transform.worldPosition).toEqual(Vector3.Zero());\r\n });\r\n\r\n it(\"Scales around the pick point\", () => {\r\n const { scaleUC, transform, mockPick } = makeTestRig();\r\n\r\n transform.worldPosition = Vector3.Zero();\r\n\r\n const pick: ScenePixelPick = {\r\n hit: true,\r\n sceneRay: ParametricLine.Forward(),\r\n worldPickPoint: new Vector3(1, 2, 3),\r\n };\r\n mockPick.sceneRayPick.mockReturnValue(pick);\r\n\r\n scaleUC.initializeRay(\r\n ParametricLine.FromPointDirection(new Vector3(0, 0, 5), Vector3.Forward())\r\n );\r\n\r\n scaleUC.updateRay(\r\n ParametricLine.FromPointDirection(new Vector3(0, 0, 4), Vector3.Forward())\r\n );\r\n\r\n expect(transform.worldPosition).toEqual(new Vector3(-1, -2, -3));\r\n });\r\n\r\n it(\"Dispatches state change\", () => {\r\n const { scaleUC, mockDispatch } = makeTestRig();\r\n\r\n scaleUC.initializeRay(\r\n ParametricLine.FromPointDirection(new Vector3(0, 0, 5), Vector3.Forward())\r\n );\r\n\r\n scaleUC.updateRay(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, 4.5),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n scaleUC.finish();\r\n\r\n expect(mockDispatch.doDispatch).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not dispatches state change if the scale does not change\", () => {\r\n const { scaleUC, mockDispatch } = makeTestRig();\r\n\r\n scaleUC.initializeRay(\r\n ParametricLine.FromPointDirection(new Vector3(0, 0, 5), Vector3.Forward())\r\n );\r\n scaleUC.finish();\r\n\r\n expect(mockDispatch.doDispatch).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not dispatches state change if it was not initialized\", () => {\r\n const { scaleUC, mockDispatch } = makeTestRig();\r\n scaleUC.finish();\r\n expect(mockDispatch.doDispatch).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not scale if it is not initialized\", () => {\r\n const { scaleUC, transform } = makeTestRig();\r\n\r\n transform.worldScale = Vector3.One();\r\n\r\n scaleUC.updateRay(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, 4.5),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n expect(transform.worldScale.x).toEqual(1);\r\n });\r\n\r\n it(\"Limits the minimum scale\", () => {\r\n const { scaleUC, transform } = makeTestRig();\r\n\r\n scaleUC.minScale = 0.5;\r\n transform.worldScale = Vector3.One();\r\n\r\n scaleUC.initializeRay(\r\n ParametricLine.FromPointDirection(new Vector3(0, 0, 4), Vector3.Forward())\r\n );\r\n\r\n scaleUC.updateRay(\r\n ParametricLine.FromPointDirection(new Vector3(0, 0, 5), Vector3.Forward())\r\n );\r\n\r\n expect(transform.worldScale).toEqual(new Vector3(0.5, 0.5, 0.5));\r\n });\r\n\r\n it(\"Limits the maximum scale\", () => {\r\n const { scaleUC, transform } = makeTestRig();\r\n\r\n scaleUC.maxScale = 1.5;\r\n transform.worldScale = Vector3.One();\r\n\r\n scaleUC.initializeRay(\r\n ParametricLine.FromPointDirection(new Vector3(0, 0, 5), Vector3.Forward())\r\n );\r\n\r\n scaleUC.updateRay(\r\n ParametricLine.FromPointDirection(new Vector3(0, 0, 4), Vector3.Forward())\r\n );\r\n\r\n expect(transform.worldScale).toEqual(new Vector3(1.5, 1.5, 1.5));\r\n });\r\n\r\n it(\"Does not update if disabled\", () => {\r\n const { scaleUC, transform } = makeTestRig();\r\n\r\n scaleUC.enabled = false;\r\n transform.worldScale = Vector3.One();\r\n\r\n scaleUC.initializeRay(\r\n ParametricLine.FromPointDirection(new Vector3(0, 0, 5), Vector3.Forward())\r\n );\r\n scaleUC.updateRay(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, 4.5),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n expect(transform.worldScale).toEqual(Vector3.One());\r\n });\r\n\r\n it(\"Ray scales around the pick point on the plane if the plane is supplied\", () => {\r\n const { scaleUC, transform } = makeTestRig();\r\n\r\n transform.worldPosition = Vector3.Zero();\r\n\r\n const pickPlane = ParametricPlane.FromPointNormal(\r\n new Vector3(0, 0, -1),\r\n Vector3.Forward()\r\n );\r\n scaleUC.pickPlane = pickPlane;\r\n\r\n scaleUC.initializeRay(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, -5),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n scaleUC.updateRay(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, -4),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n expect(transform.worldPosition.x).toBeCloseTo(0);\r\n expect(transform.worldPosition.y).toBeCloseTo(0);\r\n expect(transform.worldPosition.z).toBeCloseTo(-1);\r\n });\r\n});\r\n\r\ndescribe(\"Scale Transform UC - Pixel\", () => {\r\n it(\"Decreases the scaleUC with down movement\", () => {\r\n const { scaleUC, transform } = makeTestRig();\r\n\r\n transform.worldScale = Vector3.One();\r\n\r\n scaleUC.initializePixel(Vector2.Zero());\r\n scaleUC.updatePixel(new Vector2(0, -5));\r\n\r\n expect(transform.worldScale.x).toBeLessThan(1);\r\n });\r\n\r\n it(\"Increases the scaleUC with up movement\", () => {\r\n const { scaleUC, transform } = makeTestRig();\r\n\r\n transform.worldScale = Vector3.One();\r\n\r\n scaleUC.initializePixel(Vector2.Zero());\r\n scaleUC.updatePixel(new Vector2(0, 5));\r\n\r\n expect(transform.worldScale.x).toBeGreaterThan(1);\r\n });\r\n\r\n it(\"Scales around the origin if there is no pick\", () => {\r\n const { scaleUC, mockPick, transform } = makeTestRig();\r\n\r\n transform.worldPosition = Vector3.Zero();\r\n\r\n const pick: ScenePixelPick = {\r\n hit: false,\r\n sceneRay: ParametricLine.Forward(),\r\n };\r\n mockPick.sceneRayPick.mockReturnValue(pick);\r\n\r\n scaleUC.initializePixel(Vector2.Zero());\r\n scaleUC.updatePixel(new Vector2(0, 10));\r\n\r\n expect(transform.worldPosition).toEqual(Vector3.Zero());\r\n });\r\n\r\n it(\"Scales around the pick point\", () => {\r\n const { scaleUC, transform, mockPick } = makeTestRig();\r\n\r\n transform.worldPosition = Vector3.Zero();\r\n\r\n const pick: ScenePixelPick = {\r\n hit: true,\r\n sceneRay: ParametricLine.Forward(),\r\n worldPickPoint: new Vector3(1, 2, 3),\r\n };\r\n mockPick.sceneRayPick.mockReturnValue(pick);\r\n\r\n scaleUC.initializePixel(Vector2.Zero());\r\n scaleUC.updatePixel(new Vector2(0, 10));\r\n\r\n expect(transform.worldPosition).toEqual(new Vector3(-1, -2, -3));\r\n });\r\n\r\n it(\"Dispatches state change\", () => {\r\n const { scaleUC, mockDispatch } = makeTestRig();\r\n\r\n scaleUC.initializePixel(Vector2.Zero());\r\n scaleUC.updatePixel(new Vector2(0, -5));\r\n scaleUC.finish();\r\n\r\n expect(mockDispatch.doDispatch).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not dispatches state change if the scale does not change\", () => {\r\n const { scaleUC, mockDispatch } = makeTestRig();\r\n\r\n scaleUC.initializePixel(Vector2.Zero());\r\n scaleUC.finish();\r\n\r\n expect(mockDispatch.doDispatch).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not dispatches state change if it was not initialized\", () => {\r\n const { scaleUC, mockDispatch } = makeTestRig();\r\n scaleUC.finish();\r\n expect(mockDispatch.doDispatch).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not scale if it is not initialized\", () => {\r\n const { scaleUC, transform } = makeTestRig();\r\n\r\n transform.worldScale = Vector3.One();\r\n\r\n scaleUC.updatePixel(new Vector2(0, 10));\r\n\r\n expect(transform.worldScale.x).toEqual(1);\r\n });\r\n\r\n it(\"Limits the minimum scale\", () => {\r\n const { scaleUC, transform } = makeTestRig();\r\n\r\n scaleUC.minScale = 0.5;\r\n transform.worldScale = Vector3.One();\r\n\r\n scaleUC.initializePixel(Vector2.Zero());\r\n scaleUC.updatePixel(new Vector2(0, -50));\r\n\r\n expect(transform.worldScale).toEqual(new Vector3(0.5, 0.5, 0.5));\r\n });\r\n\r\n it(\"Limits the maximum scale\", () => {\r\n const { scaleUC, transform } = makeTestRig();\r\n\r\n scaleUC.maxScale = 1.5;\r\n transform.worldScale = Vector3.One();\r\n\r\n scaleUC.initializePixel(Vector2.Zero());\r\n scaleUC.updatePixel(new Vector2(0, 50));\r\n\r\n expect(transform.worldScale).toEqual(new Vector3(1.5, 1.5, 1.5));\r\n });\r\n\r\n it(\"Does not update if disabled\", () => {\r\n const { scaleUC, transform } = makeTestRig();\r\n\r\n scaleUC.enabled = false;\r\n transform.worldScale = Vector3.One();\r\n\r\n scaleUC.initializePixel(Vector2.Zero());\r\n scaleUC.updatePixel(new Vector2(0, -5));\r\n\r\n expect(transform.worldScale).toEqual(Vector3.One());\r\n });\r\n\r\n it(\"Pixel scales around the pick point on the plane if the plane is supplied\", () => {\r\n const { scaleUC, mockPick, transform } = makeTestRig();\r\n\r\n transform.worldPosition = Vector3.Zero();\r\n\r\n const pickPlane = ParametricPlane.FromPointNormal(\r\n new Vector3(0, 0, -1), // Offset forward, closer to the camera\r\n Vector3.Forward()\r\n );\r\n scaleUC.pickPlane = pickPlane;\r\n\r\n scaleUC.initializePixel(Vector2.Zero());\r\n scaleUC.updatePixel(new Vector2(0, 10));\r\n\r\n expect(transform.worldPosition.x).toBeCloseTo(0);\r\n expect(transform.worldPosition.y).toBeCloseTo(0);\r\n expect(transform.worldPosition.z).toBeCloseTo(1); // Pushes it away\r\n });\r\n});\r\n"]}
|
|
1
|
+
{"version":3,"file":"ScaleTransform.test.js","sourceRoot":"","sources":["../../../../src/Transform3D/UC/ScaleTransform.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport { ParametricLine, ParametricPlane, Vector2, Vector3 } from \"@vived/core\";\r\nimport {\r\n makeMockPixelToSceneRayUC,\r\n makeMockSceneRayPickUC,\r\n PixelToSceneRayUC,\r\n ScenePixelPick,\r\n} from \"../../Babylon\";\r\nimport { makeMockDispatchStateChange } from \"../../Dispatcher/Mocks/MockDispatchStateChange\";\r\nimport { makeTransform3D } from \"../Entities\";\r\nimport { makeScaleTransformUC } from \"./ScaleTransform\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n const ao = appObjects.getOrCreate(\"ao\");\r\n const transform = makeTransform3D(ao);\r\n\r\n const mockDispatch = makeMockDispatchStateChange(appObjects);\r\n const doDispatchMock = jest.fn();\r\n mockDispatch.doDispatch = doDispatchMock;\r\n\r\n const scaleUC = makeScaleTransformUC(ao);\r\n\r\n const mockRayPick = makeMockSceneRayPickUC(appObjects);\r\n const mockPick = jest.fn().mockReturnValue({ appObjectID: \"hideableObj\" });\r\n mockRayPick.sceneRayPick = mockPick;\r\n\r\n const mockSceneRay = makeMockPixelToSceneRayUC(\r\n appObjects\r\n ) as PixelToSceneRayUC;\r\n mockSceneRay.pixelToSceneRay = mockPixelToRay;\r\n\r\n return {\r\n scaleUC,\r\n appObjects,\r\n doDispatchMock,\r\n mockPick,\r\n transform,\r\n };\r\n}\r\n\r\nfunction mockPixelToRay(pix: Vector2) {\r\n return ParametricLine.FromPointDirection(\r\n new Vector3(pix.x, pix.y, -5),\r\n Vector3.Forward()\r\n );\r\n}\r\n\r\ndescribe(\"Scale Transform UC - Ray\", () => {\r\n it(\"Decreases the scaleUC with forward movement\", () => {\r\n const { scaleUC, transform } = makeTestRig();\r\n\r\n transform.worldScale = Vector3.One();\r\n\r\n scaleUC.initializeRay(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, 4.5),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n scaleUC.updateRay(\r\n ParametricLine.FromPointDirection(new Vector3(0, 0, 5), Vector3.Forward())\r\n );\r\n\r\n expect(transform.worldScale.x).toBeLessThan(1);\r\n });\r\n\r\n it(\"Increases the scaleUC with backwards movement\", () => {\r\n const { scaleUC, transform } = makeTestRig();\r\n\r\n transform.worldScale = Vector3.One();\r\n\r\n scaleUC.initializeRay(\r\n ParametricLine.FromPointDirection(new Vector3(0, 0, 5), Vector3.Forward())\r\n );\r\n\r\n scaleUC.updateRay(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, 4.5),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n expect(transform.worldScale.x).toBeGreaterThan(1);\r\n });\r\n\r\n it(\"Scales around the origin if there is no pick\", () => {\r\n const { scaleUC, mockPick, transform } = makeTestRig();\r\n\r\n transform.worldPosition = Vector3.Zero();\r\n\r\n const pick: ScenePixelPick = {\r\n hit: false,\r\n sceneRay: ParametricLine.Forward(),\r\n };\r\n mockPick.mockReturnValue(pick);\r\n\r\n scaleUC.initializeRay(\r\n ParametricLine.FromPointDirection(new Vector3(0, 0, 5), Vector3.Forward())\r\n );\r\n\r\n scaleUC.updateRay(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, 4.5),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n expect(transform.worldPosition).toEqual(Vector3.Zero());\r\n });\r\n\r\n it(\"Scales around the pick point\", () => {\r\n const { scaleUC, transform, mockPick } = makeTestRig();\r\n\r\n transform.worldPosition = Vector3.Zero();\r\n\r\n const pick: ScenePixelPick = {\r\n hit: true,\r\n sceneRay: ParametricLine.Forward(),\r\n worldPickPoint: new Vector3(1, 2, 3),\r\n };\r\n mockPick.mockReturnValue(pick);\r\n\r\n scaleUC.initializeRay(\r\n ParametricLine.FromPointDirection(new Vector3(0, 0, 5), Vector3.Forward())\r\n );\r\n\r\n scaleUC.updateRay(\r\n ParametricLine.FromPointDirection(new Vector3(0, 0, 4), Vector3.Forward())\r\n );\r\n\r\n expect(transform.worldPosition).toEqual(new Vector3(-1, -2, -3));\r\n });\r\n\r\n it(\"Dispatches state change\", () => {\r\n const { scaleUC, doDispatchMock } = makeTestRig();\r\n\r\n scaleUC.initializeRay(\r\n ParametricLine.FromPointDirection(new Vector3(0, 0, 5), Vector3.Forward())\r\n );\r\n\r\n scaleUC.updateRay(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, 4.5),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n scaleUC.finish();\r\n\r\n expect(doDispatchMock).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not dispatches state change if the scale does not change\", () => {\r\n const { scaleUC, doDispatchMock } = makeTestRig();\r\n\r\n scaleUC.initializeRay(\r\n ParametricLine.FromPointDirection(new Vector3(0, 0, 5), Vector3.Forward())\r\n );\r\n scaleUC.finish();\r\n\r\n expect(doDispatchMock).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not dispatches state change if it was not initialized\", () => {\r\n const { scaleUC, doDispatchMock } = makeTestRig();\r\n scaleUC.finish();\r\n expect(doDispatchMock).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not scale if it is not initialized\", () => {\r\n const { scaleUC, transform } = makeTestRig();\r\n\r\n transform.worldScale = Vector3.One();\r\n\r\n scaleUC.updateRay(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, 4.5),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n expect(transform.worldScale.x).toEqual(1);\r\n });\r\n\r\n it(\"Limits the minimum scale\", () => {\r\n const { scaleUC, transform } = makeTestRig();\r\n\r\n scaleUC.minScale = 0.5;\r\n transform.worldScale = Vector3.One();\r\n\r\n scaleUC.initializeRay(\r\n ParametricLine.FromPointDirection(new Vector3(0, 0, 4), Vector3.Forward())\r\n );\r\n\r\n scaleUC.updateRay(\r\n ParametricLine.FromPointDirection(new Vector3(0, 0, 5), Vector3.Forward())\r\n );\r\n\r\n expect(transform.worldScale).toEqual(new Vector3(0.5, 0.5, 0.5));\r\n });\r\n\r\n it(\"Limits the maximum scale\", () => {\r\n const { scaleUC, transform } = makeTestRig();\r\n\r\n scaleUC.maxScale = 1.5;\r\n transform.worldScale = Vector3.One();\r\n\r\n scaleUC.initializeRay(\r\n ParametricLine.FromPointDirection(new Vector3(0, 0, 5), Vector3.Forward())\r\n );\r\n\r\n scaleUC.updateRay(\r\n ParametricLine.FromPointDirection(new Vector3(0, 0, 4), Vector3.Forward())\r\n );\r\n\r\n expect(transform.worldScale).toEqual(new Vector3(1.5, 1.5, 1.5));\r\n });\r\n\r\n it(\"Does not update if disabled\", () => {\r\n const { scaleUC, transform } = makeTestRig();\r\n\r\n scaleUC.enabled = false;\r\n transform.worldScale = Vector3.One();\r\n\r\n scaleUC.initializeRay(\r\n ParametricLine.FromPointDirection(new Vector3(0, 0, 5), Vector3.Forward())\r\n );\r\n scaleUC.updateRay(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, 4.5),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n expect(transform.worldScale).toEqual(Vector3.One());\r\n });\r\n\r\n it(\"Ray scales around the pick point on the plane if the plane is supplied\", () => {\r\n const { scaleUC, transform } = makeTestRig();\r\n\r\n transform.worldPosition = Vector3.Zero();\r\n\r\n const pickPlane = ParametricPlane.FromPointNormal(\r\n new Vector3(0, 0, -1),\r\n Vector3.Forward()\r\n );\r\n scaleUC.pickPlane = pickPlane;\r\n\r\n scaleUC.initializeRay(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, -5),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n scaleUC.updateRay(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, -4),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n expect(transform.worldPosition.x).toBeCloseTo(0);\r\n expect(transform.worldPosition.y).toBeCloseTo(0);\r\n expect(transform.worldPosition.z).toBeCloseTo(-1);\r\n });\r\n});\r\n\r\ndescribe(\"Scale Transform UC - Pixel\", () => {\r\n it(\"Decreases the scaleUC with down movement\", () => {\r\n const { scaleUC, transform } = makeTestRig();\r\n\r\n transform.worldScale = Vector3.One();\r\n\r\n scaleUC.initializePixel(Vector2.Zero());\r\n scaleUC.updatePixel(new Vector2(0, -5));\r\n\r\n expect(transform.worldScale.x).toBeLessThan(1);\r\n });\r\n\r\n it(\"Increases the scaleUC with up movement\", () => {\r\n const { scaleUC, transform } = makeTestRig();\r\n\r\n transform.worldScale = Vector3.One();\r\n\r\n scaleUC.initializePixel(Vector2.Zero());\r\n scaleUC.updatePixel(new Vector2(0, 5));\r\n\r\n expect(transform.worldScale.x).toBeGreaterThan(1);\r\n });\r\n\r\n it(\"Scales around the origin if there is no pick\", () => {\r\n const { scaleUC, mockPick, transform } = makeTestRig();\r\n\r\n transform.worldPosition = Vector3.Zero();\r\n\r\n const pick: ScenePixelPick = {\r\n hit: false,\r\n sceneRay: ParametricLine.Forward(),\r\n };\r\n mockPick.mockReturnValue(pick);\r\n\r\n scaleUC.initializePixel(Vector2.Zero());\r\n scaleUC.updatePixel(new Vector2(0, 10));\r\n\r\n expect(transform.worldPosition).toEqual(Vector3.Zero());\r\n });\r\n\r\n it(\"Scales around the pick point\", () => {\r\n const { scaleUC, transform, mockPick } = makeTestRig();\r\n\r\n transform.worldPosition = Vector3.Zero();\r\n\r\n const pick: ScenePixelPick = {\r\n hit: true,\r\n sceneRay: ParametricLine.Forward(),\r\n worldPickPoint: new Vector3(1, 2, 3),\r\n };\r\n mockPick.mockReturnValue(pick);\r\n\r\n scaleUC.initializePixel(Vector2.Zero());\r\n scaleUC.updatePixel(new Vector2(0, 10));\r\n\r\n expect(transform.worldPosition).toEqual(new Vector3(-1, -2, -3));\r\n });\r\n\r\n it(\"Dispatches state change\", () => {\r\n const { scaleUC, doDispatchMock } = makeTestRig();\r\n\r\n scaleUC.initializePixel(Vector2.Zero());\r\n scaleUC.updatePixel(new Vector2(0, -5));\r\n scaleUC.finish();\r\n\r\n expect(doDispatchMock).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not dispatches state change if the scale does not change\", () => {\r\n const { scaleUC, doDispatchMock } = makeTestRig();\r\n\r\n scaleUC.initializePixel(Vector2.Zero());\r\n scaleUC.finish();\r\n\r\n expect(doDispatchMock).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not dispatches state change if it was not initialized\", () => {\r\n const { scaleUC, doDispatchMock } = makeTestRig();\r\n scaleUC.finish();\r\n expect(doDispatchMock).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not scale if it is not initialized\", () => {\r\n const { scaleUC, transform } = makeTestRig();\r\n\r\n transform.worldScale = Vector3.One();\r\n\r\n scaleUC.updatePixel(new Vector2(0, 10));\r\n\r\n expect(transform.worldScale.x).toEqual(1);\r\n });\r\n\r\n it(\"Limits the minimum scale\", () => {\r\n const { scaleUC, transform } = makeTestRig();\r\n\r\n scaleUC.minScale = 0.5;\r\n transform.worldScale = Vector3.One();\r\n\r\n scaleUC.initializePixel(Vector2.Zero());\r\n scaleUC.updatePixel(new Vector2(0, -50));\r\n\r\n expect(transform.worldScale).toEqual(new Vector3(0.5, 0.5, 0.5));\r\n });\r\n\r\n it(\"Limits the maximum scale\", () => {\r\n const { scaleUC, transform } = makeTestRig();\r\n\r\n scaleUC.maxScale = 1.5;\r\n transform.worldScale = Vector3.One();\r\n\r\n scaleUC.initializePixel(Vector2.Zero());\r\n scaleUC.updatePixel(new Vector2(0, 50));\r\n\r\n expect(transform.worldScale).toEqual(new Vector3(1.5, 1.5, 1.5));\r\n });\r\n\r\n it(\"Does not update if disabled\", () => {\r\n const { scaleUC, transform } = makeTestRig();\r\n\r\n scaleUC.enabled = false;\r\n transform.worldScale = Vector3.One();\r\n\r\n scaleUC.initializePixel(Vector2.Zero());\r\n scaleUC.updatePixel(new Vector2(0, -5));\r\n\r\n expect(transform.worldScale).toEqual(Vector3.One());\r\n });\r\n\r\n it(\"Pixel scales around the pick point on the plane if the plane is supplied\", () => {\r\n const { scaleUC, mockPick, transform } = makeTestRig();\r\n\r\n transform.worldPosition = Vector3.Zero();\r\n\r\n const pickPlane = ParametricPlane.FromPointNormal(\r\n new Vector3(0, 0, -1), // Offset forward, closer to the camera\r\n Vector3.Forward()\r\n );\r\n scaleUC.pickPlane = pickPlane;\r\n\r\n scaleUC.initializePixel(Vector2.Zero());\r\n scaleUC.updatePixel(new Vector2(0, 10));\r\n\r\n expect(transform.worldPosition.x).toBeCloseTo(0);\r\n expect(transform.worldPosition.y).toBeCloseTo(0);\r\n expect(transform.worldPosition.z).toBeCloseTo(1); // Pushes it away\r\n });\r\n});\r\n"]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const Transform3D_1 = require("../Entities/Transform3D");
|
|
4
4
|
const core_1 = require("@vived/core");
|
|
5
|
-
const
|
|
5
|
+
const Dispatcher_1 = require("../../Dispatcher");
|
|
6
6
|
const StylusEntity_1 = require("../../Stylus/Entity/StylusEntity");
|
|
7
7
|
const MockUndoRedo_1 = require("../../UndoRedo/Mocks/MockUndoRedo");
|
|
8
8
|
const StylusMoveTransformUC_1 = require("./StylusMoveTransformUC");
|
|
@@ -13,29 +13,34 @@ function makeTestRig() {
|
|
|
13
13
|
const ao = appObjects.getOrCreate("App Object");
|
|
14
14
|
const transform = (0, Transform3D_1.makeTransform3D)(ao);
|
|
15
15
|
const stylusRootMovementUC = (0, StylusMoveTransformUC_1.makeStylusMoveTransformUC)(ao);
|
|
16
|
-
const mockDispatch =
|
|
16
|
+
const mockDispatch = (0, Dispatcher_1.makeMockDispatchStateChange)(appObjects);
|
|
17
|
+
const doDispatchMock = jest.fn();
|
|
18
|
+
mockDispatch.doDispatch = doDispatchMock;
|
|
17
19
|
const mockUndo = new MockUndoRedo_1.MockUndoRedo(ao);
|
|
20
|
+
// Override the submitAction with a jest.fn()
|
|
21
|
+
mockUndo.submitAction = jest.fn();
|
|
18
22
|
return {
|
|
19
23
|
appObjects,
|
|
20
24
|
stylusRootMovementUC,
|
|
21
25
|
transform,
|
|
22
26
|
mockDispatch,
|
|
27
|
+
doDispatchMock,
|
|
23
28
|
mockUndo,
|
|
24
29
|
};
|
|
25
30
|
}
|
|
26
31
|
describe("Stylus Root Movement UC", () => {
|
|
27
32
|
it("Dispatches a state change on stop if there was movement", () => {
|
|
28
|
-
const { stylusRootMovementUC,
|
|
33
|
+
const { stylusRootMovementUC, doDispatchMock } = makeTestRig();
|
|
29
34
|
stylusRootMovementUC.initialize();
|
|
30
35
|
stylusRootMovementUC.move();
|
|
31
36
|
stylusRootMovementUC.stop();
|
|
32
|
-
expect(
|
|
37
|
+
expect(doDispatchMock).toHaveBeenCalled();
|
|
33
38
|
});
|
|
34
39
|
it("Does not Dispatches a state change on stop if there was no movement", () => {
|
|
35
|
-
const { stylusRootMovementUC,
|
|
40
|
+
const { stylusRootMovementUC, doDispatchMock } = makeTestRig();
|
|
36
41
|
stylusRootMovementUC.initialize();
|
|
37
42
|
stylusRootMovementUC.stop();
|
|
38
|
-
expect(
|
|
43
|
+
expect(doDispatchMock).not.toHaveBeenCalled();
|
|
39
44
|
});
|
|
40
45
|
it("Submits an undo on stop if requested", () => {
|
|
41
46
|
const { stylusRootMovementUC, mockUndo } = makeTestRig();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StylusMoveTransformUC.test.js","sourceRoot":"","sources":["../../../../src/Transform3D/UC/StylusMoveTransformUC.test.ts"],"names":[],"mappings":";;AAAA,yDAA0D;AAC1D,sCAAgD;AAChD,
|
|
1
|
+
{"version":3,"file":"StylusMoveTransformUC.test.js","sourceRoot":"","sources":["../../../../src/Transform3D/UC/StylusMoveTransformUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeTransform3D } from \"../Entities/Transform3D\";\r\nimport { makeAppObjectRepo } from \"@vived/core\";\r\nimport { makeMockDispatchStateChange } from \"../../Dispatcher\";\r\nimport { makeStylusEntity } from \"../../Stylus/Entity/StylusEntity\";\r\nimport { MockUndoRedo } from \"../../UndoRedo/Mocks/MockUndoRedo\";\r\nimport { makeStylusMoveTransformUC } from \"./StylusMoveTransformUC\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n const stylusAO = appObjects.getOrCreate(\"Stylus\");\r\n const stylus = makeStylusEntity(stylusAO);\r\n\r\n const ao = appObjects.getOrCreate(\"App Object\");\r\n const transform = makeTransform3D(ao);\r\n const stylusRootMovementUC = makeStylusMoveTransformUC(ao);\r\n\r\n const mockDispatch = makeMockDispatchStateChange(appObjects);\r\n const doDispatchMock = jest.fn();\r\n mockDispatch.doDispatch = doDispatchMock;\r\n\r\n const mockUndo = new MockUndoRedo(ao);\r\n // Override the submitAction with a jest.fn()\r\n mockUndo.submitAction = jest.fn();\r\n\r\n return {\r\n appObjects,\r\n stylusRootMovementUC,\r\n transform,\r\n mockDispatch,\r\n doDispatchMock,\r\n mockUndo,\r\n };\r\n}\r\n\r\ndescribe(\"Stylus Root Movement UC\", () => {\r\n it(\"Dispatches a state change on stop if there was movement\", () => {\r\n const { stylusRootMovementUC, doDispatchMock } = makeTestRig();\r\n\r\n stylusRootMovementUC.initialize();\r\n stylusRootMovementUC.move();\r\n stylusRootMovementUC.stop();\r\n\r\n expect(doDispatchMock).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not Dispatches a state change on stop if there was no movement\", () => {\r\n const { stylusRootMovementUC, doDispatchMock } = makeTestRig();\r\n\r\n stylusRootMovementUC.initialize();\r\n stylusRootMovementUC.stop();\r\n\r\n expect(doDispatchMock).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Submits an undo on stop if requested\", () => {\r\n const { stylusRootMovementUC, mockUndo } = makeTestRig();\r\n\r\n stylusRootMovementUC.initialize();\r\n stylusRootMovementUC.move();\r\n stylusRootMovementUC.stop(true);\r\n\r\n expect(mockUndo.submitAction).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not submit an undo on stop if not requested\", () => {\r\n const { stylusRootMovementUC, mockUndo } = makeTestRig();\r\n\r\n stylusRootMovementUC.initialize();\r\n stylusRootMovementUC.move();\r\n stylusRootMovementUC.stop();\r\n\r\n expect(mockUndo.submitAction).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not submit an undo on stop if request is false\", () => {\r\n const { stylusRootMovementUC, mockUndo } = makeTestRig();\r\n\r\n stylusRootMovementUC.initialize();\r\n stylusRootMovementUC.move();\r\n stylusRootMovementUC.stop(false);\r\n\r\n expect(mockUndo.submitAction).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not submits an undo on stop if there was no movement\", () => {\r\n const { stylusRootMovementUC, mockUndo } = makeTestRig();\r\n\r\n stylusRootMovementUC.initialize();\r\n stylusRootMovementUC.stop(true);\r\n\r\n expect(mockUndo.submitAction).not.toHaveBeenCalled();\r\n });\r\n});\r\n"]}
|
|
@@ -11,7 +11,9 @@ function makeTestRig() {
|
|
|
11
11
|
const uc = (0, TryMoveTransformUC_1.makeTryMoveTransformUC)(tryDragAO);
|
|
12
12
|
const appObj = appObjects.getOrCreate("appObj");
|
|
13
13
|
const mockMoveUC = new MockMoveTransformUC_1.MockMoveTransformUC(appObj);
|
|
14
|
-
const
|
|
14
|
+
const mockRayPick = (0, Babylon_1.makeMockSceneRayPickUC)(appObjects);
|
|
15
|
+
const mockPick = jest.fn().mockReturnValue({ appObjectID: "hideableObj" });
|
|
16
|
+
mockRayPick.sceneRayPick = mockPick;
|
|
15
17
|
const mockPickResult = {
|
|
16
18
|
hit: true,
|
|
17
19
|
appObjectID: "appObj",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TryMoveTransformUC.test.js","sourceRoot":"","sources":["../../../../src/Transform3D/UC/TryMoveTransformUC.test.ts"],"names":[],"mappings":";;AAAA,sCAAgD;AAChD,sCAA+D;AAC/D,2CAAqE;AACrE,sEAAmE;AACnE,6DAA8D;AAE9D,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,IAAA,wBAAiB,GAAE,CAAC;IAEvC,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IACtD,MAAM,EAAE,GAAG,IAAA,2CAAsB,EAAC,SAAS,CAAC,CAAC;IAE7C,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,IAAI,yCAAmB,CAAC,MAAM,CAAC,CAAC;IAEnD,MAAM,
|
|
1
|
+
{"version":3,"file":"TryMoveTransformUC.test.js","sourceRoot":"","sources":["../../../../src/Transform3D/UC/TryMoveTransformUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport { ParametricLine, Vector2, Vector3 } from \"@vived/core\";\r\nimport { makeMockSceneRayPickUC, SceneRayPick } from \"../../Babylon\";\r\nimport { MockMoveTransformUC } from \"../Mocks/MockMoveTransformUC\";\r\nimport { makeTryMoveTransformUC } from \"./TryMoveTransformUC\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n\r\n const tryDragAO = appObjects.getOrCreate(\"tryDragAO\");\r\n const uc = makeTryMoveTransformUC(tryDragAO);\r\n\r\n const appObj = appObjects.getOrCreate(\"appObj\");\r\n const mockMoveUC = new MockMoveTransformUC(appObj);\r\n\r\n const mockRayPick = makeMockSceneRayPickUC(appObjects);\r\n const mockPick = jest.fn().mockReturnValue({ appObjectID: \"hideableObj\" });\r\n mockRayPick.sceneRayPick = mockPick;\r\n\r\n const mockPickResult: SceneRayPick = {\r\n hit: true,\r\n appObjectID: \"appObj\",\r\n };\r\n\r\n mockPick.mockReturnValue(mockPickResult);\r\n\r\n return { appObjects, uc, mockPickResult, mockMoveUC };\r\n}\r\n\r\ndescribe(\"Default Try Move Transform UC\", () => {\r\n it(\"Returns true if the initialization is successful\", () => {\r\n const { uc } = makeTestRig();\r\n expect(uc.tryWithRay(ParametricLine.Forward())).toEqual(true);\r\n });\r\n\r\n it(\"Returns false if not allowed\", () => {\r\n const { uc } = makeTestRig();\r\n uc.allow = () => {\r\n return false;\r\n };\r\n expect(uc.tryWithRay(ParametricLine.Forward())).toEqual(false);\r\n });\r\n\r\n it(\"Returns false if the pick doesn't return an app id\", () => {\r\n const { mockPickResult, uc } = makeTestRig();\r\n mockPickResult.appObjectID = undefined;\r\n\r\n expect(uc.tryWithRay(ParametricLine.Forward())).toEqual(false);\r\n });\r\n\r\n it(\"Returns false if the picked app object doesn't have a Move Transform UC\", () => {\r\n const { mockPickResult, uc } = makeTestRig();\r\n mockPickResult.appObjectID = \"somethingElse\";\r\n\r\n expect(uc.tryWithRay(ParametricLine.Forward())).toEqual(false);\r\n });\r\n\r\n it(\"Updates the mockMoveUC\", () => {\r\n const { uc, mockMoveUC } = makeTestRig();\r\n\r\n uc.tryWithRay(ParametricLine.Forward());\r\n uc.moveWithRay(ParametricLine.Forward());\r\n\r\n expect(mockMoveUC.update).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Doesn't update if the init did not happen the mockMoveUC\", () => {\r\n const { uc, mockMoveUC } = makeTestRig();\r\n\r\n uc.moveWithRay(ParametricLine.Forward());\r\n\r\n expect(mockMoveUC.update).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Stop the UC\", () => {\r\n const { uc, mockMoveUC } = makeTestRig();\r\n\r\n uc.tryWithRay(ParametricLine.Forward());\r\n uc.stop();\r\n\r\n expect(mockMoveUC.finish).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Doesn't stop if the init did not happen the mockMoveUC\", () => {\r\n const { uc, mockMoveUC } = makeTestRig();\r\n\r\n uc.stop();\r\n\r\n expect(mockMoveUC.finish).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Cancels the UC\", () => {\r\n const { uc, mockMoveUC } = makeTestRig();\r\n\r\n uc.tryWithRay(ParametricLine.Forward());\r\n uc.cancel();\r\n\r\n expect(mockMoveUC.cancel).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Doesn't cancel if the init did not happen the mockMoveUC\", () => {\r\n const { uc, mockMoveUC } = makeTestRig();\r\n\r\n uc.cancel();\r\n\r\n expect(mockMoveUC.cancel).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Doesn't update or stop after a cancel\", () => {\r\n const { uc, mockMoveUC } = makeTestRig();\r\n\r\n uc.tryWithRay(ParametricLine.Forward());\r\n uc.cancel();\r\n\r\n uc.moveWithRay(ParametricLine.Forward());\r\n uc.stop();\r\n\r\n expect(mockMoveUC.update).not.toHaveBeenCalled();\r\n expect(mockMoveUC.finish).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Doesn't update or stop if not allowed\", () => {\r\n const { uc, mockMoveUC } = makeTestRig();\r\n\r\n uc.allow = () => {\r\n return false;\r\n };\r\n\r\n uc.tryWithRay(ParametricLine.Forward());\r\n uc.moveWithRay(ParametricLine.Forward());\r\n uc.stop();\r\n\r\n expect(mockMoveUC.update).not.toHaveBeenCalled();\r\n expect(mockMoveUC.finish).not.toHaveBeenCalled();\r\n });\r\n});\r\n"]}
|