@vived/app 5.0.6 → 5.0.8
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/Controller/releaseLabelDropAnswerItemScreen.js +2 -1
- package/dist/cjs/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.js.map +1 -1
- package/dist/cjs/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.test.js +2 -1
- package/dist/cjs/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.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/Controller/releaseLabelDropAnswerItemScreen.js +2 -1
- package/dist/esm/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.js.map +1 -1
- package/dist/esm/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.test.js +2 -1
- package/dist/esm/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.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/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.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":"PressAppObjectUC.test.js","sourceRoot":"","sources":["../../../../src/Selection/UC/PressAppObjectUC.test.ts"],"names":[],"mappings":";;AAAA,sCAAgE;AAChE,2CAAuD;AACvD,2CAAiD;AACjD,uDAAwD;AACxD,qDAAsD;AACtD,yDAA0E;AAE1E,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,IAAA,wBAAiB,GAAE,CAAC;IACvC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;IAChE,MAAM,UAAU,GAAG,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,IAAA,yBAAa,EAAC,UAAU,CAAC,CAAC;IAE5C,MAAM,gBAAgB,GAAG,UAAU,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;IACpE,MAAM,UAAU,GAAG,IAAA,2BAAc,EAAC,gBAAgB,CAAC,CAAC;IACpD,SAAS,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAEpC,MAAM,
|
|
1
|
+
{"version":3,"file":"PressAppObjectUC.test.js","sourceRoot":"","sources":["../../../../src/Selection/UC/PressAppObjectUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo, ParametricLine } from \"@vived/core\";\r\nimport { makeMockSceneRayPickUC } from \"../../Babylon\";\r\nimport { makeBaseAppState } from \"../../BaseApp\";\r\nimport { makeSelectable } from \"../Entities/Selectable\";\r\nimport { makeSelection } from \"../Entities/Selection\";\r\nimport { makePressAppObject, PressAppObjectUC } from \"./PressAppObjectUC\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n const registerSpy = jest.spyOn(appObjects, \"registerSingleton\");\r\n const baseAppObj = appObjects.getOrCreate(\"baseAppObj\");\r\n const selection = makeSelection(baseAppObj);\r\n\r\n const selectabelAppObj = appObjects.getOrCreate(\"selectableAppObj\");\r\n const selectable = makeSelectable(selectabelAppObj);\r\n selection.addSelectable(selectable);\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 baseApp = makeBaseAppState(appObjects.getOrCreate(\"BaseApp\"));\r\n baseApp.isAuthoring = true;\r\n\r\n const pressSceneObject = makePressAppObject(baseAppObj);\r\n\r\n return {\r\n appObjects,\r\n pressSceneObject,\r\n selectable,\r\n selection,\r\n mockPick,\r\n registerSpy,\r\n baseApp,\r\n };\r\n}\r\n\r\ndescribe(\"Press Scene Object UC\", () => {\r\n it(\"Presses by ID\", () => {\r\n const { pressSceneObject, selection } = makeTestRig();\r\n\r\n expect(selection.pressedObjectId).toEqual(null);\r\n\r\n pressSceneObject.pressAppObject(\"selectableAppObj\", true);\r\n\r\n expect(selection.pressedObjectId).toEqual(\"selectableAppObj\");\r\n });\r\n\r\n it(\"Un-Presses by ID\", () => {\r\n const { pressSceneObject, selection } = makeTestRig();\r\n\r\n pressSceneObject.pressAppObject(\"selectableAppObj\", true);\r\n\r\n expect(selection.pressedObjectId).toEqual(\"selectableAppObj\");\r\n\r\n pressSceneObject.pressAppObject(\"selectableAppObj\", false);\r\n\r\n expect(selection.pressedObjectId).toEqual(null);\r\n });\r\n\r\n it(\"Only un-presses if the id is currently pressed\", () => {\r\n const { pressSceneObject, selection } = makeTestRig();\r\n\r\n pressSceneObject.pressAppObject(\"selectableAppObj\", true);\r\n pressSceneObject.pressAppObject(\"some other id\", false);\r\n\r\n expect(selection.pressedObjectId).toEqual(\"selectableAppObj\");\r\n });\r\n\r\n it(\"Sets the pressed object ID if it pick on it\", () => {\r\n const { pressSceneObject, selection, mockPick } = makeTestRig();\r\n\r\n mockPick.mockReturnValue({ appObjectID: \"selectableAppObj\" });\r\n\r\n expect(selection.pressedObjectId).toEqual(null);\r\n\r\n pressSceneObject.tryPressAppObject(ParametricLine.Forward()); // Ray doesn't matter since we hijack the pick\r\n\r\n expect(selection.pressedObjectId).toEqual(\"selectableAppObj\");\r\n });\r\n\r\n it(\"Sets the pressed to null if the pick doesn't hit anything\", () => {\r\n const { pressSceneObject, selection, mockPick } = makeTestRig();\r\n\r\n mockPick.mockReturnValue({});\r\n\r\n pressSceneObject.pressAppObject(\"selectableAppObj\", true);\r\n\r\n pressSceneObject.tryPressAppObject(ParametricLine.Forward()); // Ray doesn't matter since we hijack the pick\r\n\r\n expect(selection.pressedObjectId).toEqual(null);\r\n });\r\n\r\n it(\"Sets the pressed to null if the pick doesn't an app object\", () => {\r\n const { pressSceneObject, selection, mockPick } = makeTestRig();\r\n\r\n mockPick.mockReturnValue({ appObjectID: \"something weired\" });\r\n\r\n pressSceneObject.pressAppObject(\"selectableAppObj\", true);\r\n\r\n pressSceneObject.tryPressAppObject(ParametricLine.Forward()); // Ray doesn't matter since we hijack the pick\r\n\r\n expect(selection.pressedObjectId).toEqual(null);\r\n });\r\n\r\n it(\"Sets the pressed to null if the pick doesn't a selectable object\", () => {\r\n const { pressSceneObject, selection, mockPick, appObjects } = makeTestRig();\r\n\r\n appObjects.getOrCreate(\"unselectableAppObject\");\r\n mockPick.mockReturnValue({ appObjectID: \"unselectableAppObject\" });\r\n\r\n pressSceneObject.pressAppObject(\"selectableAppObj\", true);\r\n\r\n pressSceneObject.tryPressAppObject(ParametricLine.Forward()); // Ray doesn't matter since we hijack the pick\r\n\r\n expect(selection.pressedObjectId).toEqual(null);\r\n });\r\n\r\n it(\"Gets the singleton\", () => {\r\n const { pressSceneObject, appObjects } = makeTestRig();\r\n\r\n expect(PressAppObjectUC.get(appObjects)).toEqual(pressSceneObject);\r\n });\r\n\r\n it(\"Registers as the singleton\", () => {\r\n const { pressSceneObject, registerSpy } = makeTestRig();\r\n\r\n expect(registerSpy).toHaveBeenCalledWith(pressSceneObject);\r\n });\r\n\r\n it(\"Allows while authoring\", () => {\r\n const { pressSceneObject, baseApp } = makeTestRig();\r\n\r\n baseApp.isAuthoring = true;\r\n\r\n expect(pressSceneObject.allowPress()).toEqual(true);\r\n expect(pressSceneObject.allowTryPress()).toEqual(true);\r\n\r\n baseApp.isAuthoring = false;\r\n\r\n expect(pressSceneObject.allowPress()).toEqual(false);\r\n expect(pressSceneObject.allowTryPress()).toEqual(false);\r\n });\r\n});\r\n"]}
|
|
@@ -15,9 +15,9 @@ function makeTestRig() {
|
|
|
15
15
|
const selectabelAppObj = appObjects.getOrCreate("selectableAppObj");
|
|
16
16
|
const selectable = (0, Selectable_1.makeSelectable)(selectabelAppObj);
|
|
17
17
|
selection.addSelectable(selectable);
|
|
18
|
-
const
|
|
19
|
-
const mockPick = jest.fn();
|
|
20
|
-
|
|
18
|
+
const mockRayPick = (0, Babylon_1.makeMockSceneRayPickUC)(appObjects);
|
|
19
|
+
const mockPick = jest.fn().mockReturnValue({ appObjectID: "hideableObj" });
|
|
20
|
+
mockRayPick.sceneRayPick = mockPick;
|
|
21
21
|
const baseApp = (0, BaseApp_1.makeBaseAppState)(appObjects.getOrCreate("BaseApp"));
|
|
22
22
|
baseApp.isAuthoring = true;
|
|
23
23
|
const toolRepo = (0, Tools_1.makeToolRepo)(appObjects.getOrCreate("ToolRepo"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectAppObjectUC.test.js","sourceRoot":"","sources":["../../../../src/Selection/UC/SelectAppObjectUC.test.ts"],"names":[],"mappings":";;AAAA,sCAAgE;AAChE,2CAAuD;AACvD,2CAAiD;AACjD,uCAA2C;AAC3C,uDAAwD;AACxD,qDAAsD;AACtD,2DAA6E;AAE7E,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,IAAA,wBAAiB,GAAE,CAAC;IACvC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;IAChE,MAAM,UAAU,GAAG,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,IAAA,yBAAa,EAAC,UAAU,CAAC,CAAC;IAE5C,MAAM,gBAAgB,GAAG,UAAU,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;IACpE,MAAM,UAAU,GAAG,IAAA,2BAAc,EAAC,gBAAgB,CAAC,CAAC;IACpD,SAAS,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAEpC,MAAM,UAAU,GAAG,IAAA,gCAAsB,EAAC,UAAU,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IAC3B,UAAU,CAAC,YAAY,GAAG,QAAQ,CAAC;IAEnC,MAAM,OAAO,GAAG,IAAA,0BAAgB,EAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;IACpE,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAE3B,MAAM,QAAQ,GAAG,IAAA,oBAAY,EAAC,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC;IAClE,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC3B,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAE9B,MAAM,iBAAiB,GAAG,IAAA,uCAAmB,EAAC,UAAU,CAAC,CAAC;IAE1D,OAAO;QACL,UAAU;QACV,iBAAiB;QACjB,UAAU;QACV,SAAS;QACT,QAAQ;QACR,WAAW;QACX,OAAO;QACP,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,EAAE,CAAC,eAAe,EAAE,GAAG,EAAE;QACvB,MAAM,EAAE,iBAAiB,EAAE,SAAS,EAAE,GAAG,WAAW,EAAE,CAAC;QAEvD,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEjD,iBAAiB,CAAC,eAAe,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;QAE5D,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC1B,MAAM,EAAE,iBAAiB,EAAE,SAAS,EAAE,GAAG,WAAW,EAAE,CAAC;QAEvD,iBAAiB,CAAC,eAAe,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;QAE5D,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAE/D,iBAAiB,CAAC,eAAe,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;QAE7D,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,EAAE,iBAAiB,EAAE,SAAS,EAAE,GAAG,WAAW,EAAE,CAAC;QAEvD,iBAAiB,CAAC,eAAe,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;QAC5D,iBAAiB,CAAC,eAAe,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QAE1D,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,EAAE,iBAAiB,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,WAAW,EAAE,CAAC;QAEjE,QAAQ,CAAC,eAAe,CAAC,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAE9D,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEjD,iBAAiB,CAAC,kBAAkB,CAAC,qBAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,8CAA8C;QAE9G,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,MAAM,EAAE,iBAAiB,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,WAAW,EAAE,CAAC;QAEjE,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAE7B,iBAAiB,CAAC,eAAe,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;QAE5D,iBAAiB,CAAC,kBAAkB,CAAC,qBAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,8CAA8C;QAE9G,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACrE,MAAM,EAAE,iBAAiB,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,WAAW,EAAE,CAAC;QAEjE,QAAQ,CAAC,eAAe,CAAC,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAE9D,iBAAiB,CAAC,eAAe,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;QAE5D,iBAAiB,CAAC,kBAAkB,CAAC,qBAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,8CAA8C;QAE9G,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;QAC3E,MAAM,EAAE,iBAAiB,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,GAC1D,WAAW,EAAE,CAAC;QAEhB,UAAU,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC;QAChD,QAAQ,CAAC,eAAe,CAAC,EAAE,WAAW,EAAE,uBAAuB,EAAE,CAAC,CAAC;QAEnE,iBAAiB,CAAC,eAAe,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;QAE5D,iBAAiB,CAAC,kBAAkB,CAAC,qBAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,8CAA8C;QAE9G,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC5B,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QAExD,MAAM,CAAC,qCAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,EAAE,iBAAiB,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE,CAAC;QAEzD,MAAM,CAAC,WAAW,CAAC,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;QAChC,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,GAAG,WAAW,EAAE,CAAC;QAErD,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;QAE3B,MAAM,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,CAAC,iBAAiB,CAAC,cAAc,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEzD,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;QAE5B,MAAM,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,CAAC,iBAAiB,CAAC,cAAc,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oEAAoE,EAAE,GAAG,EAAE;QAC5E,MAAM,EACJ,UAAU,EACV,iBAAiB,EACjB,SAAS,EACT,QAAQ,EACR,QAAQ,GACT,GAAG,WAAW,EAAE,CAAC;QAElB,MAAM,gBAAgB,GAAG,UAAU,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAChE,MAAM,UAAU,GAAG,IAAA,2BAAc,EAAC,gBAAgB,CAAC,CAAC;QACpD,SAAS,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAEpC,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAEhC,QAAQ,CAAC,eAAe,CAAC,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAE9D,SAAS,CAAC,gBAAgB,GAAG,cAAc,CAAC;QAC5C,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAC3D,iBAAiB,CAAC,kBAAkB,CAAC,qBAAc,CAAC,OAAO,EAAE,CAAC,CAAC;QAE/D,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qEAAqE,EAAE,GAAG,EAAE;QAC7E,MAAM,EACJ,UAAU,EACV,iBAAiB,EACjB,SAAS,EACT,QAAQ,EACR,QAAQ,GACT,GAAG,WAAW,EAAE,CAAC;QAElB,MAAM,gBAAgB,GAAG,UAAU,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAChE,MAAM,UAAU,GAAG,IAAA,2BAAc,EAAC,gBAAgB,CAAC,CAAC;QACpD,SAAS,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAEpC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAEjC,QAAQ,CAAC,eAAe,CAAC,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAE9D,SAAS,CAAC,gBAAgB,GAAG,cAAc,CAAC;QAC5C,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAC3D,iBAAiB,CAAC,kBAAkB,CAAC,qBAAc,CAAC,OAAO,EAAE,CAAC,CAAC;QAE/D,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { makeAppObjectRepo, ParametricLine } from \"@vived/core\";\r\nimport { makeMockSceneRayPickUC } from \"../../Babylon\";\r\nimport { makeBaseAppState } from \"../../BaseApp\";\r\nimport { makeToolRepo } from \"../../Tools\";\r\nimport { makeSelectable } from \"../Entities/Selectable\";\r\nimport { makeSelection } from \"../Entities/Selection\";\r\nimport { makeSelectAppObject, SelectAppObjectUC } from \"./SelectAppObjectUC\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n const registerSpy = jest.spyOn(appObjects, \"registerSingleton\");\r\n const baseAppObj = appObjects.getOrCreate(\"baseAppObj\");\r\n const selection = makeSelection(baseAppObj);\r\n\r\n const selectabelAppObj = appObjects.getOrCreate(\"selectableAppObj\");\r\n const selectable = makeSelectable(selectabelAppObj);\r\n selection.addSelectable(selectable);\r\n\r\n const mockPickUC = makeMockSceneRayPickUC(appObjects);\r\n const mockPick = jest.fn();\r\n mockPickUC.sceneRayPick = mockPick;\r\n\r\n const baseApp = makeBaseAppState(appObjects.getOrCreate(\"BaseApp\"));\r\n baseApp.isAuthoring = true;\r\n\r\n const toolRepo = makeToolRepo(appObjects.getOrCreate(\"ToolRepo\"));\r\n toolRepo.makeTool(\"CALLOUT\");\r\n toolRepo.makeTool(\"LANDMARK\");\r\n toolRepo.makeTool(\"OTHER\");\r\n toolRepo.triggerTool(\"OTHER\");\r\n\r\n const selectSceneObject = makeSelectAppObject(baseAppObj);\r\n\r\n return {\r\n appObjects,\r\n selectSceneObject,\r\n selectable,\r\n selection,\r\n mockPick,\r\n registerSpy,\r\n baseApp,\r\n toolRepo,\r\n };\r\n}\r\n\r\ndescribe(\"Select Scene Object UC\", () => {\r\n it(\"Selects by ID\", () => {\r\n const { selectSceneObject, selection } = makeTestRig();\r\n\r\n expect(selection.selectedObjectId).toEqual(null);\r\n\r\n selectSceneObject.selectAppObject(\"selectableAppObj\", true);\r\n\r\n expect(selection.selectedObjectId).toEqual(\"selectableAppObj\");\r\n });\r\n\r\n it(\"Un-Selects by ID\", () => {\r\n const { selectSceneObject, selection } = makeTestRig();\r\n\r\n selectSceneObject.selectAppObject(\"selectableAppObj\", true);\r\n\r\n expect(selection.selectedObjectId).toEqual(\"selectableAppObj\");\r\n\r\n selectSceneObject.selectAppObject(\"selectableAppObj\", false);\r\n\r\n expect(selection.selectedObjectId).toEqual(null);\r\n });\r\n\r\n it(\"Only un-selects if the id is currently selected\", () => {\r\n const { selectSceneObject, selection } = makeTestRig();\r\n\r\n selectSceneObject.selectAppObject(\"selectableAppObj\", true);\r\n selectSceneObject.selectAppObject(\"some other id\", false);\r\n\r\n expect(selection.selectedObjectId).toEqual(\"selectableAppObj\");\r\n });\r\n\r\n it(\"Sets the selected object ID if it pick on it\", () => {\r\n const { selectSceneObject, selection, mockPick } = makeTestRig();\r\n\r\n mockPick.mockReturnValue({ appObjectID: \"selectableAppObj\" });\r\n\r\n expect(selection.selectedObjectId).toEqual(null);\r\n\r\n selectSceneObject.trySelectAppObject(ParametricLine.Forward()); // Ray doesn't matter since we hijack the pick\r\n\r\n expect(selection.selectedObjectId).toEqual(\"selectableAppObj\");\r\n });\r\n\r\n it(\"Sets the selected to null if the pick doesn't hit anything\", () => {\r\n const { selectSceneObject, selection, mockPick } = makeTestRig();\r\n\r\n mockPick.mockReturnValue({});\r\n\r\n selectSceneObject.selectAppObject(\"selectableAppObj\", true);\r\n\r\n selectSceneObject.trySelectAppObject(ParametricLine.Forward()); // Ray doesn't matter since we hijack the pick\r\n\r\n expect(selection.selectedObjectId).toEqual(null);\r\n });\r\n\r\n it(\"Sets the selected to null if the pick doesn't an app object\", () => {\r\n const { selectSceneObject, selection, mockPick } = makeTestRig();\r\n\r\n mockPick.mockReturnValue({ appObjectID: \"something weired\" });\r\n\r\n selectSceneObject.selectAppObject(\"selectableAppObj\", true);\r\n\r\n selectSceneObject.trySelectAppObject(ParametricLine.Forward()); // Ray doesn't matter since we hijack the pick\r\n\r\n expect(selection.selectedObjectId).toEqual(null);\r\n });\r\n\r\n it(\"Sets the selected to null if the pick doesn't a selectable object\", () => {\r\n const { selectSceneObject, selection, mockPick, appObjects } =\r\n makeTestRig();\r\n\r\n appObjects.getOrCreate(\"unselectableAppObject\");\r\n mockPick.mockReturnValue({ appObjectID: \"unselectableAppObject\" });\r\n\r\n selectSceneObject.selectAppObject(\"selectableAppObj\", true);\r\n\r\n selectSceneObject.trySelectAppObject(ParametricLine.Forward()); // Ray doesn't matter since we hijack the pick\r\n\r\n expect(selection.selectedObjectId).toEqual(null);\r\n });\r\n\r\n it(\"Gets the singleton\", () => {\r\n const { selectSceneObject, appObjects } = makeTestRig();\r\n\r\n expect(SelectAppObjectUC.get(appObjects)).toEqual(selectSceneObject);\r\n });\r\n\r\n it(\"Registers as the singleton\", () => {\r\n const { selectSceneObject, registerSpy } = makeTestRig();\r\n\r\n expect(registerSpy).toHaveBeenCalledWith(selectSceneObject);\r\n });\r\n\r\n it(\"Allows while authoring\", () => {\r\n const { selectSceneObject, baseApp } = makeTestRig();\r\n\r\n baseApp.isAuthoring = true;\r\n\r\n expect(selectSceneObject.allowSelect()).toEqual(true);\r\n expect(selectSceneObject.allowTrySelect()).toEqual(true);\r\n\r\n baseApp.isAuthoring = false;\r\n\r\n expect(selectSceneObject.allowSelect()).toEqual(false);\r\n expect(selectSceneObject.allowTrySelect()).toEqual(false);\r\n });\r\n\r\n it(\"Does not change the selected object ID the callout tool is enabled\", () => {\r\n const {\r\n appObjects,\r\n selectSceneObject,\r\n selection,\r\n mockPick,\r\n toolRepo,\r\n } = makeTestRig();\r\n\r\n const selectabelAppObj = appObjects.getOrCreate(\"currentObjID\");\r\n const selectable = makeSelectable(selectabelAppObj);\r\n selection.addSelectable(selectable);\r\n\r\n toolRepo.triggerTool(\"CALLOUT\");\r\n\r\n mockPick.mockReturnValue({ appObjectID: \"selectableAppObj\" });\r\n\r\n selection.selectedObjectId = \"currentObjID\";\r\n expect(selection.selectedObjectId).toEqual(\"currentObjID\");\r\n selectSceneObject.trySelectAppObject(ParametricLine.Forward());\r\n\r\n expect(selection.selectedObjectId).toEqual(\"currentObjID\");\r\n });\r\n\r\n it(\"Does not change the selected object ID the landmark tool is enabled\", () => {\r\n const {\r\n appObjects,\r\n selectSceneObject,\r\n selection,\r\n mockPick,\r\n toolRepo,\r\n } = makeTestRig();\r\n\r\n const selectabelAppObj = appObjects.getOrCreate(\"currentObjID\");\r\n const selectable = makeSelectable(selectabelAppObj);\r\n selection.addSelectable(selectable);\r\n\r\n toolRepo.triggerTool(\"LANDMARK\");\r\n\r\n mockPick.mockReturnValue({ appObjectID: \"selectableAppObj\" });\r\n\r\n selection.selectedObjectId = \"currentObjID\";\r\n expect(selection.selectedObjectId).toEqual(\"currentObjID\");\r\n selectSceneObject.trySelectAppObject(ParametricLine.Forward());\r\n\r\n expect(selection.selectedObjectId).toEqual(\"currentObjID\");\r\n });\r\n});\r\n"]}
|
|
1
|
+
{"version":3,"file":"SelectAppObjectUC.test.js","sourceRoot":"","sources":["../../../../src/Selection/UC/SelectAppObjectUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo, ParametricLine } from \"@vived/core\";\r\nimport { makeMockSceneRayPickUC } from \"../../Babylon\";\r\nimport { makeBaseAppState } from \"../../BaseApp\";\r\nimport { makeToolRepo } from \"../../Tools\";\r\nimport { makeSelectable } from \"../Entities/Selectable\";\r\nimport { makeSelection } from \"../Entities/Selection\";\r\nimport { makeSelectAppObject, SelectAppObjectUC } from \"./SelectAppObjectUC\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n const registerSpy = jest.spyOn(appObjects, \"registerSingleton\");\r\n const baseAppObj = appObjects.getOrCreate(\"baseAppObj\");\r\n const selection = makeSelection(baseAppObj);\r\n\r\n const selectabelAppObj = appObjects.getOrCreate(\"selectableAppObj\");\r\n const selectable = makeSelectable(selectabelAppObj);\r\n selection.addSelectable(selectable);\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 baseApp = makeBaseAppState(appObjects.getOrCreate(\"BaseApp\"));\r\n baseApp.isAuthoring = true;\r\n\r\n const toolRepo = makeToolRepo(appObjects.getOrCreate(\"ToolRepo\"));\r\n toolRepo.makeTool(\"CALLOUT\");\r\n toolRepo.makeTool(\"LANDMARK\");\r\n toolRepo.makeTool(\"OTHER\");\r\n toolRepo.triggerTool(\"OTHER\");\r\n\r\n const selectSceneObject = makeSelectAppObject(baseAppObj);\r\n\r\n return {\r\n appObjects,\r\n selectSceneObject,\r\n selectable,\r\n selection,\r\n mockPick,\r\n registerSpy,\r\n baseApp,\r\n toolRepo,\r\n };\r\n}\r\n\r\ndescribe(\"Select Scene Object UC\", () => {\r\n it(\"Selects by ID\", () => {\r\n const { selectSceneObject, selection } = makeTestRig();\r\n\r\n expect(selection.selectedObjectId).toEqual(null);\r\n\r\n selectSceneObject.selectAppObject(\"selectableAppObj\", true);\r\n\r\n expect(selection.selectedObjectId).toEqual(\"selectableAppObj\");\r\n });\r\n\r\n it(\"Un-Selects by ID\", () => {\r\n const { selectSceneObject, selection } = makeTestRig();\r\n\r\n selectSceneObject.selectAppObject(\"selectableAppObj\", true);\r\n\r\n expect(selection.selectedObjectId).toEqual(\"selectableAppObj\");\r\n\r\n selectSceneObject.selectAppObject(\"selectableAppObj\", false);\r\n\r\n expect(selection.selectedObjectId).toEqual(null);\r\n });\r\n\r\n it(\"Only un-selects if the id is currently selected\", () => {\r\n const { selectSceneObject, selection } = makeTestRig();\r\n\r\n selectSceneObject.selectAppObject(\"selectableAppObj\", true);\r\n selectSceneObject.selectAppObject(\"some other id\", false);\r\n\r\n expect(selection.selectedObjectId).toEqual(\"selectableAppObj\");\r\n });\r\n\r\n it(\"Sets the selected object ID if it pick on it\", () => {\r\n const { selectSceneObject, selection, mockPick } = makeTestRig();\r\n\r\n mockPick.mockReturnValue({ appObjectID: \"selectableAppObj\" });\r\n\r\n expect(selection.selectedObjectId).toEqual(null);\r\n\r\n selectSceneObject.trySelectAppObject(ParametricLine.Forward()); // Ray doesn't matter since we hijack the pick\r\n\r\n expect(selection.selectedObjectId).toEqual(\"selectableAppObj\");\r\n });\r\n\r\n it(\"Sets the selected to null if the pick doesn't hit anything\", () => {\r\n const { selectSceneObject, selection, mockPick } = makeTestRig();\r\n\r\n mockPick.mockReturnValue({});\r\n\r\n selectSceneObject.selectAppObject(\"selectableAppObj\", true);\r\n\r\n selectSceneObject.trySelectAppObject(ParametricLine.Forward()); // Ray doesn't matter since we hijack the pick\r\n\r\n expect(selection.selectedObjectId).toEqual(null);\r\n });\r\n\r\n it(\"Sets the selected to null if the pick doesn't an app object\", () => {\r\n const { selectSceneObject, selection, mockPick } = makeTestRig();\r\n\r\n mockPick.mockReturnValue({ appObjectID: \"something weired\" });\r\n\r\n selectSceneObject.selectAppObject(\"selectableAppObj\", true);\r\n\r\n selectSceneObject.trySelectAppObject(ParametricLine.Forward()); // Ray doesn't matter since we hijack the pick\r\n\r\n expect(selection.selectedObjectId).toEqual(null);\r\n });\r\n\r\n it(\"Sets the selected to null if the pick doesn't a selectable object\", () => {\r\n const { selectSceneObject, selection, mockPick, appObjects } =\r\n makeTestRig();\r\n\r\n appObjects.getOrCreate(\"unselectableAppObject\");\r\n mockPick.mockReturnValue({ appObjectID: \"unselectableAppObject\" });\r\n\r\n selectSceneObject.selectAppObject(\"selectableAppObj\", true);\r\n\r\n selectSceneObject.trySelectAppObject(ParametricLine.Forward()); // Ray doesn't matter since we hijack the pick\r\n\r\n expect(selection.selectedObjectId).toEqual(null);\r\n });\r\n\r\n it(\"Gets the singleton\", () => {\r\n const { selectSceneObject, appObjects } = makeTestRig();\r\n\r\n expect(SelectAppObjectUC.get(appObjects)).toEqual(selectSceneObject);\r\n });\r\n\r\n it(\"Registers as the singleton\", () => {\r\n const { selectSceneObject, registerSpy } = makeTestRig();\r\n\r\n expect(registerSpy).toHaveBeenCalledWith(selectSceneObject);\r\n });\r\n\r\n it(\"Allows while authoring\", () => {\r\n const { selectSceneObject, baseApp } = makeTestRig();\r\n\r\n baseApp.isAuthoring = true;\r\n\r\n expect(selectSceneObject.allowSelect()).toEqual(true);\r\n expect(selectSceneObject.allowTrySelect()).toEqual(true);\r\n\r\n baseApp.isAuthoring = false;\r\n\r\n expect(selectSceneObject.allowSelect()).toEqual(false);\r\n expect(selectSceneObject.allowTrySelect()).toEqual(false);\r\n });\r\n\r\n it(\"Does not change the selected object ID the callout tool is enabled\", () => {\r\n const {\r\n appObjects,\r\n selectSceneObject,\r\n selection,\r\n mockPick,\r\n toolRepo,\r\n } = makeTestRig();\r\n\r\n const selectabelAppObj = appObjects.getOrCreate(\"currentObjID\");\r\n const selectable = makeSelectable(selectabelAppObj);\r\n selection.addSelectable(selectable);\r\n\r\n toolRepo.triggerTool(\"CALLOUT\");\r\n\r\n mockPick.mockReturnValue({ appObjectID: \"selectableAppObj\" });\r\n\r\n selection.selectedObjectId = \"currentObjID\";\r\n expect(selection.selectedObjectId).toEqual(\"currentObjID\");\r\n selectSceneObject.trySelectAppObject(ParametricLine.Forward());\r\n\r\n expect(selection.selectedObjectId).toEqual(\"currentObjID\");\r\n });\r\n\r\n it(\"Does not change the selected object ID the landmark tool is enabled\", () => {\r\n const {\r\n appObjects,\r\n selectSceneObject,\r\n selection,\r\n mockPick,\r\n toolRepo,\r\n } = makeTestRig();\r\n\r\n const selectabelAppObj = appObjects.getOrCreate(\"currentObjID\");\r\n const selectable = makeSelectable(selectabelAppObj);\r\n selection.addSelectable(selectable);\r\n\r\n toolRepo.triggerTool(\"LANDMARK\");\r\n\r\n mockPick.mockReturnValue({ appObjectID: \"selectableAppObj\" });\r\n\r\n selection.selectedObjectId = \"currentObjID\";\r\n expect(selection.selectedObjectId).toEqual(\"currentObjID\");\r\n selectSceneObject.trySelectAppObject(ParametricLine.Forward());\r\n\r\n expect(selection.selectedObjectId).toEqual(\"currentObjID\");\r\n });\r\n});\r\n"]}
|
|
@@ -19,12 +19,14 @@ function makeTestRig() {
|
|
|
19
19
|
return true;
|
|
20
20
|
};
|
|
21
21
|
const mockDispatch = (0, MockDispatchStateChange_1.makeMockDispatchStateChange)(appObjects);
|
|
22
|
+
const doDispatchMock = jest.fn();
|
|
23
|
+
mockDispatch.doDispatch = doDispatchMock;
|
|
22
24
|
const undo = (0, UndoRedoEntity_1.makeUndoRedoEntity)(appObjects.getOrCreate("Undo"));
|
|
23
25
|
const helper = (0, Transform3D_1.makeTransform3D)(appObjects.getOrCreate("Helper"));
|
|
24
26
|
return {
|
|
25
27
|
moveUC,
|
|
26
28
|
transform,
|
|
27
|
-
|
|
29
|
+
doDispatchMock,
|
|
28
30
|
appObjects,
|
|
29
31
|
undo,
|
|
30
32
|
stickable,
|
|
@@ -135,7 +137,7 @@ describe("Pan Transform With Stick UC", () => {
|
|
|
135
137
|
expect(stickable.doStick).not.toHaveBeenCalled();
|
|
136
138
|
});
|
|
137
139
|
it("Tells stick to dispatch a state change on complete if the flag is set", () => {
|
|
138
|
-
const { stickable, moveUC, helper, tryPickTarget,
|
|
140
|
+
const { stickable, moveUC, helper, tryPickTarget, doDispatchMock } = makeTestRig();
|
|
139
141
|
moveUC.dispatchStateChangeOnComplete = true;
|
|
140
142
|
stickable.doStick = jest.fn();
|
|
141
143
|
tryPickTarget.tryPick = () => {
|
|
@@ -149,7 +151,7 @@ describe("Pan Transform With Stick UC", () => {
|
|
|
149
151
|
moveUC.update(helper, core_2.ParametricLine.Forward());
|
|
150
152
|
expect(stickable.highlightTarget).toEqual(true);
|
|
151
153
|
moveUC.finish();
|
|
152
|
-
expect(stickable.doStick).toHaveBeenCalledWith(
|
|
154
|
+
expect(stickable.doStick).toHaveBeenCalledWith(doDispatchMock);
|
|
153
155
|
});
|
|
154
156
|
it("Does not tell stick to dispatch a state change on complete if the flag is set", () => {
|
|
155
157
|
const { stickable, moveUC, helper, tryPickTarget } = makeTestRig();
|
|
@@ -203,7 +205,7 @@ describe("Pan Transform With Stick UC", () => {
|
|
|
203
205
|
expect(undo.hasUndo).toEqual(false);
|
|
204
206
|
});
|
|
205
207
|
it("Wires up the dispatch for undo and redo", () => {
|
|
206
|
-
const { stickable, moveUC, helper, tryPickTarget, undo,
|
|
208
|
+
const { stickable, moveUC, helper, tryPickTarget, undo, doDispatchMock } = makeTestRig();
|
|
207
209
|
stickable.doStick = jest.fn();
|
|
208
210
|
tryPickTarget.tryPick = () => {
|
|
209
211
|
return false;
|
|
@@ -216,11 +218,11 @@ describe("Pan Transform With Stick UC", () => {
|
|
|
216
218
|
moveUC.update(helper, core_2.ParametricLine.Forward());
|
|
217
219
|
expect(stickable.highlightTarget).toEqual(true);
|
|
218
220
|
moveUC.finish();
|
|
219
|
-
|
|
221
|
+
doDispatchMock.mockClear();
|
|
220
222
|
undo.doUndo();
|
|
221
|
-
expect(
|
|
223
|
+
expect(doDispatchMock).toHaveBeenCalledTimes(1);
|
|
222
224
|
undo.doRedo();
|
|
223
|
-
expect(
|
|
225
|
+
expect(doDispatchMock).toHaveBeenCalledTimes(2);
|
|
224
226
|
});
|
|
225
227
|
it("Undoes and redoes the move", () => {
|
|
226
228
|
const { stickable, moveUC, helper, tryPickTarget, undo, transform } = makeTestRig();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MoveTransformWithStickUC.test.js","sourceRoot":"","sources":["../../../../src/Stick/UCs/MoveTransformWithStickUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport { Angle, ParametricLine, Quaternion, Vector3 } from \"@vived/core\";\r\nimport { makeMockDispatchStateChange } from \"../../Dispatcher/Mocks/MockDispatchStateChange\";\r\nimport { makeTransform3D } from \"../../Transform3D/Entities/Transform3D\";\r\nimport { makeUndoRedoEntity } from \"../../UndoRedo/Entities/UndoRedoEntity\";\r\nimport { makeStickableEntity } from \"../Entities/Stickable\";\r\nimport { makeMoveTransformWithStickUC } from \"./MoveTransformWithStickUC\";\r\nimport { makeTryPickStickTargetUC } from \"./TryPickStickTarget\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n const ao = appObjects.getOrCreate(\"transform\");\r\n const transform = makeTransform3D(ao);\r\n\r\n const moveUC = makeMoveTransformWithStickUC(ao);\r\n const stickable = makeStickableEntity(ao);\r\n const tryPickTarget = makeTryPickStickTargetUC(ao);\r\n tryPickTarget.tryPick = () => {\r\n return true;\r\n };\r\n\r\n const mockDispatch = makeMockDispatchStateChange(appObjects);\r\n const undo = makeUndoRedoEntity(appObjects.getOrCreate(\"Undo\"));\r\n\r\n const helper = makeTransform3D(appObjects.getOrCreate(\"Helper\"));\r\n\r\n return {\r\n moveUC,\r\n transform,\r\n mockDispatch,\r\n appObjects,\r\n undo,\r\n stickable,\r\n tryPickTarget,\r\n helper,\r\n };\r\n}\r\n\r\ndescribe(\"Pan Transform With Stick UC\", () => {\r\n it(\"Shows the targets on the first move if the pick ray does not hit the targets\", () => {\r\n const { stickable, moveUC, helper, tryPickTarget } = makeTestRig();\r\n\r\n tryPickTarget.tryPick = () => {\r\n return false;\r\n };\r\n\r\n moveUC.initialize(helper);\r\n\r\n expect(stickable.showStickTarget).toEqual(false);\r\n\r\n moveUC.update(helper, ParametricLine.Forward());\r\n\r\n expect(stickable.showStickTarget).toEqual(true);\r\n expect(stickable.highlightTarget).toEqual(false);\r\n });\r\n\r\n it(\"Hides the targets on the first if the pick ray hit the targets\", () => {\r\n const { stickable, moveUC, helper, tryPickTarget } = makeTestRig();\r\n\r\n tryPickTarget.tryPick = () => {\r\n return true;\r\n };\r\n\r\n moveUC.initialize(helper);\r\n\r\n expect(stickable.showStickTarget).toEqual(false);\r\n\r\n moveUC.update(helper, ParametricLine.Forward());\r\n\r\n expect(stickable.showStickTarget).toEqual(false);\r\n expect(stickable.highlightTarget).toEqual(false);\r\n });\r\n\r\n it(\"Shows the targets after moving so that there is no target pick on the first if the pick ray hit the targets\", () => {\r\n const { stickable, moveUC, helper, tryPickTarget } = makeTestRig();\r\n\r\n tryPickTarget.tryPick = () => {\r\n return true;\r\n };\r\n\r\n moveUC.initialize(helper);\r\n\r\n expect(stickable.showStickTarget).toEqual(false);\r\n\r\n moveUC.update(helper, ParametricLine.Forward());\r\n\r\n expect(stickable.showStickTarget).toEqual(false);\r\n\r\n tryPickTarget.tryPick = () => {\r\n return false;\r\n };\r\n\r\n moveUC.update(helper, ParametricLine.Forward());\r\n\r\n expect(stickable.showStickTarget).toEqual(true);\r\n });\r\n\r\n it(\"Highlights the targets when the start to pick on them after a move\", () => {\r\n const { stickable, moveUC, helper, tryPickTarget } = makeTestRig();\r\n\r\n tryPickTarget.tryPick = () => {\r\n return false;\r\n };\r\n\r\n moveUC.initialize(helper);\r\n moveUC.update(helper, ParametricLine.Forward());\r\n\r\n expect(stickable.highlightTarget).toEqual(false);\r\n\r\n tryPickTarget.tryPick = () => {\r\n return true;\r\n };\r\n\r\n moveUC.update(helper, ParametricLine.Forward());\r\n\r\n expect(stickable.highlightTarget).toEqual(true);\r\n });\r\n\r\n it(\"Hides the targets on finish\", () => {\r\n const { stickable, moveUC, helper, tryPickTarget } = makeTestRig();\r\n\r\n tryPickTarget.tryPick = () => {\r\n return false;\r\n };\r\n\r\n moveUC.initialize(helper);\r\n moveUC.update(helper, ParametricLine.Forward());\r\n\r\n expect(stickable.showStickTarget).toEqual(true);\r\n\r\n moveUC.finish();\r\n\r\n expect(stickable.showStickTarget).toEqual(false);\r\n });\r\n\r\n it(\"Hides the targets on cancel\", () => {\r\n const { stickable, moveUC, helper, tryPickTarget } = makeTestRig();\r\n\r\n tryPickTarget.tryPick = () => {\r\n return false;\r\n };\r\n\r\n moveUC.initialize(helper);\r\n moveUC.update(helper, ParametricLine.Forward());\r\n\r\n expect(stickable.showStickTarget).toEqual(true);\r\n\r\n moveUC.cancel();\r\n\r\n expect(stickable.showStickTarget).toEqual(false);\r\n });\r\n\r\n it(\"Triggers a stick on finish if picking on a target\", () => {\r\n const { stickable, moveUC, helper, tryPickTarget } = makeTestRig();\r\n stickable.doStick = jest.fn();\r\n tryPickTarget.tryPick = () => {\r\n return false;\r\n };\r\n\r\n moveUC.initialize(helper);\r\n moveUC.update(helper, ParametricLine.Forward());\r\n\r\n tryPickTarget.tryPick = () => {\r\n return true;\r\n };\r\n\r\n moveUC.update(helper, ParametricLine.Forward());\r\n\r\n expect(stickable.highlightTarget).toEqual(true);\r\n\r\n moveUC.finish();\r\n\r\n expect(stickable.doStick).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not trigger a stick on finish if picking on a target\", () => {\r\n const { stickable, moveUC, helper, tryPickTarget } = makeTestRig();\r\n stickable.doStick = jest.fn();\r\n tryPickTarget.tryPick = () => {\r\n return false;\r\n };\r\n\r\n moveUC.initialize(helper);\r\n moveUC.update(helper, ParametricLine.Forward());\r\n\r\n expect(stickable.highlightTarget).toEqual(false);\r\n\r\n moveUC.finish();\r\n\r\n expect(stickable.doStick).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Tells stick to dispatch a state change on complete if the flag is set\", () => {\r\n const { stickable, moveUC, helper, tryPickTarget, mockDispatch } =\r\n makeTestRig();\r\n moveUC.dispatchStateChangeOnComplete = true;\r\n stickable.doStick = jest.fn();\r\n\r\n tryPickTarget.tryPick = () => {\r\n return false;\r\n };\r\n\r\n moveUC.initialize(helper);\r\n moveUC.update(helper, ParametricLine.Forward());\r\n\r\n tryPickTarget.tryPick = () => {\r\n return true;\r\n };\r\n\r\n moveUC.update(helper, ParametricLine.Forward());\r\n\r\n expect(stickable.highlightTarget).toEqual(true);\r\n\r\n moveUC.finish();\r\n\r\n expect(stickable.doStick).toHaveBeenCalledWith(mockDispatch.doDispatch);\r\n });\r\n\r\n it(\"Does not tell stick to dispatch a state change on complete if the flag is set\", () => {\r\n const { stickable, moveUC, helper, tryPickTarget } = makeTestRig();\r\n moveUC.dispatchStateChangeOnComplete = false;\r\n stickable.doStick = jest.fn();\r\n\r\n tryPickTarget.tryPick = () => {\r\n return false;\r\n };\r\n\r\n moveUC.initialize(helper);\r\n moveUC.update(helper, ParametricLine.Forward());\r\n\r\n tryPickTarget.tryPick = () => {\r\n return true;\r\n };\r\n\r\n moveUC.update(helper, ParametricLine.Forward());\r\n\r\n expect(stickable.highlightTarget).toEqual(true);\r\n\r\n moveUC.finish();\r\n\r\n expect(stickable.doStick).toHaveBeenCalledWith();\r\n });\r\n\r\n it(\"Submits an undo when stuck if the flag is set\", () => {\r\n const { stickable, moveUC, helper, tryPickTarget, undo } = makeTestRig();\r\n moveUC.submitUndoOnComplete = true;\r\n stickable.doStick = jest.fn();\r\n\r\n tryPickTarget.tryPick = () => {\r\n return false;\r\n };\r\n\r\n moveUC.initialize(helper);\r\n moveUC.update(helper, ParametricLine.Forward());\r\n\r\n tryPickTarget.tryPick = () => {\r\n return true;\r\n };\r\n\r\n moveUC.update(helper, ParametricLine.Forward());\r\n\r\n expect(stickable.highlightTarget).toEqual(true);\r\n\r\n moveUC.finish();\r\n\r\n expect(undo.hasUndo).toEqual(true);\r\n });\r\n\r\n it(\"Does not submit an undo when stuck if the flag is set\", () => {\r\n const { stickable, moveUC, helper, tryPickTarget, undo } = makeTestRig();\r\n moveUC.submitUndoOnComplete = false;\r\n stickable.doStick = jest.fn();\r\n\r\n tryPickTarget.tryPick = () => {\r\n return false;\r\n };\r\n\r\n moveUC.initialize(helper);\r\n moveUC.update(helper, ParametricLine.Forward());\r\n\r\n tryPickTarget.tryPick = () => {\r\n return true;\r\n };\r\n\r\n moveUC.update(helper, ParametricLine.Forward());\r\n\r\n expect(stickable.highlightTarget).toEqual(true);\r\n\r\n moveUC.finish();\r\n\r\n expect(undo.hasUndo).toEqual(false);\r\n });\r\n\r\n it(\"Wires up the dispatch for undo and redo\", () => {\r\n const { stickable, moveUC, helper, tryPickTarget, undo, mockDispatch } =\r\n makeTestRig();\r\n stickable.doStick = jest.fn();\r\n\r\n tryPickTarget.tryPick = () => {\r\n return false;\r\n };\r\n\r\n moveUC.initialize(helper);\r\n moveUC.update(helper, ParametricLine.Forward());\r\n\r\n tryPickTarget.tryPick = () => {\r\n return true;\r\n };\r\n\r\n moveUC.update(helper, ParametricLine.Forward());\r\n\r\n expect(stickable.highlightTarget).toEqual(true);\r\n\r\n moveUC.finish();\r\n\r\n mockDispatch.doDispatch.mockClear();\r\n\r\n undo.doUndo();\r\n\r\n expect(mockDispatch.doDispatch).toHaveBeenCalledTimes(1);\r\n\r\n undo.doRedo();\r\n\r\n expect(mockDispatch.doDispatch).toHaveBeenCalledTimes(2);\r\n });\r\n\r\n it(\"Undoes and redoes the move\", () => {\r\n const { stickable, moveUC, helper, tryPickTarget, undo, transform } =\r\n makeTestRig();\r\n stickable.doStick = jest.fn();\r\n\r\n const initialPos = new Vector3(1, 2, 3);\r\n const initialRot = Quaternion.FromAngleAxis(\r\n new Vector3(4, 5, 6),\r\n Angle.FromDegrees(7)\r\n );\r\n transform.localPosition = initialPos;\r\n transform.localRotation = initialRot;\r\n\r\n stickable.stickPosition = Vector3.Zero();\r\n stickable.stickRotation = Quaternion.Identity();\r\n\r\n tryPickTarget.tryPick = () => {\r\n return false;\r\n };\r\n\r\n moveUC.initialize(helper);\r\n moveUC.update(helper, ParametricLine.Forward());\r\n\r\n tryPickTarget.tryPick = () => {\r\n return true;\r\n };\r\n\r\n moveUC.update(helper, ParametricLine.Forward());\r\n\r\n expect(stickable.highlightTarget).toEqual(true);\r\n\r\n moveUC.finish();\r\n\r\n undo.doUndo();\r\n\r\n expect(transform.localPosition).toEqual(initialPos);\r\n expect(Quaternion.Close(transform.localRotation, initialRot)).toEqual(true);\r\n\r\n undo.doRedo();\r\n\r\n expect(transform.localPosition).toEqual(Vector3.Zero());\r\n expect(\r\n Quaternion.Close(transform.localRotation, Quaternion.Identity())\r\n ).toEqual(true);\r\n });\r\n});\r\n"]}
|
|
1
|
+
{"version":3,"file":"MoveTransformWithStickUC.test.js","sourceRoot":"","sources":["../../../../src/Stick/UCs/MoveTransformWithStickUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport { Angle, ParametricLine, Quaternion, Vector3 } from \"@vived/core\";\r\nimport { makeMockDispatchStateChange } from \"../../Dispatcher/Mocks/MockDispatchStateChange\";\r\nimport { makeTransform3D } from \"../../Transform3D/Entities/Transform3D\";\r\nimport { makeUndoRedoEntity } from \"../../UndoRedo/Entities/UndoRedoEntity\";\r\nimport { makeStickableEntity } from \"../Entities/Stickable\";\r\nimport { makeMoveTransformWithStickUC } from \"./MoveTransformWithStickUC\";\r\nimport { makeTryPickStickTargetUC } from \"./TryPickStickTarget\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n const ao = appObjects.getOrCreate(\"transform\");\r\n const transform = makeTransform3D(ao);\r\n\r\n const moveUC = makeMoveTransformWithStickUC(ao);\r\n const stickable = makeStickableEntity(ao);\r\n const tryPickTarget = makeTryPickStickTargetUC(ao);\r\n tryPickTarget.tryPick = () => {\r\n return true;\r\n };\r\n\r\n const mockDispatch = makeMockDispatchStateChange(appObjects);\r\n const doDispatchMock = jest.fn();\r\n mockDispatch.doDispatch = doDispatchMock;\r\n\r\n const undo = makeUndoRedoEntity(appObjects.getOrCreate(\"Undo\"));\r\n\r\n const helper = makeTransform3D(appObjects.getOrCreate(\"Helper\"));\r\n\r\n return {\r\n moveUC,\r\n transform,\r\n doDispatchMock,\r\n appObjects,\r\n undo,\r\n stickable,\r\n tryPickTarget,\r\n helper,\r\n };\r\n}\r\n\r\ndescribe(\"Pan Transform With Stick UC\", () => {\r\n it(\"Shows the targets on the first move if the pick ray does not hit the targets\", () => {\r\n const { stickable, moveUC, helper, tryPickTarget } = makeTestRig();\r\n\r\n tryPickTarget.tryPick = () => {\r\n return false;\r\n };\r\n\r\n moveUC.initialize(helper);\r\n\r\n expect(stickable.showStickTarget).toEqual(false);\r\n\r\n moveUC.update(helper, ParametricLine.Forward());\r\n\r\n expect(stickable.showStickTarget).toEqual(true);\r\n expect(stickable.highlightTarget).toEqual(false);\r\n });\r\n\r\n it(\"Hides the targets on the first if the pick ray hit the targets\", () => {\r\n const { stickable, moveUC, helper, tryPickTarget } = makeTestRig();\r\n\r\n tryPickTarget.tryPick = () => {\r\n return true;\r\n };\r\n\r\n moveUC.initialize(helper);\r\n\r\n expect(stickable.showStickTarget).toEqual(false);\r\n\r\n moveUC.update(helper, ParametricLine.Forward());\r\n\r\n expect(stickable.showStickTarget).toEqual(false);\r\n expect(stickable.highlightTarget).toEqual(false);\r\n });\r\n\r\n it(\"Shows the targets after moving so that there is no target pick on the first if the pick ray hit the targets\", () => {\r\n const { stickable, moveUC, helper, tryPickTarget } = makeTestRig();\r\n\r\n tryPickTarget.tryPick = () => {\r\n return true;\r\n };\r\n\r\n moveUC.initialize(helper);\r\n\r\n expect(stickable.showStickTarget).toEqual(false);\r\n\r\n moveUC.update(helper, ParametricLine.Forward());\r\n\r\n expect(stickable.showStickTarget).toEqual(false);\r\n\r\n tryPickTarget.tryPick = () => {\r\n return false;\r\n };\r\n\r\n moveUC.update(helper, ParametricLine.Forward());\r\n\r\n expect(stickable.showStickTarget).toEqual(true);\r\n });\r\n\r\n it(\"Highlights the targets when the start to pick on them after a move\", () => {\r\n const { stickable, moveUC, helper, tryPickTarget } = makeTestRig();\r\n\r\n tryPickTarget.tryPick = () => {\r\n return false;\r\n };\r\n\r\n moveUC.initialize(helper);\r\n moveUC.update(helper, ParametricLine.Forward());\r\n\r\n expect(stickable.highlightTarget).toEqual(false);\r\n\r\n tryPickTarget.tryPick = () => {\r\n return true;\r\n };\r\n\r\n moveUC.update(helper, ParametricLine.Forward());\r\n\r\n expect(stickable.highlightTarget).toEqual(true);\r\n });\r\n\r\n it(\"Hides the targets on finish\", () => {\r\n const { stickable, moveUC, helper, tryPickTarget } = makeTestRig();\r\n\r\n tryPickTarget.tryPick = () => {\r\n return false;\r\n };\r\n\r\n moveUC.initialize(helper);\r\n moveUC.update(helper, ParametricLine.Forward());\r\n\r\n expect(stickable.showStickTarget).toEqual(true);\r\n\r\n moveUC.finish();\r\n\r\n expect(stickable.showStickTarget).toEqual(false);\r\n });\r\n\r\n it(\"Hides the targets on cancel\", () => {\r\n const { stickable, moveUC, helper, tryPickTarget } = makeTestRig();\r\n\r\n tryPickTarget.tryPick = () => {\r\n return false;\r\n };\r\n\r\n moveUC.initialize(helper);\r\n moveUC.update(helper, ParametricLine.Forward());\r\n\r\n expect(stickable.showStickTarget).toEqual(true);\r\n\r\n moveUC.cancel();\r\n\r\n expect(stickable.showStickTarget).toEqual(false);\r\n });\r\n\r\n it(\"Triggers a stick on finish if picking on a target\", () => {\r\n const { stickable, moveUC, helper, tryPickTarget } = makeTestRig();\r\n stickable.doStick = jest.fn();\r\n tryPickTarget.tryPick = () => {\r\n return false;\r\n };\r\n\r\n moveUC.initialize(helper);\r\n moveUC.update(helper, ParametricLine.Forward());\r\n\r\n tryPickTarget.tryPick = () => {\r\n return true;\r\n };\r\n\r\n moveUC.update(helper, ParametricLine.Forward());\r\n\r\n expect(stickable.highlightTarget).toEqual(true);\r\n\r\n moveUC.finish();\r\n\r\n expect(stickable.doStick).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not trigger a stick on finish if picking on a target\", () => {\r\n const { stickable, moveUC, helper, tryPickTarget } = makeTestRig();\r\n stickable.doStick = jest.fn();\r\n tryPickTarget.tryPick = () => {\r\n return false;\r\n };\r\n\r\n moveUC.initialize(helper);\r\n moveUC.update(helper, ParametricLine.Forward());\r\n\r\n expect(stickable.highlightTarget).toEqual(false);\r\n\r\n moveUC.finish();\r\n\r\n expect(stickable.doStick).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Tells stick to dispatch a state change on complete if the flag is set\", () => {\r\n const { stickable, moveUC, helper, tryPickTarget, doDispatchMock } =\r\n makeTestRig();\r\n moveUC.dispatchStateChangeOnComplete = true;\r\n stickable.doStick = jest.fn();\r\n\r\n tryPickTarget.tryPick = () => {\r\n return false;\r\n };\r\n\r\n moveUC.initialize(helper);\r\n moveUC.update(helper, ParametricLine.Forward());\r\n\r\n tryPickTarget.tryPick = () => {\r\n return true;\r\n };\r\n\r\n moveUC.update(helper, ParametricLine.Forward());\r\n\r\n expect(stickable.highlightTarget).toEqual(true);\r\n\r\n moveUC.finish();\r\n\r\n expect(stickable.doStick).toHaveBeenCalledWith(doDispatchMock);\r\n });\r\n\r\n it(\"Does not tell stick to dispatch a state change on complete if the flag is set\", () => {\r\n const { stickable, moveUC, helper, tryPickTarget } = makeTestRig();\r\n moveUC.dispatchStateChangeOnComplete = false;\r\n stickable.doStick = jest.fn();\r\n\r\n tryPickTarget.tryPick = () => {\r\n return false;\r\n };\r\n\r\n moveUC.initialize(helper);\r\n moveUC.update(helper, ParametricLine.Forward());\r\n\r\n tryPickTarget.tryPick = () => {\r\n return true;\r\n };\r\n\r\n moveUC.update(helper, ParametricLine.Forward());\r\n\r\n expect(stickable.highlightTarget).toEqual(true);\r\n\r\n moveUC.finish();\r\n\r\n expect(stickable.doStick).toHaveBeenCalledWith();\r\n });\r\n\r\n it(\"Submits an undo when stuck if the flag is set\", () => {\r\n const { stickable, moveUC, helper, tryPickTarget, undo } = makeTestRig();\r\n moveUC.submitUndoOnComplete = true;\r\n stickable.doStick = jest.fn();\r\n\r\n tryPickTarget.tryPick = () => {\r\n return false;\r\n };\r\n\r\n moveUC.initialize(helper);\r\n moveUC.update(helper, ParametricLine.Forward());\r\n\r\n tryPickTarget.tryPick = () => {\r\n return true;\r\n };\r\n\r\n moveUC.update(helper, ParametricLine.Forward());\r\n\r\n expect(stickable.highlightTarget).toEqual(true);\r\n\r\n moveUC.finish();\r\n\r\n expect(undo.hasUndo).toEqual(true);\r\n });\r\n\r\n it(\"Does not submit an undo when stuck if the flag is set\", () => {\r\n const { stickable, moveUC, helper, tryPickTarget, undo } = makeTestRig();\r\n moveUC.submitUndoOnComplete = false;\r\n stickable.doStick = jest.fn();\r\n\r\n tryPickTarget.tryPick = () => {\r\n return false;\r\n };\r\n\r\n moveUC.initialize(helper);\r\n moveUC.update(helper, ParametricLine.Forward());\r\n\r\n tryPickTarget.tryPick = () => {\r\n return true;\r\n };\r\n\r\n moveUC.update(helper, ParametricLine.Forward());\r\n\r\n expect(stickable.highlightTarget).toEqual(true);\r\n\r\n moveUC.finish();\r\n\r\n expect(undo.hasUndo).toEqual(false);\r\n });\r\n\r\n it(\"Wires up the dispatch for undo and redo\", () => {\r\n const { stickable, moveUC, helper, tryPickTarget, undo, doDispatchMock } =\r\n makeTestRig();\r\n stickable.doStick = jest.fn();\r\n\r\n tryPickTarget.tryPick = () => {\r\n return false;\r\n };\r\n\r\n moveUC.initialize(helper);\r\n moveUC.update(helper, ParametricLine.Forward());\r\n\r\n tryPickTarget.tryPick = () => {\r\n return true;\r\n };\r\n\r\n moveUC.update(helper, ParametricLine.Forward());\r\n\r\n expect(stickable.highlightTarget).toEqual(true);\r\n\r\n moveUC.finish();\r\n\r\n doDispatchMock.mockClear();\r\n\r\n undo.doUndo();\r\n\r\n expect(doDispatchMock).toHaveBeenCalledTimes(1);\r\n\r\n undo.doRedo();\r\n\r\n expect(doDispatchMock).toHaveBeenCalledTimes(2);\r\n });\r\n\r\n it(\"Undoes and redoes the move\", () => {\r\n const { stickable, moveUC, helper, tryPickTarget, undo, transform } =\r\n makeTestRig();\r\n stickable.doStick = jest.fn();\r\n\r\n const initialPos = new Vector3(1, 2, 3);\r\n const initialRot = Quaternion.FromAngleAxis(\r\n new Vector3(4, 5, 6),\r\n Angle.FromDegrees(7)\r\n );\r\n transform.localPosition = initialPos;\r\n transform.localRotation = initialRot;\r\n\r\n stickable.stickPosition = Vector3.Zero();\r\n stickable.stickRotation = Quaternion.Identity();\r\n\r\n tryPickTarget.tryPick = () => {\r\n return false;\r\n };\r\n\r\n moveUC.initialize(helper);\r\n moveUC.update(helper, ParametricLine.Forward());\r\n\r\n tryPickTarget.tryPick = () => {\r\n return true;\r\n };\r\n\r\n moveUC.update(helper, ParametricLine.Forward());\r\n\r\n expect(stickable.highlightTarget).toEqual(true);\r\n\r\n moveUC.finish();\r\n\r\n undo.doUndo();\r\n\r\n expect(transform.localPosition).toEqual(initialPos);\r\n expect(Quaternion.Close(transform.localRotation, initialRot)).toEqual(true);\r\n\r\n undo.doRedo();\r\n\r\n expect(transform.localPosition).toEqual(Vector3.Zero());\r\n expect(\r\n Quaternion.Close(transform.localRotation, Quaternion.Identity())\r\n ).toEqual(true);\r\n });\r\n});\r\n"]}
|
|
@@ -21,6 +21,8 @@ function makeTestRig() {
|
|
|
21
21
|
};
|
|
22
22
|
const mockPick = (0, Mocks_1.makeMockSceneRayPickUC)(appObjects);
|
|
23
23
|
const mockDispatch = (0, MockDispatchStateChange_1.makeMockDispatchStateChange)(appObjects);
|
|
24
|
+
const doDispatchMock = jest.fn();
|
|
25
|
+
mockDispatch.doDispatch = doDispatchMock;
|
|
24
26
|
const mockPixelRay = (0, Mocks_1.makeMockPixelToSceneRayUC)(appObjects);
|
|
25
27
|
mockPixelRay.pixelToSceneRay = mockPicker;
|
|
26
28
|
const undo = (0, UndoRedoEntity_1.makeUndoRedoEntity)(appObjects.getOrCreate("Undo"));
|
|
@@ -28,7 +30,7 @@ function makeTestRig() {
|
|
|
28
30
|
panUC,
|
|
29
31
|
transform,
|
|
30
32
|
mockPick,
|
|
31
|
-
|
|
33
|
+
doDispatchMock,
|
|
32
34
|
appObjects,
|
|
33
35
|
mockPixelRay,
|
|
34
36
|
undo,
|
|
@@ -54,28 +56,28 @@ describe("Pan Transform With Stick UC", () => {
|
|
|
54
56
|
expect(transform.worldPosition).toEqual(new core_2.Vector3(11, 12, 10));
|
|
55
57
|
});
|
|
56
58
|
it("Dispatches a state change if the position has changed since init", () => {
|
|
57
|
-
const { transform, panUC,
|
|
59
|
+
const { transform, panUC, doDispatchMock } = makeTestRig();
|
|
58
60
|
transform.worldPosition = new core_2.Vector3(1, 2, 3);
|
|
59
61
|
panUC.initializePixel(core_2.Vector2.Zero());
|
|
60
62
|
transform.worldPosition = new core_2.Vector3(4, 5, 6);
|
|
61
63
|
panUC.finish();
|
|
62
|
-
expect(
|
|
64
|
+
expect(doDispatchMock).toHaveBeenCalled();
|
|
63
65
|
});
|
|
64
66
|
it("Does not dispatch a state change if the position has not changed", () => {
|
|
65
|
-
const { transform, panUC,
|
|
67
|
+
const { transform, panUC, doDispatchMock } = makeTestRig();
|
|
66
68
|
transform.worldPosition = new core_2.Vector3(1, 2, 3);
|
|
67
69
|
panUC.initializePixel(core_2.Vector2.Zero());
|
|
68
70
|
panUC.finish();
|
|
69
|
-
expect(
|
|
71
|
+
expect(doDispatchMock).not.toHaveBeenCalled();
|
|
70
72
|
});
|
|
71
73
|
it("Does not dispatch state change if dispatchStateChangeOnComplete is false", () => {
|
|
72
|
-
const { transform, panUC,
|
|
74
|
+
const { transform, panUC, doDispatchMock } = makeTestRig();
|
|
73
75
|
panUC.dispatchStateChangeOnComplete = false;
|
|
74
76
|
transform.worldPosition = new core_2.Vector3(1, 2, 3);
|
|
75
77
|
panUC.initializePixel(core_2.Vector2.Zero());
|
|
76
78
|
transform.worldPosition = new core_2.Vector3(4, 5, 6);
|
|
77
79
|
panUC.finish();
|
|
78
|
-
expect(
|
|
80
|
+
expect(doDispatchMock).not.toHaveBeenCalled();
|
|
79
81
|
});
|
|
80
82
|
it("Doesn't not move the transform after cancel", () => {
|
|
81
83
|
const { transform, panUC } = makeTestRig();
|
|
@@ -142,15 +144,15 @@ describe("Pan Transform With Stick UC", () => {
|
|
|
142
144
|
expect(undo.hasUndo).toEqual(false);
|
|
143
145
|
});
|
|
144
146
|
it("Wires up the dispatch for undo and redo", () => {
|
|
145
|
-
const { panUC, undo,
|
|
147
|
+
const { panUC, undo, doDispatchMock } = makeTestRig();
|
|
146
148
|
panUC.initializePixel(core_2.Vector2.Zero());
|
|
147
149
|
panUC.updatePixel(new core_2.Vector2(10, 20));
|
|
148
150
|
panUC.finish();
|
|
149
|
-
|
|
151
|
+
doDispatchMock.mockClear();
|
|
150
152
|
undo.doUndo();
|
|
151
|
-
expect(
|
|
153
|
+
expect(doDispatchMock).toHaveBeenCalledTimes(1);
|
|
152
154
|
undo.doRedo();
|
|
153
|
-
expect(
|
|
155
|
+
expect(doDispatchMock).toHaveBeenCalledTimes(2);
|
|
154
156
|
});
|
|
155
157
|
it("Undoes and redoes the move", () => {
|
|
156
158
|
const { panUC, undo, transform } = makeTestRig();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PanTransformWithStickUC.test.js","sourceRoot":"","sources":["../../../../src/Stick/UCs/PanTransformWithStickUC.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 makeMockSceneRayPickUC,\r\n} from \"../../Babylon/Mocks\";\r\nimport { PixelToSceneRayUC } from \"../../Babylon/UC/PixelToSceneRayUC\";\r\nimport { makeMockDispatchStateChange } from \"../../Dispatcher/Mocks/MockDispatchStateChange\";\r\nimport { makeTransform3D } from \"../../Transform3D/Entities/Transform3D\";\r\nimport { makeUndoRedoEntity } from \"../../UndoRedo/Entities/UndoRedoEntity\";\r\nimport { makeStickableEntity } from \"../Entities/Stickable\";\r\nimport { makePanTransformWithStickUC } from \"./PanTransformWithStickUC\";\r\nimport { makeTryPickStickTargetUC } from \"./TryPickStickTarget\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n const ao = appObjects.getOrCreate(\"transform\");\r\n const transform = makeTransform3D(ao);\r\n\r\n const panUC = makePanTransformWithStickUC(ao);\r\n const stickable = makeStickableEntity(ao);\r\n const tryPickTarget = makeTryPickStickTargetUC(ao);\r\n tryPickTarget.tryPick = () => {\r\n return true;\r\n };\r\n\r\n const mockPick = makeMockSceneRayPickUC(appObjects);\r\n const mockDispatch = makeMockDispatchStateChange(appObjects);\r\n const mockPixelRay = makeMockPixelToSceneRayUC(\r\n appObjects\r\n ) as PixelToSceneRayUC;\r\n\r\n mockPixelRay.pixelToSceneRay = mockPicker;\r\n const undo = makeUndoRedoEntity(appObjects.getOrCreate(\"Undo\"));\r\n\r\n return {\r\n panUC,\r\n transform,\r\n mockPick,\r\n mockDispatch,\r\n appObjects,\r\n mockPixelRay,\r\n undo,\r\n stickable,\r\n tryPickTarget,\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(\"Pan Transform With Stick UC\", () => {\r\n it(\"Moves the transform\", () => {\r\n const { transform, panUC } = makeTestRig();\r\n\r\n panUC.initializePixel(Vector2.Zero());\r\n\r\n panUC.updatePixel(new Vector2(1, 2));\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, panUC } = makeTestRig();\r\n\r\n transform.worldPosition = new Vector3(10, 10, 10);\r\n\r\n panUC.initializePixel(Vector2.Zero());\r\n\r\n panUC.updatePixel(new Vector2(1, 2));\r\n\r\n expect(transform.worldPosition).toEqual(new Vector3(11, 12, 10));\r\n });\r\n\r\n it(\"Dispatches a state change if the position has changed since init\", () => {\r\n const { transform, panUC, mockDispatch } = makeTestRig();\r\n\r\n transform.worldPosition = new Vector3(1, 2, 3);\r\n\r\n panUC.initializePixel(Vector2.Zero());\r\n\r\n transform.worldPosition = new Vector3(4, 5, 6);\r\n panUC.finish();\r\n\r\n expect(mockDispatch.doDispatch).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not dispatch a state change if the position has not changed\", () => {\r\n const { transform, panUC, mockDispatch } = makeTestRig();\r\n\r\n transform.worldPosition = new Vector3(1, 2, 3);\r\n\r\n panUC.initializePixel(Vector2.Zero());\r\n panUC.finish();\r\n\r\n expect(mockDispatch.doDispatch).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not dispatch state change if dispatchStateChangeOnComplete is false\", () => {\r\n const { transform, panUC, mockDispatch } = makeTestRig();\r\n\r\n panUC.dispatchStateChangeOnComplete = false;\r\n transform.worldPosition = new Vector3(1, 2, 3);\r\n\r\n panUC.initializePixel(Vector2.Zero());\r\n\r\n transform.worldPosition = new Vector3(4, 5, 6);\r\n panUC.finish();\r\n\r\n expect(mockDispatch.doDispatch).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Doesn't not move the transform after cancel\", () => {\r\n const { transform, panUC } = makeTestRig();\r\n\r\n panUC.initializePixel(Vector2.Zero());\r\n panUC.cancelPan();\r\n panUC.updatePixel(new Vector2(1, 2));\r\n\r\n expect(transform.worldPosition).toEqual(Vector3.Zero());\r\n });\r\n\r\n it(\"Limits the minimum X\", () => {\r\n const { transform, panUC } = makeTestRig();\r\n\r\n panUC.minX = 0;\r\n\r\n panUC.initializePixel(Vector2.Zero());\r\n\r\n panUC.updatePixel(new Vector2(-1, 2));\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, panUC } = makeTestRig();\r\n\r\n panUC.maxX = 0;\r\n\r\n panUC.initializePixel(Vector2.Zero());\r\n\r\n panUC.updatePixel(new Vector2(1, 2));\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, panUC } = makeTestRig();\r\n\r\n panUC.minY = 0;\r\n\r\n panUC.initializePixel(Vector2.Zero());\r\n\r\n panUC.updatePixel(new Vector2(-1, -2));\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, panUC } = makeTestRig();\r\n\r\n panUC.maxY = 0;\r\n\r\n panUC.initializePixel(Vector2.Zero());\r\n\r\n panUC.updatePixel(new Vector2(1, 2));\r\n\r\n expect(transform.worldPosition).toEqual(new Vector3(1, 0, 0));\r\n });\r\n\r\n it(\"Does not update if disabled\", () => {\r\n const { transform, panUC } = makeTestRig();\r\n\r\n transform.worldPosition = Vector3.Zero();\r\n\r\n panUC.enabled = false;\r\n\r\n panUC.initializePixel(Vector2.Zero());\r\n panUC.updatePixel(new Vector2(10, 20));\r\n\r\n expect(transform.worldPosition).toEqual(Vector3.Zero());\r\n });\r\n\r\n it(\"Submits an undo on stop\", () => {\r\n const { panUC, undo } = makeTestRig();\r\n\r\n panUC.initializePixel(Vector2.Zero());\r\n panUC.updatePixel(new Vector2(10, 20));\r\n panUC.finish();\r\n\r\n expect(undo.hasUndo).toEqual(true);\r\n });\r\n\r\n it(\"Does not submit an undo on stop if flag is set to false\", () => {\r\n const { panUC, undo } = makeTestRig();\r\n panUC.submitUndoOnComplete = false;\r\n\r\n panUC.initializePixel(Vector2.Zero());\r\n panUC.updatePixel(new Vector2(10, 20));\r\n panUC.finish();\r\n\r\n expect(undo.hasUndo).toEqual(false);\r\n });\r\n\r\n it(\"Does not submit an undo on stop if there was no movement\", () => {\r\n const { panUC, undo } = makeTestRig();\r\n\r\n panUC.initializePixel(Vector2.Zero());\r\n panUC.finish();\r\n\r\n expect(undo.hasUndo).toEqual(false);\r\n });\r\n\r\n it(\"Wires up the dispatch for undo and redo\", () => {\r\n const { panUC, undo, mockDispatch } = makeTestRig();\r\n\r\n panUC.initializePixel(Vector2.Zero());\r\n panUC.updatePixel(new Vector2(10, 20));\r\n panUC.finish();\r\n\r\n mockDispatch.doDispatch.mockClear();\r\n\r\n undo.doUndo();\r\n\r\n expect(mockDispatch.doDispatch).toHaveBeenCalledTimes(1);\r\n\r\n undo.doRedo();\r\n\r\n expect(mockDispatch.doDispatch).toHaveBeenCalledTimes(2);\r\n });\r\n\r\n it(\"Undoes and redoes the move\", () => {\r\n const { panUC, undo, transform } = makeTestRig();\r\n\r\n const initialPos = transform.localPosition;\r\n\r\n panUC.initializePixel(Vector2.Zero());\r\n panUC.updatePixel(new Vector2(10, 20));\r\n panUC.finish();\r\n\r\n const fianlPos = transform.localPosition;\r\n\r\n undo.doUndo();\r\n\r\n expect(transform.localPosition).toEqual(initialPos);\r\n\r\n undo.doRedo();\r\n\r\n expect(transform.localPosition).toEqual(fianlPos);\r\n });\r\n});\r\n"]}
|
|
1
|
+
{"version":3,"file":"PanTransformWithStickUC.test.js","sourceRoot":"","sources":["../../../../src/Stick/UCs/PanTransformWithStickUC.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 makeMockSceneRayPickUC,\r\n} from \"../../Babylon/Mocks\";\r\nimport { PixelToSceneRayUC } from \"../../Babylon/UC/PixelToSceneRayUC\";\r\nimport { makeMockDispatchStateChange } from \"../../Dispatcher/Mocks/MockDispatchStateChange\";\r\nimport { makeTransform3D } from \"../../Transform3D/Entities/Transform3D\";\r\nimport { makeUndoRedoEntity } from \"../../UndoRedo/Entities/UndoRedoEntity\";\r\nimport { makeStickableEntity } from \"../Entities/Stickable\";\r\nimport { makePanTransformWithStickUC } from \"./PanTransformWithStickUC\";\r\nimport { makeTryPickStickTargetUC } from \"./TryPickStickTarget\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n const ao = appObjects.getOrCreate(\"transform\");\r\n const transform = makeTransform3D(ao);\r\n\r\n const panUC = makePanTransformWithStickUC(ao);\r\n const stickable = makeStickableEntity(ao);\r\n const tryPickTarget = makeTryPickStickTargetUC(ao);\r\n tryPickTarget.tryPick = () => {\r\n return true;\r\n };\r\n\r\n const mockPick = makeMockSceneRayPickUC(appObjects);\r\n const mockDispatch = makeMockDispatchStateChange(appObjects);\r\n const doDispatchMock = jest.fn();\r\n mockDispatch.doDispatch = doDispatchMock;\r\n\r\n const mockPixelRay = makeMockPixelToSceneRayUC(\r\n appObjects\r\n ) as PixelToSceneRayUC;\r\n\r\n mockPixelRay.pixelToSceneRay = mockPicker;\r\n const undo = makeUndoRedoEntity(appObjects.getOrCreate(\"Undo\"));\r\n\r\n return {\r\n panUC,\r\n transform,\r\n mockPick,\r\n doDispatchMock,\r\n appObjects,\r\n mockPixelRay,\r\n undo,\r\n stickable,\r\n tryPickTarget,\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(\"Pan Transform With Stick UC\", () => {\r\n it(\"Moves the transform\", () => {\r\n const { transform, panUC } = makeTestRig();\r\n\r\n panUC.initializePixel(Vector2.Zero());\r\n\r\n panUC.updatePixel(new Vector2(1, 2));\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, panUC } = makeTestRig();\r\n\r\n transform.worldPosition = new Vector3(10, 10, 10);\r\n\r\n panUC.initializePixel(Vector2.Zero());\r\n\r\n panUC.updatePixel(new Vector2(1, 2));\r\n\r\n expect(transform.worldPosition).toEqual(new Vector3(11, 12, 10));\r\n });\r\n\r\n it(\"Dispatches a state change if the position has changed since init\", () => {\r\n const { transform, panUC, doDispatchMock } = makeTestRig();\r\n\r\n transform.worldPosition = new Vector3(1, 2, 3);\r\n\r\n panUC.initializePixel(Vector2.Zero());\r\n\r\n transform.worldPosition = new Vector3(4, 5, 6);\r\n panUC.finish();\r\n\r\n expect(doDispatchMock).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not dispatch a state change if the position has not changed\", () => {\r\n const { transform, panUC, doDispatchMock } = makeTestRig();\r\n\r\n transform.worldPosition = new Vector3(1, 2, 3);\r\n\r\n panUC.initializePixel(Vector2.Zero());\r\n panUC.finish();\r\n\r\n expect(doDispatchMock).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not dispatch state change if dispatchStateChangeOnComplete is false\", () => {\r\n const { transform, panUC, doDispatchMock } = makeTestRig();\r\n\r\n panUC.dispatchStateChangeOnComplete = false;\r\n transform.worldPosition = new Vector3(1, 2, 3);\r\n\r\n panUC.initializePixel(Vector2.Zero());\r\n\r\n transform.worldPosition = new Vector3(4, 5, 6);\r\n panUC.finish();\r\n\r\n expect(doDispatchMock).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Doesn't not move the transform after cancel\", () => {\r\n const { transform, panUC } = makeTestRig();\r\n\r\n panUC.initializePixel(Vector2.Zero());\r\n panUC.cancelPan();\r\n panUC.updatePixel(new Vector2(1, 2));\r\n\r\n expect(transform.worldPosition).toEqual(Vector3.Zero());\r\n });\r\n\r\n it(\"Limits the minimum X\", () => {\r\n const { transform, panUC } = makeTestRig();\r\n\r\n panUC.minX = 0;\r\n\r\n panUC.initializePixel(Vector2.Zero());\r\n\r\n panUC.updatePixel(new Vector2(-1, 2));\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, panUC } = makeTestRig();\r\n\r\n panUC.maxX = 0;\r\n\r\n panUC.initializePixel(Vector2.Zero());\r\n\r\n panUC.updatePixel(new Vector2(1, 2));\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, panUC } = makeTestRig();\r\n\r\n panUC.minY = 0;\r\n\r\n panUC.initializePixel(Vector2.Zero());\r\n\r\n panUC.updatePixel(new Vector2(-1, -2));\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, panUC } = makeTestRig();\r\n\r\n panUC.maxY = 0;\r\n\r\n panUC.initializePixel(Vector2.Zero());\r\n\r\n panUC.updatePixel(new Vector2(1, 2));\r\n\r\n expect(transform.worldPosition).toEqual(new Vector3(1, 0, 0));\r\n });\r\n\r\n it(\"Does not update if disabled\", () => {\r\n const { transform, panUC } = makeTestRig();\r\n\r\n transform.worldPosition = Vector3.Zero();\r\n\r\n panUC.enabled = false;\r\n\r\n panUC.initializePixel(Vector2.Zero());\r\n panUC.updatePixel(new Vector2(10, 20));\r\n\r\n expect(transform.worldPosition).toEqual(Vector3.Zero());\r\n });\r\n\r\n it(\"Submits an undo on stop\", () => {\r\n const { panUC, undo } = makeTestRig();\r\n\r\n panUC.initializePixel(Vector2.Zero());\r\n panUC.updatePixel(new Vector2(10, 20));\r\n panUC.finish();\r\n\r\n expect(undo.hasUndo).toEqual(true);\r\n });\r\n\r\n it(\"Does not submit an undo on stop if flag is set to false\", () => {\r\n const { panUC, undo } = makeTestRig();\r\n panUC.submitUndoOnComplete = false;\r\n\r\n panUC.initializePixel(Vector2.Zero());\r\n panUC.updatePixel(new Vector2(10, 20));\r\n panUC.finish();\r\n\r\n expect(undo.hasUndo).toEqual(false);\r\n });\r\n\r\n it(\"Does not submit an undo on stop if there was no movement\", () => {\r\n const { panUC, undo } = makeTestRig();\r\n\r\n panUC.initializePixel(Vector2.Zero());\r\n panUC.finish();\r\n\r\n expect(undo.hasUndo).toEqual(false);\r\n });\r\n\r\n it(\"Wires up the dispatch for undo and redo\", () => {\r\n const { panUC, undo, doDispatchMock } = makeTestRig();\r\n\r\n panUC.initializePixel(Vector2.Zero());\r\n panUC.updatePixel(new Vector2(10, 20));\r\n panUC.finish();\r\n\r\n doDispatchMock.mockClear();\r\n\r\n undo.doUndo();\r\n\r\n expect(doDispatchMock).toHaveBeenCalledTimes(1);\r\n\r\n undo.doRedo();\r\n\r\n expect(doDispatchMock).toHaveBeenCalledTimes(2);\r\n });\r\n\r\n it(\"Undoes and redoes the move\", () => {\r\n const { panUC, undo, transform } = makeTestRig();\r\n\r\n const initialPos = transform.localPosition;\r\n\r\n panUC.initializePixel(Vector2.Zero());\r\n panUC.updatePixel(new Vector2(10, 20));\r\n panUC.finish();\r\n\r\n const fianlPos = transform.localPosition;\r\n\r\n undo.doUndo();\r\n\r\n expect(transform.localPosition).toEqual(initialPos);\r\n\r\n undo.doRedo();\r\n\r\n expect(transform.localPosition).toEqual(fianlPos);\r\n });\r\n});\r\n"]}
|
|
@@ -15,13 +15,15 @@ function makeTestRig() {
|
|
|
15
15
|
const uc = (0, StickUC_1.makeStickUC)(ao);
|
|
16
16
|
const stickSpy = jest.spyOn(stickEntity, "doStick");
|
|
17
17
|
const mockDispatch = (0, MockDispatchStateChange_1.makeMockDispatchStateChange)(appObjects);
|
|
18
|
+
const doDispatchMock = jest.fn();
|
|
19
|
+
mockDispatch.doDispatch = doDispatchMock;
|
|
18
20
|
const undo = (0, UndoRedoEntity_1.makeUndoRedoEntity)(appObjects.getOrCreate("Undo"));
|
|
19
21
|
return {
|
|
20
22
|
stickEntity,
|
|
21
23
|
uc,
|
|
22
24
|
appObjects,
|
|
23
25
|
transform,
|
|
24
|
-
|
|
26
|
+
doDispatchMock,
|
|
25
27
|
stickSpy,
|
|
26
28
|
undo,
|
|
27
29
|
};
|
|
@@ -32,10 +34,10 @@ describe("Stick UC", () => {
|
|
|
32
34
|
expect(StickUC_1.StickUC.get("AO", appObjects)).toEqual(uc);
|
|
33
35
|
});
|
|
34
36
|
it("Triggers do stick if the transform is out of place", () => {
|
|
35
|
-
const { stickSpy, uc, transform,
|
|
37
|
+
const { stickSpy, uc, transform, doDispatchMock } = makeTestRig();
|
|
36
38
|
transform.localPosition = new core_2.Vector3(1, 2, 3);
|
|
37
39
|
uc.doStick();
|
|
38
|
-
expect(stickSpy).toHaveBeenCalledWith(
|
|
40
|
+
expect(stickSpy).toHaveBeenCalledWith(doDispatchMock);
|
|
39
41
|
});
|
|
40
42
|
it("Does not trigger the lerp if it is not stickable", () => {
|
|
41
43
|
const { stickSpy, uc, stickEntity } = makeTestRig();
|
|
@@ -56,14 +58,14 @@ describe("Stick UC", () => {
|
|
|
56
58
|
expect(undo.hasUndo).toEqual(true);
|
|
57
59
|
});
|
|
58
60
|
it("Dispatches on undo and redo", () => {
|
|
59
|
-
const { uc, transform, undo,
|
|
61
|
+
const { uc, transform, undo, doDispatchMock } = makeTestRig();
|
|
60
62
|
transform.localPosition = new core_2.Vector3(1, 2, 3);
|
|
61
63
|
uc.doStick();
|
|
62
|
-
|
|
64
|
+
doDispatchMock.mockClear();
|
|
63
65
|
undo.doUndo();
|
|
64
|
-
expect(
|
|
66
|
+
expect(doDispatchMock).toHaveBeenCalledTimes(1);
|
|
65
67
|
undo.doRedo();
|
|
66
|
-
expect(
|
|
68
|
+
expect(doDispatchMock).toHaveBeenCalledTimes(2);
|
|
67
69
|
});
|
|
68
70
|
it("Undo redo move", () => {
|
|
69
71
|
const { uc, transform, undo, stickEntity } = makeTestRig();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StickUC.test.js","sourceRoot":"","sources":["../../../../src/Stick/UCs/StickUC.test.ts"],"names":[],"mappings":";;AAAA,sCAAgD;AAChD,sCAAyD;AACzD,4FAA6F;AAC7F,wEAAyE;AACzE,2EAA4E;AAC5E,qDAA4D;AAC5D,uCAAiD;AAEjD,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,IAAA,wBAAiB,GAAE,CAAC;IACvC,MAAM,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,IAAA,6BAAe,EAAC,EAAE,CAAC,CAAC;IACtC,MAAM,WAAW,GAAG,IAAA,+BAAmB,EAAC,EAAE,CAAC,CAAC;IAC5C,MAAM,EAAE,GAAG,IAAA,qBAAW,EAAC,EAAE,CAAC,CAAC;IAE3B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAEpD,MAAM,YAAY,GAAG,IAAA,qDAA2B,EAAC,UAAU,CAAC,CAAC;IAC7D,MAAM,IAAI,GAAG,IAAA,mCAAkB,EAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;IAEhE,OAAO;QACL,WAAW;QACX,EAAE;QACF,UAAU;QACV,SAAS;QACT,
|
|
1
|
+
{"version":3,"file":"StickUC.test.js","sourceRoot":"","sources":["../../../../src/Stick/UCs/StickUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport { Angle, Quaternion, Vector3 } from \"@vived/core\";\r\nimport { makeMockDispatchStateChange } from \"../../Dispatcher/Mocks/MockDispatchStateChange\";\r\nimport { makeTransform3D } from \"../../Transform3D/Entities/Transform3D\";\r\nimport { makeUndoRedoEntity } from \"../../UndoRedo/Entities/UndoRedoEntity\";\r\nimport { makeStickableEntity } from \"../Entities/Stickable\";\r\nimport { makeStickUC, StickUC } from \"./StickUC\";\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 const stickEntity = makeStickableEntity(ao);\r\n const uc = makeStickUC(ao);\r\n\r\n const stickSpy = jest.spyOn(stickEntity, \"doStick\");\r\n\r\n const mockDispatch = makeMockDispatchStateChange(appObjects);\r\n const doDispatchMock = jest.fn();\r\n mockDispatch.doDispatch = doDispatchMock;\r\n\r\n const undo = makeUndoRedoEntity(appObjects.getOrCreate(\"Undo\"));\r\n\r\n return {\r\n stickEntity,\r\n uc,\r\n appObjects,\r\n transform,\r\n doDispatchMock,\r\n stickSpy,\r\n undo,\r\n };\r\n}\r\n\r\ndescribe(\"Stick UC\", () => {\r\n it(\"Gets the UC\", () => {\r\n const { appObjects, uc } = makeTestRig();\r\n\r\n expect(StickUC.get(\"AO\", appObjects)).toEqual(uc);\r\n });\r\n\r\n it(\"Triggers do stick if the transform is out of place\", () => {\r\n const { stickSpy, uc, transform, doDispatchMock } = makeTestRig();\r\n\r\n transform.localPosition = new Vector3(1, 2, 3);\r\n\r\n uc.doStick();\r\n\r\n expect(stickSpy).toHaveBeenCalledWith(doDispatchMock);\r\n });\r\n\r\n it(\"Does not trigger the lerp if it is not stickable\", () => {\r\n const { stickSpy, uc, stickEntity } = makeTestRig();\r\n\r\n expect(stickEntity.canBeStuck).toEqual(false);\r\n\r\n uc.doStick();\r\n\r\n expect(stickSpy).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not submit an undo if it is not stickable\", () => {\r\n const { uc, stickEntity, undo } = makeTestRig();\r\n\r\n expect(stickEntity.canBeStuck).toEqual(false);\r\n\r\n uc.doStick();\r\n\r\n expect(undo.hasUndo).toEqual(false);\r\n });\r\n\r\n it(\"Submit an undo\", () => {\r\n const { uc, transform, undo } = makeTestRig();\r\n\r\n transform.localPosition = new Vector3(1, 2, 3);\r\n\r\n uc.doStick();\r\n\r\n expect(undo.hasUndo).toEqual(true);\r\n });\r\n\r\n it(\"Dispatches on undo and redo\", () => {\r\n const { uc, transform, undo, doDispatchMock } = makeTestRig();\r\n\r\n transform.localPosition = new Vector3(1, 2, 3);\r\n\r\n uc.doStick();\r\n\r\n doDispatchMock.mockClear();\r\n undo.doUndo();\r\n\r\n expect(doDispatchMock).toHaveBeenCalledTimes(1);\r\n\r\n undo.doRedo();\r\n\r\n expect(doDispatchMock).toHaveBeenCalledTimes(2);\r\n });\r\n\r\n it(\"Undo redo move\", () => {\r\n const { uc, transform, undo, stickEntity } = makeTestRig();\r\n\r\n transform.localPosition = new Vector3(1, 2, 3);\r\n stickEntity.stickPosition = new Vector3(4, 5, 6);\r\n\r\n uc.doStick();\r\n\r\n transform.localPosition = new Vector3(4, 5, 6); // Fake the stick since we hijacked the lerp\r\n\r\n undo.doUndo();\r\n\r\n expect(transform.localPosition).toEqual(new Vector3(1, 2, 3));\r\n\r\n undo.doRedo();\r\n\r\n expect(transform.localPosition).toEqual(new Vector3(4, 5, 6));\r\n });\r\n\r\n it(\"Undo redo scale\", () => {\r\n const { uc, transform, undo, stickEntity } = makeTestRig();\r\n\r\n transform.localScale = new Vector3(5, 5, 5);\r\n stickEntity.stickScale = 3;\r\n\r\n uc.doStick();\r\n\r\n transform.localScale = new Vector3(3, 3, 3); // Fake the stick since we hijacked the lerp\r\n\r\n undo.doUndo();\r\n\r\n expect(transform.localScale).toEqual(new Vector3(5, 5, 5));\r\n\r\n undo.doRedo();\r\n\r\n expect(transform.localScale).toEqual(new Vector3(3, 3, 3));\r\n });\r\n\r\n it(\"Undo redo rotation\", () => {\r\n const { uc, transform, undo, stickEntity } = makeTestRig();\r\n\r\n transform.localRotation = Quaternion.Identity();\r\n\r\n const stickQuat = Quaternion.FromAngleAxis(\r\n new Vector3(3, 4, 5),\r\n Angle.FromDegrees(6)\r\n );\r\n stickEntity.stickRotation = stickQuat;\r\n\r\n uc.doStick();\r\n\r\n transform.localRotation = stickQuat; // Fake the stick since we hijacked the lerp\r\n\r\n undo.doUndo();\r\n\r\n expect(transform.localRotation).toEqual(Quaternion.Identity());\r\n\r\n undo.doRedo();\r\n\r\n expect(Quaternion.Close(transform.localRotation, stickQuat)).toEqual(true);\r\n });\r\n});\r\n"]}
|
|
@@ -14,7 +14,8 @@ function makeTestRig() {
|
|
|
14
14
|
const stickableObj = appObjects.getOrCreate("stickableObj");
|
|
15
15
|
const mockHideUC = new StickUCMock_1.StickUCMock(stickableObj);
|
|
16
16
|
const mockRayPick = (0, Babylon_1.makeMockSceneRayPickUC)(appObjects);
|
|
17
|
-
|
|
17
|
+
const mockPick = jest.fn().mockReturnValue({ appObjectID: "stickableObj" });
|
|
18
|
+
mockRayPick.sceneRayPick = mockPick;
|
|
18
19
|
const mockPixelPick = (0, Babylon_1.makeMockScenePixelPickUC)(appObjects);
|
|
19
20
|
mockPixelPick.scenePixelPick.mockReturnValue({ appObjectID: "stickableObj" });
|
|
20
21
|
const toolRepo = (0, Tools_1.makeToolRepo)(appObjects.getOrCreate("Tool"));
|
|
@@ -26,7 +27,7 @@ function makeTestRig() {
|
|
|
26
27
|
mockHideUC,
|
|
27
28
|
uc,
|
|
28
29
|
registerSingleton,
|
|
29
|
-
|
|
30
|
+
mockPick,
|
|
30
31
|
mockPixelPick,
|
|
31
32
|
peelTool,
|
|
32
33
|
};
|
|
@@ -41,10 +42,10 @@ describe("Try Stick UC", () => {
|
|
|
41
42
|
expect(registerSingleton).toHaveBeenCalledWith(uc);
|
|
42
43
|
});
|
|
43
44
|
it("Picks with the ray", () => {
|
|
44
|
-
const { uc,
|
|
45
|
+
const { uc, mockPick } = makeTestRig();
|
|
45
46
|
const pickRay = core_2.ParametricLine.FromPointDirection(new core_2.Vector3(1, 2, 3), new core_2.Vector3(4, 5, 6));
|
|
46
47
|
uc.tryWithRay(pickRay);
|
|
47
|
-
expect(
|
|
48
|
+
expect(mockPick).toHaveBeenCalledWith(pickRay);
|
|
48
49
|
});
|
|
49
50
|
it("Calls the UC", () => {
|
|
50
51
|
const { uc, mockHideUC } = makeTestRig();
|
|
@@ -60,10 +61,10 @@ describe("Try Stick UC", () => {
|
|
|
60
61
|
expect(mockHideUC.doStick).not.toHaveBeenCalled();
|
|
61
62
|
});
|
|
62
63
|
it("Doesn't warn if the picked object does not have the UC", () => {
|
|
63
|
-
const { uc,
|
|
64
|
+
const { uc, mockPick, appObjects } = makeTestRig();
|
|
64
65
|
appObjects.submitWarning = jest.fn();
|
|
65
66
|
appObjects.getOrCreate("SomeOtherObject");
|
|
66
|
-
|
|
67
|
+
mockPick.mockReturnValue({
|
|
67
68
|
appObjectID: "SomeOtherObject",
|
|
68
69
|
});
|
|
69
70
|
uc.tryWithRay(core_2.ParametricLine.Forward());
|