@vived/app 5.0.5 → 5.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Babylon/Mocks/MockSceneRayPickUC.js +3 -1
- package/dist/cjs/Babylon/Mocks/MockSceneRayPickUC.js.map +1 -1
- package/dist/cjs/Babylon/UC/SceneRayPickUC.test.js +1 -0
- package/dist/cjs/Babylon/UC/SceneRayPickUC.test.js.map +1 -1
- package/dist/cjs/BaseApp/UC/EditSlideTextUC.test.js +8 -6
- package/dist/cjs/BaseApp/UC/EditSlideTextUC.test.js.map +1 -1
- package/dist/cjs/BaseApp/UC/UndoRedoEditSlideText.test.js +10 -6
- package/dist/cjs/BaseApp/UC/UndoRedoEditSlideText.test.js.map +1 -1
- package/dist/cjs/BaseApp/UC/UpdateContentSizeUC.test.js +8 -6
- package/dist/cjs/BaseApp/UC/UpdateContentSizeUC.test.js.map +1 -1
- package/dist/cjs/Callouts/Entities/CalloutEntity.js +1 -0
- package/dist/cjs/Callouts/Entities/CalloutEntity.js.map +1 -1
- package/dist/cjs/Callouts/Entities/CalloutEntity.test.js +1 -1
- package/dist/cjs/Callouts/Entities/CalloutEntity.test.js.map +1 -1
- package/dist/cjs/Callouts/UC/CreateCalloutUndoRedo.test.js +7 -4
- package/dist/cjs/Callouts/UC/CreateCalloutUndoRedo.test.js.map +1 -1
- package/dist/cjs/Callouts/UC/DeleteAllCalloutsUC.test.js +7 -4
- package/dist/cjs/Callouts/UC/DeleteAllCalloutsUC.test.js.map +1 -1
- package/dist/cjs/Callouts/UC/DeleteAllCalloutsUndoRedo.test.js +13 -7
- package/dist/cjs/Callouts/UC/DeleteAllCalloutsUndoRedo.test.js.map +1 -1
- package/dist/cjs/Callouts/UC/DeleteCallout.test.js +5 -2
- package/dist/cjs/Callouts/UC/DeleteCallout.test.js.map +1 -1
- package/dist/cjs/Callouts/UC/DeleteCalloutUndoRedo.test.js +9 -7
- package/dist/cjs/Callouts/UC/DeleteCalloutUndoRedo.test.js.map +1 -1
- package/dist/cjs/Callouts/UC/SetCalloutSizeUC.test.js +7 -5
- package/dist/cjs/Callouts/UC/SetCalloutSizeUC.test.js.map +1 -1
- package/dist/cjs/Callouts/UC/SetCalloutSizeUndoRedo.test.js +10 -6
- package/dist/cjs/Callouts/UC/SetCalloutSizeUndoRedo.test.js.map +1 -1
- package/dist/cjs/Callouts/UC/TryAddCallout.test.js +5 -4
- package/dist/cjs/Callouts/UC/TryAddCallout.test.js.map +1 -1
- package/dist/cjs/Callouts/UC/TryPanLabelUC.test.js +3 -2
- package/dist/cjs/Callouts/UC/TryPanLabelUC.test.js.map +1 -1
- package/dist/cjs/Challenge/UCs/SetChallengeUC.test.js +11 -9
- package/dist/cjs/Challenge/UCs/SetChallengeUC.test.js.map +1 -1
- package/dist/cjs/ChannelModel/UC/ClearAllColorOverlayUndoRedo.test.js +13 -7
- package/dist/cjs/ChannelModel/UC/ClearAllColorOverlayUndoRedo.test.js.map +1 -1
- package/dist/cjs/ChannelModel/UC/ClearModelObjectOverlaysUC.test.js +7 -4
- package/dist/cjs/ChannelModel/UC/ClearModelObjectOverlaysUC.test.js.map +1 -1
- package/dist/cjs/ChannelModel/UC/SelectChannelModelUC.test.js +5 -2
- package/dist/cjs/ChannelModel/UC/SelectChannelModelUC.test.js.map +1 -1
- package/dist/cjs/ChannelModel/UC/StickAllChannelModelObjectsUC.test.js +10 -8
- package/dist/cjs/ChannelModel/UC/StickAllChannelModelObjectsUC.test.js.map +1 -1
- package/dist/cjs/ChannelModel/UC/UnhideAllAppObjectsUndoRedo.test.js +9 -7
- package/dist/cjs/ChannelModel/UC/UnhideAllAppObjectsUndoRedo.test.js.map +1 -1
- package/dist/cjs/ChannelModel/UC/UnhideAllChannelModelObjectsUC.test.js +7 -5
- package/dist/cjs/ChannelModel/UC/UnhideAllChannelModelObjectsUC.test.js.map +1 -1
- package/dist/cjs/Dispatcher/Mocks/MockDispatchStateChange.js +3 -3
- package/dist/cjs/Dispatcher/Mocks/MockDispatchStateChange.js.map +1 -1
- package/dist/cjs/Environment/UCs/SetEnvironmentIntensityUC.test.js +11 -9
- package/dist/cjs/Environment/UCs/SetEnvironmentIntensityUC.test.js.map +1 -1
- package/dist/cjs/Environment/UCs/SetTexturalEnvironmentUC.test.js +9 -7
- package/dist/cjs/Environment/UCs/SetTexturalEnvironmentUC.test.js.map +1 -1
- package/dist/cjs/Hideable/UCs/HideUC.test.js +10 -8
- package/dist/cjs/Hideable/UCs/HideUC.test.js.map +1 -1
- package/dist/cjs/Hideable/UCs/TryHideWithPickUC.test.js +7 -6
- package/dist/cjs/Hideable/UCs/TryHideWithPickUC.test.js.map +1 -1
- package/dist/cjs/HoverLabel/UseCases/TryShowHoverLabel.test.js +12 -11
- package/dist/cjs/HoverLabel/UseCases/TryShowHoverLabel.test.js.map +1 -1
- package/dist/cjs/Label/UC/ClearCustomLabelUC.test.js +9 -4
- package/dist/cjs/Label/UC/ClearCustomLabelUC.test.js.map +1 -1
- package/dist/cjs/Label/UC/ClearCustomLabelUndoRedo.test.js +10 -6
- package/dist/cjs/Label/UC/ClearCustomLabelUndoRedo.test.js.map +1 -1
- package/dist/cjs/Label/UC/SetCustomLabelUC.test.js +9 -4
- package/dist/cjs/Label/UC/SetCustomLabelUC.test.js.map +1 -1
- package/dist/cjs/Label/UC/SetCustomLabelUndoRedo.test.js +10 -6
- package/dist/cjs/Label/UC/SetCustomLabelUndoRedo.test.js.map +1 -1
- package/dist/cjs/LabelDrop/UseCases/DeleteAllLabelDropUC.test.js +9 -7
- package/dist/cjs/LabelDrop/UseCases/DeleteAllLabelDropUC.test.js.map +1 -1
- package/dist/cjs/LabelDrop/UseCases/DeleteLabelDropUC.test.js +9 -7
- package/dist/cjs/LabelDrop/UseCases/DeleteLabelDropUC.test.js.map +1 -1
- package/dist/cjs/LabelDrop/UseCases/DragLabelDropUC.test.js +8 -6
- package/dist/cjs/LabelDrop/UseCases/DragLabelDropUC.test.js.map +1 -1
- package/dist/cjs/LabelDrop/UseCases/DragLabelDropWorldUC.test.js +17 -17
- package/dist/cjs/LabelDrop/UseCases/DragLabelDropWorldUC.test.js.map +1 -1
- package/dist/cjs/LabelDrop/UseCases/EditLabelDropUC.test.js +20 -18
- package/dist/cjs/LabelDrop/UseCases/EditLabelDropUC.test.js.map +1 -1
- package/dist/cjs/LabelDrop/UseCases/ToggleLabelDropTargetUC.test.js +4 -2
- package/dist/cjs/LabelDrop/UseCases/ToggleLabelDropTargetUC.test.js.map +1 -1
- package/dist/cjs/Landmarks/UseCases/AddLandmarkUndoRedo.test.js +10 -5
- package/dist/cjs/Landmarks/UseCases/AddLandmarkUndoRedo.test.js.map +1 -1
- package/dist/cjs/Landmarks/UseCases/DeleteAllLandmarksUC.test.js +5 -3
- package/dist/cjs/Landmarks/UseCases/DeleteAllLandmarksUC.test.js.map +1 -1
- package/dist/cjs/Landmarks/UseCases/DeleteAllLandmarksUndoRedo.test.js +11 -6
- package/dist/cjs/Landmarks/UseCases/DeleteAllLandmarksUndoRedo.test.js.map +1 -1
- package/dist/cjs/Landmarks/UseCases/DeleteLandmarkUC.test.js +10 -5
- package/dist/cjs/Landmarks/UseCases/DeleteLandmarkUC.test.js.map +1 -1
- package/dist/cjs/Landmarks/UseCases/DeleteLandmarkUndoRedo.test.js +10 -5
- package/dist/cjs/Landmarks/UseCases/DeleteLandmarkUndoRedo.test.js.map +1 -1
- package/dist/cjs/Landmarks/UseCases/SetLandmarkSizeUC.test.js +7 -5
- package/dist/cjs/Landmarks/UseCases/SetLandmarkSizeUC.test.js.map +1 -1
- package/dist/cjs/Landmarks/UseCases/SetLandmarkSizeUndoRedo.test.js +10 -6
- package/dist/cjs/Landmarks/UseCases/SetLandmarkSizeUndoRedo.test.js.map +1 -1
- package/dist/cjs/Landmarks/UseCases/TryAddNewLandmarkUC.test.js +29 -15
- package/dist/cjs/Landmarks/UseCases/TryAddNewLandmarkUC.test.js.map +1 -1
- package/dist/cjs/Landmarks/UseCases/TryPreviewLandmarkUC.test.js +4 -3
- package/dist/cjs/Landmarks/UseCases/TryPreviewLandmarkUC.test.js.map +1 -1
- package/dist/cjs/ObjectPick/UseCases/AddCorrectObjectIdUC.test.js +10 -8
- package/dist/cjs/ObjectPick/UseCases/AddCorrectObjectIdUC.test.js.map +1 -1
- package/dist/cjs/ObjectPick/UseCases/ClearCorrectObjectIdsUC.test.js +10 -8
- package/dist/cjs/ObjectPick/UseCases/ClearCorrectObjectIdsUC.test.js.map +1 -1
- package/dist/cjs/ObjectPick/UseCases/RemoveCorrectObjectIdUC.test.js +10 -8
- package/dist/cjs/ObjectPick/UseCases/RemoveCorrectObjectIdUC.test.js.map +1 -1
- package/dist/cjs/ObjectPick/UseCases/TrySelectObjectPickUC.test.js +18 -15
- package/dist/cjs/ObjectPick/UseCases/TrySelectObjectPickUC.test.js.map +1 -1
- package/dist/cjs/ObjectPick/UseCases/TrySubmitObjectPickUC.test.js +3 -1
- package/dist/cjs/ObjectPick/UseCases/TrySubmitObjectPickUC.test.js.map +1 -1
- package/dist/cjs/OverlayColor/UC/SetOverlayColorUC.test.js +9 -4
- package/dist/cjs/OverlayColor/UC/SetOverlayColorUC.test.js.map +1 -1
- package/dist/cjs/OverlayColor/UC/SetOverlayColorUndoRedo.test.js +10 -6
- package/dist/cjs/OverlayColor/UC/SetOverlayColorUndoRedo.test.js.map +1 -1
- package/dist/cjs/Question/UC/AddAnswerUndoRedo.test.js +16 -6
- package/dist/cjs/Question/UC/AddAnswerUndoRedo.test.js.map +1 -1
- package/dist/cjs/Question/UC/AddQuestionAnswerUC.test.js +14 -5
- package/dist/cjs/Question/UC/AddQuestionAnswerUC.test.js.map +1 -1
- package/dist/cjs/Question/UC/DeleteAnswerUndoRedo.test.js +17 -6
- package/dist/cjs/Question/UC/DeleteAnswerUndoRedo.test.js.map +1 -1
- package/dist/cjs/Question/UC/DeleteQuestionAnswerUC.test.js +9 -6
- package/dist/cjs/Question/UC/DeleteQuestionAnswerUC.test.js.map +1 -1
- package/dist/cjs/Question/UC/SetAnswerFeedbackUC.test.js +9 -6
- package/dist/cjs/Question/UC/SetAnswerFeedbackUC.test.js.map +1 -1
- package/dist/cjs/Question/UC/SetAnswerFeedbackUndoRedo.test.js +10 -6
- package/dist/cjs/Question/UC/SetAnswerFeedbackUndoRedo.test.js.map +1 -1
- package/dist/cjs/Question/UC/SetAnswerTextUC.test.js +9 -6
- package/dist/cjs/Question/UC/SetAnswerTextUC.test.js.map +1 -1
- package/dist/cjs/Question/UC/SetAnswerTextUndoRedo.test.js +10 -6
- package/dist/cjs/Question/UC/SetAnswerTextUndoRedo.test.js.map +1 -1
- package/dist/cjs/Question/UC/ToggleIsCorrectUndoRedo.test.js +10 -6
- package/dist/cjs/Question/UC/ToggleIsCorrectUndoRedo.test.js.map +1 -1
- package/dist/cjs/Question/UC/ToggleQuestionAnswerIsCorrect.test.js +7 -4
- package/dist/cjs/Question/UC/ToggleQuestionAnswerIsCorrect.test.js.map +1 -1
- package/dist/cjs/RequestHandler/UC/SetAppStateUC.test.js +2 -0
- package/dist/cjs/RequestHandler/UC/SetAppStateUC.test.js.map +1 -1
- package/dist/cjs/SceneRoot/UC/BumpSceneRootScaleAboutPixelPoint.test.js +7 -4
- package/dist/cjs/SceneRoot/UC/BumpSceneRootScaleAboutPixelPoint.test.js.map +1 -1
- package/dist/cjs/SceneRoot/UC/DragScaleSceneRoot.test.js +9 -6
- package/dist/cjs/SceneRoot/UC/DragScaleSceneRoot.test.js.map +1 -1
- package/dist/cjs/SceneRoot/UC/OrbitSceneRoot.test.js +16 -7
- package/dist/cjs/SceneRoot/UC/OrbitSceneRoot.test.js.map +1 -1
- package/dist/cjs/SceneRoot/UC/PanSceneRoot.test.js +9 -6
- package/dist/cjs/SceneRoot/UC/PanSceneRoot.test.js.map +1 -1
- package/dist/cjs/SceneRoot/UC/PinchSceneRoot.test.js +9 -6
- package/dist/cjs/SceneRoot/UC/PinchSceneRoot.test.js.map +1 -1
- package/dist/cjs/Selection/UC/HoverAppObjectUC.test.js +3 -3
- package/dist/cjs/Selection/UC/HoverAppObjectUC.test.js.map +1 -1
- package/dist/cjs/Selection/UC/PressAppObjectUC.test.js +3 -3
- package/dist/cjs/Selection/UC/PressAppObjectUC.test.js.map +1 -1
- package/dist/cjs/Selection/UC/SelectAppObjectUC.test.js +3 -3
- package/dist/cjs/Selection/UC/SelectAppObjectUC.test.js.map +1 -1
- package/dist/cjs/Stick/UCs/MoveTransformWithStickUC.test.js +9 -7
- package/dist/cjs/Stick/UCs/MoveTransformWithStickUC.test.js.map +1 -1
- package/dist/cjs/Stick/UCs/PanTransformWithStickUC.test.js +13 -11
- package/dist/cjs/Stick/UCs/PanTransformWithStickUC.test.js.map +1 -1
- package/dist/cjs/Stick/UCs/StickUC.test.js +9 -7
- package/dist/cjs/Stick/UCs/StickUC.test.js.map +1 -1
- package/dist/cjs/Stick/UCs/TryStickAppObjectUC.test.js +7 -6
- package/dist/cjs/Stick/UCs/TryStickAppObjectUC.test.js.map +1 -1
- package/dist/cjs/Transform3D/UC/BumpTransformScaleAboutPixelPoint.test.js +5 -3
- package/dist/cjs/Transform3D/UC/BumpTransformScaleAboutPixelPoint.test.js.map +1 -1
- package/dist/cjs/Transform3D/UC/MoveTransformUC.test.js +21 -11
- package/dist/cjs/Transform3D/UC/MoveTransformUC.test.js.map +1 -1
- package/dist/cjs/Transform3D/UC/MoveTransformUndoRedo.test.js +10 -6
- package/dist/cjs/Transform3D/UC/MoveTransformUndoRedo.test.js.map +1 -1
- package/dist/cjs/Transform3D/UC/PanTransformUC.test.js +13 -11
- package/dist/cjs/Transform3D/UC/PanTransformUC.test.js.map +1 -1
- package/dist/cjs/Transform3D/UC/PinchTransform.test.js +7 -5
- package/dist/cjs/Transform3D/UC/PinchTransform.test.js.map +1 -1
- package/dist/cjs/Transform3D/UC/RayPanScaleTransform.test.js +9 -7
- package/dist/cjs/Transform3D/UC/RayPanScaleTransform.test.js.map +1 -1
- package/dist/cjs/Transform3D/UC/ScaleTransform.test.js +22 -18
- package/dist/cjs/Transform3D/UC/ScaleTransform.test.js.map +1 -1
- package/dist/cjs/Transform3D/UC/StylusMoveTransformUC.test.js +11 -6
- package/dist/cjs/Transform3D/UC/StylusMoveTransformUC.test.js.map +1 -1
- package/dist/cjs/Transform3D/UC/TryMoveTransformUC.test.js +3 -1
- package/dist/cjs/Transform3D/UC/TryMoveTransformUC.test.js.map +1 -1
- package/dist/cjs/Transform3D/UC/TryPanTransformUC.test.js +25 -24
- package/dist/cjs/Transform3D/UC/TryPanTransformUC.test.js.map +1 -1
- package/dist/cjs/Transparency/UCs/MakeTransparentUC.test.js +10 -8
- package/dist/cjs/Transparency/UCs/MakeTransparentUC.test.js.map +1 -1
- package/dist/cjs/UndoRedo/Mocks/MockUndoRedo.js +4 -4
- package/dist/cjs/UndoRedo/Mocks/MockUndoRedo.js.map +1 -1
- package/dist/esm/Babylon/Mocks/MockSceneRayPickUC.js +3 -1
- package/dist/esm/Babylon/Mocks/MockSceneRayPickUC.js.map +1 -1
- package/dist/esm/Babylon/UC/SceneRayPickUC.test.js +1 -0
- package/dist/esm/Babylon/UC/SceneRayPickUC.test.js.map +1 -1
- package/dist/esm/BaseApp/UC/EditSlideTextUC.test.js +9 -7
- package/dist/esm/BaseApp/UC/EditSlideTextUC.test.js.map +1 -1
- package/dist/esm/BaseApp/UC/UndoRedoEditSlideText.test.js +10 -6
- package/dist/esm/BaseApp/UC/UndoRedoEditSlideText.test.js.map +1 -1
- package/dist/esm/BaseApp/UC/UpdateContentSizeUC.test.js +8 -6
- package/dist/esm/BaseApp/UC/UpdateContentSizeUC.test.js.map +1 -1
- package/dist/esm/Callouts/Entities/CalloutEntity.js +5 -4
- package/dist/esm/Callouts/Entities/CalloutEntity.js.map +1 -1
- package/dist/esm/Callouts/Entities/CalloutEntity.test.js +1 -1
- package/dist/esm/Callouts/Entities/CalloutEntity.test.js.map +1 -1
- package/dist/esm/Callouts/UC/CreateCalloutUndoRedo.test.js +7 -4
- package/dist/esm/Callouts/UC/CreateCalloutUndoRedo.test.js.map +1 -1
- package/dist/esm/Callouts/UC/DeleteAllCalloutsUC.test.js +7 -4
- package/dist/esm/Callouts/UC/DeleteAllCalloutsUC.test.js.map +1 -1
- package/dist/esm/Callouts/UC/DeleteAllCalloutsUndoRedo.test.js +13 -7
- package/dist/esm/Callouts/UC/DeleteAllCalloutsUndoRedo.test.js.map +1 -1
- package/dist/esm/Callouts/UC/DeleteCallout.test.js +5 -2
- package/dist/esm/Callouts/UC/DeleteCallout.test.js.map +1 -1
- package/dist/esm/Callouts/UC/DeleteCalloutUndoRedo.test.js +9 -7
- package/dist/esm/Callouts/UC/DeleteCalloutUndoRedo.test.js.map +1 -1
- package/dist/esm/Callouts/UC/SetCalloutSizeUC.test.js +7 -5
- package/dist/esm/Callouts/UC/SetCalloutSizeUC.test.js.map +1 -1
- package/dist/esm/Callouts/UC/SetCalloutSizeUndoRedo.test.js +10 -6
- package/dist/esm/Callouts/UC/SetCalloutSizeUndoRedo.test.js.map +1 -1
- package/dist/esm/Callouts/UC/TryAddCallout.test.js +5 -4
- package/dist/esm/Callouts/UC/TryAddCallout.test.js.map +1 -1
- package/dist/esm/Callouts/UC/TryPanLabelUC.test.js +3 -2
- package/dist/esm/Callouts/UC/TryPanLabelUC.test.js.map +1 -1
- package/dist/esm/Challenge/UCs/SetChallengeUC.test.js +11 -9
- package/dist/esm/Challenge/UCs/SetChallengeUC.test.js.map +1 -1
- package/dist/esm/ChannelModel/UC/ClearAllColorOverlayUndoRedo.test.js +13 -7
- package/dist/esm/ChannelModel/UC/ClearAllColorOverlayUndoRedo.test.js.map +1 -1
- package/dist/esm/ChannelModel/UC/ClearModelObjectOverlaysUC.test.js +7 -4
- package/dist/esm/ChannelModel/UC/ClearModelObjectOverlaysUC.test.js.map +1 -1
- package/dist/esm/ChannelModel/UC/SelectChannelModelUC.test.js +5 -2
- package/dist/esm/ChannelModel/UC/SelectChannelModelUC.test.js.map +1 -1
- package/dist/esm/ChannelModel/UC/StickAllChannelModelObjectsUC.test.js +10 -8
- package/dist/esm/ChannelModel/UC/StickAllChannelModelObjectsUC.test.js.map +1 -1
- package/dist/esm/ChannelModel/UC/UnhideAllAppObjectsUndoRedo.test.js +9 -7
- package/dist/esm/ChannelModel/UC/UnhideAllAppObjectsUndoRedo.test.js.map +1 -1
- package/dist/esm/ChannelModel/UC/UnhideAllChannelModelObjectsUC.test.js +7 -5
- package/dist/esm/ChannelModel/UC/UnhideAllChannelModelObjectsUC.test.js.map +1 -1
- package/dist/esm/Dispatcher/Mocks/MockDispatchStateChange.js +3 -3
- package/dist/esm/Dispatcher/Mocks/MockDispatchStateChange.js.map +1 -1
- package/dist/esm/Environment/UCs/SetEnvironmentIntensityUC.test.js +11 -9
- package/dist/esm/Environment/UCs/SetEnvironmentIntensityUC.test.js.map +1 -1
- package/dist/esm/Environment/UCs/SetTexturalEnvironmentUC.test.js +9 -7
- package/dist/esm/Environment/UCs/SetTexturalEnvironmentUC.test.js.map +1 -1
- package/dist/esm/Hideable/UCs/HideUC.test.js +10 -8
- package/dist/esm/Hideable/UCs/HideUC.test.js.map +1 -1
- package/dist/esm/Hideable/UCs/TryHideWithPickUC.test.js +7 -6
- package/dist/esm/Hideable/UCs/TryHideWithPickUC.test.js.map +1 -1
- package/dist/esm/HoverLabel/UseCases/TryShowHoverLabel.test.js +12 -11
- package/dist/esm/HoverLabel/UseCases/TryShowHoverLabel.test.js.map +1 -1
- package/dist/esm/Label/UC/ClearCustomLabelUC.test.js +9 -4
- package/dist/esm/Label/UC/ClearCustomLabelUC.test.js.map +1 -1
- package/dist/esm/Label/UC/ClearCustomLabelUndoRedo.test.js +10 -6
- package/dist/esm/Label/UC/ClearCustomLabelUndoRedo.test.js.map +1 -1
- package/dist/esm/Label/UC/SetCustomLabelUC.test.js +9 -4
- package/dist/esm/Label/UC/SetCustomLabelUC.test.js.map +1 -1
- package/dist/esm/Label/UC/SetCustomLabelUndoRedo.test.js +10 -6
- package/dist/esm/Label/UC/SetCustomLabelUndoRedo.test.js.map +1 -1
- package/dist/esm/LabelDrop/UseCases/DeleteAllLabelDropUC.test.js +9 -7
- package/dist/esm/LabelDrop/UseCases/DeleteAllLabelDropUC.test.js.map +1 -1
- package/dist/esm/LabelDrop/UseCases/DeleteLabelDropUC.test.js +9 -7
- package/dist/esm/LabelDrop/UseCases/DeleteLabelDropUC.test.js.map +1 -1
- package/dist/esm/LabelDrop/UseCases/DragLabelDropUC.test.js +8 -6
- package/dist/esm/LabelDrop/UseCases/DragLabelDropUC.test.js.map +1 -1
- package/dist/esm/LabelDrop/UseCases/DragLabelDropWorldUC.test.js +17 -17
- package/dist/esm/LabelDrop/UseCases/DragLabelDropWorldUC.test.js.map +1 -1
- package/dist/esm/LabelDrop/UseCases/EditLabelDropUC.test.js +20 -18
- package/dist/esm/LabelDrop/UseCases/EditLabelDropUC.test.js.map +1 -1
- package/dist/esm/LabelDrop/UseCases/ToggleLabelDropTargetUC.test.js +4 -2
- package/dist/esm/LabelDrop/UseCases/ToggleLabelDropTargetUC.test.js.map +1 -1
- package/dist/esm/Landmarks/UseCases/AddLandmarkUndoRedo.test.js +10 -5
- package/dist/esm/Landmarks/UseCases/AddLandmarkUndoRedo.test.js.map +1 -1
- package/dist/esm/Landmarks/UseCases/DeleteAllLandmarksUC.test.js +5 -3
- package/dist/esm/Landmarks/UseCases/DeleteAllLandmarksUC.test.js.map +1 -1
- package/dist/esm/Landmarks/UseCases/DeleteAllLandmarksUndoRedo.test.js +11 -6
- package/dist/esm/Landmarks/UseCases/DeleteAllLandmarksUndoRedo.test.js.map +1 -1
- package/dist/esm/Landmarks/UseCases/DeleteLandmarkUC.test.js +10 -5
- package/dist/esm/Landmarks/UseCases/DeleteLandmarkUC.test.js.map +1 -1
- package/dist/esm/Landmarks/UseCases/DeleteLandmarkUndoRedo.test.js +10 -5
- package/dist/esm/Landmarks/UseCases/DeleteLandmarkUndoRedo.test.js.map +1 -1
- package/dist/esm/Landmarks/UseCases/SetLandmarkSizeUC.test.js +7 -5
- package/dist/esm/Landmarks/UseCases/SetLandmarkSizeUC.test.js.map +1 -1
- package/dist/esm/Landmarks/UseCases/SetLandmarkSizeUndoRedo.test.js +10 -6
- package/dist/esm/Landmarks/UseCases/SetLandmarkSizeUndoRedo.test.js.map +1 -1
- package/dist/esm/Landmarks/UseCases/TryAddNewLandmarkUC.test.js +29 -15
- package/dist/esm/Landmarks/UseCases/TryAddNewLandmarkUC.test.js.map +1 -1
- package/dist/esm/Landmarks/UseCases/TryPreviewLandmarkUC.test.js +4 -3
- package/dist/esm/Landmarks/UseCases/TryPreviewLandmarkUC.test.js.map +1 -1
- package/dist/esm/ObjectPick/UseCases/AddCorrectObjectIdUC.test.js +10 -8
- package/dist/esm/ObjectPick/UseCases/AddCorrectObjectIdUC.test.js.map +1 -1
- package/dist/esm/ObjectPick/UseCases/ClearCorrectObjectIdsUC.test.js +10 -8
- package/dist/esm/ObjectPick/UseCases/ClearCorrectObjectIdsUC.test.js.map +1 -1
- package/dist/esm/ObjectPick/UseCases/RemoveCorrectObjectIdUC.test.js +10 -8
- package/dist/esm/ObjectPick/UseCases/RemoveCorrectObjectIdUC.test.js.map +1 -1
- package/dist/esm/ObjectPick/UseCases/TrySelectObjectPickUC.test.js +18 -15
- package/dist/esm/ObjectPick/UseCases/TrySelectObjectPickUC.test.js.map +1 -1
- package/dist/esm/ObjectPick/UseCases/TrySubmitObjectPickUC.test.js +3 -1
- package/dist/esm/ObjectPick/UseCases/TrySubmitObjectPickUC.test.js.map +1 -1
- package/dist/esm/OverlayColor/UC/SetOverlayColorUC.test.js +9 -4
- package/dist/esm/OverlayColor/UC/SetOverlayColorUC.test.js.map +1 -1
- package/dist/esm/OverlayColor/UC/SetOverlayColorUndoRedo.test.js +10 -6
- package/dist/esm/OverlayColor/UC/SetOverlayColorUndoRedo.test.js.map +1 -1
- package/dist/esm/Question/UC/AddAnswerUndoRedo.test.js +16 -6
- package/dist/esm/Question/UC/AddAnswerUndoRedo.test.js.map +1 -1
- package/dist/esm/Question/UC/AddQuestionAnswerUC.test.js +14 -5
- package/dist/esm/Question/UC/AddQuestionAnswerUC.test.js.map +1 -1
- package/dist/esm/Question/UC/DeleteAnswerUndoRedo.test.js +17 -6
- package/dist/esm/Question/UC/DeleteAnswerUndoRedo.test.js.map +1 -1
- package/dist/esm/Question/UC/DeleteQuestionAnswerUC.test.js +9 -6
- package/dist/esm/Question/UC/DeleteQuestionAnswerUC.test.js.map +1 -1
- package/dist/esm/Question/UC/SetAnswerFeedbackUC.test.js +9 -6
- package/dist/esm/Question/UC/SetAnswerFeedbackUC.test.js.map +1 -1
- package/dist/esm/Question/UC/SetAnswerFeedbackUndoRedo.test.js +10 -6
- package/dist/esm/Question/UC/SetAnswerFeedbackUndoRedo.test.js.map +1 -1
- package/dist/esm/Question/UC/SetAnswerTextUC.test.js +9 -6
- package/dist/esm/Question/UC/SetAnswerTextUC.test.js.map +1 -1
- package/dist/esm/Question/UC/SetAnswerTextUndoRedo.test.js +10 -6
- package/dist/esm/Question/UC/SetAnswerTextUndoRedo.test.js.map +1 -1
- package/dist/esm/Question/UC/ToggleIsCorrectUndoRedo.test.js +10 -6
- package/dist/esm/Question/UC/ToggleIsCorrectUndoRedo.test.js.map +1 -1
- package/dist/esm/Question/UC/ToggleQuestionAnswerIsCorrect.test.js +7 -4
- package/dist/esm/Question/UC/ToggleQuestionAnswerIsCorrect.test.js.map +1 -1
- package/dist/esm/RequestHandler/UC/SetAppStateUC.test.js +2 -0
- package/dist/esm/RequestHandler/UC/SetAppStateUC.test.js.map +1 -1
- package/dist/esm/SceneRoot/UC/BumpSceneRootScaleAboutPixelPoint.test.js +7 -4
- package/dist/esm/SceneRoot/UC/BumpSceneRootScaleAboutPixelPoint.test.js.map +1 -1
- package/dist/esm/SceneRoot/UC/DragScaleSceneRoot.test.js +9 -6
- package/dist/esm/SceneRoot/UC/DragScaleSceneRoot.test.js.map +1 -1
- package/dist/esm/SceneRoot/UC/OrbitSceneRoot.test.js +16 -7
- package/dist/esm/SceneRoot/UC/OrbitSceneRoot.test.js.map +1 -1
- package/dist/esm/SceneRoot/UC/PanSceneRoot.test.js +9 -6
- package/dist/esm/SceneRoot/UC/PanSceneRoot.test.js.map +1 -1
- package/dist/esm/SceneRoot/UC/PinchSceneRoot.test.js +9 -6
- package/dist/esm/SceneRoot/UC/PinchSceneRoot.test.js.map +1 -1
- package/dist/esm/Selection/UC/HoverAppObjectUC.test.js +3 -3
- package/dist/esm/Selection/UC/HoverAppObjectUC.test.js.map +1 -1
- package/dist/esm/Selection/UC/PressAppObjectUC.test.js +3 -3
- package/dist/esm/Selection/UC/PressAppObjectUC.test.js.map +1 -1
- package/dist/esm/Selection/UC/SelectAppObjectUC.test.js +3 -3
- package/dist/esm/Selection/UC/SelectAppObjectUC.test.js.map +1 -1
- package/dist/esm/Stick/UCs/MoveTransformWithStickUC.test.js +9 -7
- package/dist/esm/Stick/UCs/MoveTransformWithStickUC.test.js.map +1 -1
- package/dist/esm/Stick/UCs/PanTransformWithStickUC.test.js +13 -11
- package/dist/esm/Stick/UCs/PanTransformWithStickUC.test.js.map +1 -1
- package/dist/esm/Stick/UCs/StickUC.test.js +9 -7
- package/dist/esm/Stick/UCs/StickUC.test.js.map +1 -1
- package/dist/esm/Stick/UCs/TryStickAppObjectUC.test.js +7 -6
- package/dist/esm/Stick/UCs/TryStickAppObjectUC.test.js.map +1 -1
- package/dist/esm/Transform3D/UC/BumpTransformScaleAboutPixelPoint.test.js +5 -3
- package/dist/esm/Transform3D/UC/BumpTransformScaleAboutPixelPoint.test.js.map +1 -1
- package/dist/esm/Transform3D/UC/MoveTransformUC.test.js +21 -11
- package/dist/esm/Transform3D/UC/MoveTransformUC.test.js.map +1 -1
- package/dist/esm/Transform3D/UC/MoveTransformUndoRedo.test.js +10 -6
- package/dist/esm/Transform3D/UC/MoveTransformUndoRedo.test.js.map +1 -1
- package/dist/esm/Transform3D/UC/PanTransformUC.test.js +13 -11
- package/dist/esm/Transform3D/UC/PanTransformUC.test.js.map +1 -1
- package/dist/esm/Transform3D/UC/PinchTransform.test.js +7 -5
- package/dist/esm/Transform3D/UC/PinchTransform.test.js.map +1 -1
- package/dist/esm/Transform3D/UC/RayPanScaleTransform.test.js +9 -7
- package/dist/esm/Transform3D/UC/RayPanScaleTransform.test.js.map +1 -1
- package/dist/esm/Transform3D/UC/ScaleTransform.test.js +22 -18
- package/dist/esm/Transform3D/UC/ScaleTransform.test.js.map +1 -1
- package/dist/esm/Transform3D/UC/StylusMoveTransformUC.test.js +11 -6
- package/dist/esm/Transform3D/UC/StylusMoveTransformUC.test.js.map +1 -1
- package/dist/esm/Transform3D/UC/TryMoveTransformUC.test.js +3 -1
- package/dist/esm/Transform3D/UC/TryMoveTransformUC.test.js.map +1 -1
- package/dist/esm/Transform3D/UC/TryPanTransformUC.test.js +4 -3
- package/dist/esm/Transform3D/UC/TryPanTransformUC.test.js.map +1 -1
- package/dist/esm/Transparency/UCs/MakeTransparentUC.test.js +10 -8
- package/dist/esm/Transparency/UCs/MakeTransparentUC.test.js.map +1 -1
- package/dist/esm/UndoRedo/Mocks/MockUndoRedo.js +4 -4
- package/dist/esm/UndoRedo/Mocks/MockUndoRedo.js.map +1 -1
- package/dist/types/Babylon/Mocks/MockSceneRayPickUC.d.ts +1 -1
- package/dist/types/Babylon/Mocks/MockSceneRayPickUC.d.ts.map +1 -1
- package/dist/types/Callouts/Entities/CalloutEntity.d.ts.map +1 -1
- package/dist/types/Dispatcher/Mocks/MockDispatchStateChange.d.ts +3 -3
- package/dist/types/Dispatcher/Mocks/MockDispatchStateChange.d.ts.map +1 -1
- package/dist/types/UndoRedo/Mocks/MockUndoRedo.d.ts +4 -4
- package/dist/types/UndoRedo/Mocks/MockUndoRedo.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
import { makeAppObjectRepo } from "@vived/core";
|
|
2
2
|
import { UndoRedoEditSlideText } from "./UndoRedoEditSlideText";
|
|
3
3
|
import { MockUndoRedo } from "../../UndoRedo/Mocks/MockUndoRedo";
|
|
4
|
-
import {
|
|
4
|
+
import { makeMockDispatchStateChange } from "../../Dispatcher";
|
|
5
5
|
import { makeBaseAppState } from "../Entity/BaseAppState";
|
|
6
6
|
function makeTestRig() {
|
|
7
7
|
const appObjects = makeAppObjectRepo();
|
|
8
8
|
const ao = appObjects.getOrCreate("App");
|
|
9
9
|
const mockUndo = new MockUndoRedo(ao);
|
|
10
|
-
|
|
10
|
+
// Override the submitAction with a jest.fn()
|
|
11
|
+
mockUndo.submitAction = jest.fn();
|
|
12
|
+
const mockDispatcher = makeMockDispatchStateChange(appObjects);
|
|
13
|
+
const doDispatchMock = jest.fn();
|
|
14
|
+
mockDispatcher.doDispatch = doDispatchMock;
|
|
11
15
|
const baseApp = makeBaseAppState(ao);
|
|
12
|
-
return { mockUndo, mockDispatcher, baseApp, appObjects };
|
|
16
|
+
return { mockUndo, mockDispatcher, doDispatchMock, baseApp, appObjects };
|
|
13
17
|
}
|
|
14
18
|
describe("Edit slide text Undo Redo action", () => {
|
|
15
19
|
it("Submits itself to the entity", () => {
|
|
@@ -40,13 +44,13 @@ describe("Edit slide text Undo Redo action", () => {
|
|
|
40
44
|
expect(baseApp.slideText).toEqual("Final Text");
|
|
41
45
|
});
|
|
42
46
|
it("Dispatches state changes for both the undo and redo action", () => {
|
|
43
|
-
const { appObjects, baseApp,
|
|
47
|
+
const { appObjects, baseApp, doDispatchMock } = makeTestRig();
|
|
44
48
|
baseApp.slideText = "Final Text";
|
|
45
49
|
const action = new UndoRedoEditSlideText("Initial Text", appObjects);
|
|
46
50
|
action.undoAction();
|
|
47
|
-
expect(
|
|
51
|
+
expect(doDispatchMock).toHaveBeenCalledTimes(1);
|
|
48
52
|
action.redoAction();
|
|
49
|
-
expect(
|
|
53
|
+
expect(doDispatchMock).toHaveBeenCalledTimes(2);
|
|
50
54
|
});
|
|
51
55
|
});
|
|
52
56
|
//# sourceMappingURL=UndoRedoEditSlideText.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UndoRedoEditSlideText.test.js","sourceRoot":"","sources":["../../../../src/BaseApp/UC/UndoRedoEditSlideText.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"UndoRedoEditSlideText.test.js","sourceRoot":"","sources":["../../../../src/BaseApp/UC/UndoRedoEditSlideText.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport { UndoRedoEditSlideText } from \"./UndoRedoEditSlideText\";\r\nimport { MockUndoRedo } from \"../../UndoRedo/Mocks/MockUndoRedo\";\r\nimport { makeMockDispatchStateChange } from \"../../Dispatcher\";\r\nimport { makeBaseAppState } from \"../Entity/BaseAppState\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n const ao = appObjects.getOrCreate(\"App\");\r\n const mockUndo = new MockUndoRedo(ao);\r\n // Override the submitAction with a jest.fn()\r\n mockUndo.submitAction = jest.fn();\r\n const mockDispatcher = makeMockDispatchStateChange(appObjects);\r\n const doDispatchMock = jest.fn();\r\n mockDispatcher.doDispatch = doDispatchMock;\r\n const baseApp = makeBaseAppState(ao);\r\n\r\n return { mockUndo, mockDispatcher, doDispatchMock, baseApp, appObjects };\r\n}\r\n\r\ndescribe(\"Edit slide text Undo Redo action\", () => {\r\n it(\"Submits itself to the entity\", () => {\r\n const { mockUndo, appObjects, baseApp } = makeTestRig();\r\n\r\n baseApp.slideText = \"Final Text\";\r\n const action = new UndoRedoEditSlideText(\"Initial Text\", appObjects);\r\n expect(mockUndo.submitAction).toHaveBeenCalledWith(action);\r\n });\r\n\r\n it(\"Does not submit if there is no change\", () => {\r\n const { mockUndo, appObjects, baseApp } = makeTestRig();\r\n\r\n baseApp.slideText = \"Final Text\";\r\n new UndoRedoEditSlideText(\"Final Text\", appObjects);\r\n expect(mockUndo.submitAction).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Undo sets the text to the initial text\", () => {\r\n const { appObjects, baseApp } = makeTestRig();\r\n\r\n baseApp.slideText = \"Final Text\";\r\n const action = new UndoRedoEditSlideText(\"Initial Text\", appObjects);\r\n\r\n action.undoAction();\r\n\r\n expect(baseApp.slideText).toEqual(\"Initial Text\");\r\n });\r\n\r\n it(\"Redo sets the text to the final text\", () => {\r\n const { appObjects, baseApp } = makeTestRig();\r\n\r\n baseApp.slideText = \"Final Text\";\r\n const action = new UndoRedoEditSlideText(\"Initial Text\", appObjects);\r\n\r\n action.undoAction();\r\n action.redoAction();\r\n\r\n expect(baseApp.slideText).toEqual(\"Final Text\");\r\n });\r\n\r\n it(\"Dispatches state changes for both the undo and redo action\", () => {\r\n const { appObjects, baseApp, doDispatchMock } = makeTestRig();\r\n\r\n baseApp.slideText = \"Final Text\";\r\n const action = new UndoRedoEditSlideText(\"Initial Text\", appObjects);\r\n\r\n action.undoAction();\r\n expect(doDispatchMock).toHaveBeenCalledTimes(1);\r\n\r\n action.redoAction();\r\n expect(doDispatchMock).toHaveBeenCalledTimes(2);\r\n });\r\n});\r\n"]}
|
|
@@ -6,10 +6,11 @@ function makeTestRig() {
|
|
|
6
6
|
const appObjects = makeAppObjectRepo();
|
|
7
7
|
const app = appObjects.getOrCreate("app");
|
|
8
8
|
const baseApp = makeBaseAppState(appObjects.getOrCreate("Base App"));
|
|
9
|
-
const
|
|
9
|
+
const doDispatchMock = jest.fn();
|
|
10
|
+
makeMockDispatchStateChange(appObjects).doDispatch = doDispatchMock;
|
|
10
11
|
const updateSizeUC = makeUpdateContentSizeUC(app);
|
|
11
12
|
const updateSize = updateSizeUC.updateContentSize;
|
|
12
|
-
return { baseApp, updateSize,
|
|
13
|
+
return { baseApp, updateSize, doDispatchMock };
|
|
13
14
|
}
|
|
14
15
|
describe("Update Content Size", () => {
|
|
15
16
|
it("Sets the value in the entity", () => {
|
|
@@ -19,16 +20,17 @@ describe("Update Content Size", () => {
|
|
|
19
20
|
expect(baseApp.slideInfoContentHeight).toEqual(15);
|
|
20
21
|
});
|
|
21
22
|
it("Dispatches a state change", () => {
|
|
22
|
-
const { baseApp, updateSize,
|
|
23
|
+
const { baseApp, updateSize, doDispatchMock } = makeTestRig();
|
|
23
24
|
baseApp.slideInfoContentHeight = 10;
|
|
24
25
|
updateSize(15);
|
|
25
|
-
expect(
|
|
26
|
+
expect(doDispatchMock).toHaveBeenCalled();
|
|
26
27
|
});
|
|
27
28
|
it("Does not dispatches if there is no change.", () => {
|
|
28
|
-
const { baseApp, updateSize,
|
|
29
|
+
const { baseApp, updateSize, doDispatchMock } = makeTestRig();
|
|
30
|
+
doDispatchMock.mockClear(); // Clear previous mock calls
|
|
29
31
|
baseApp.slideInfoContentHeight = 10;
|
|
30
32
|
updateSize(10);
|
|
31
|
-
expect(
|
|
33
|
+
expect(doDispatchMock).not.toHaveBeenCalled();
|
|
32
34
|
});
|
|
33
35
|
it("Rounds the size up", () => {
|
|
34
36
|
const { baseApp, updateSize } = makeTestRig();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateContentSizeUC.test.js","sourceRoot":"","sources":["../../../../src/BaseApp/UC/UpdateContentSizeUC.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAC7F,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IACvC,MAAM,GAAG,GAAG,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,gBAAgB,CAAC,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"UpdateContentSizeUC.test.js","sourceRoot":"","sources":["../../../../src/BaseApp/UC/UpdateContentSizeUC.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAC7F,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IACvC,MAAM,GAAG,GAAG,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,gBAAgB,CAAC,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC;IAErE,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACjC,2BAA2B,CAAC,UAAU,CAAC,CAAC,UAAU,GAAG,cAAc,CAAA;IAEnE,MAAM,YAAY,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,YAAY,CAAC,iBAAiB,CAAC;IAElD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC;AACjD,CAAC;AAED,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QAE9C,OAAO,CAAC,sBAAsB,GAAG,EAAE,CAAC;QAEpC,UAAU,CAAC,EAAE,CAAC,CAAC;QAEf,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,WAAW,EAAE,CAAC;QAC9D,OAAO,CAAC,sBAAsB,GAAG,EAAE,CAAC;QAEpC,UAAU,CAAC,EAAE,CAAC,CAAC;QAEf,MAAM,CAAC,cAAc,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,WAAW,EAAE,CAAC;QAC9D,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,4BAA4B;QAExD,OAAO,CAAC,sBAAsB,GAAG,EAAE,CAAC;QAEpC,UAAU,CAAC,EAAE,CAAC,CAAC;QAEf,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC5B,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QAE9C,UAAU,CAAC,IAAI,CAAC,CAAC;QAEjB,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport { makeMockDispatchStateChange } from \"../../Dispatcher/Mocks/MockDispatchStateChange\";\r\nimport { makeBaseAppState } from \"../Entity\";\r\nimport { makeUpdateContentSizeUC } from \"./UpdateContentSizeUC\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n const app = appObjects.getOrCreate(\"app\");\r\n const baseApp = makeBaseAppState(appObjects.getOrCreate(\"Base App\"));\r\n\r\n const doDispatchMock = jest.fn();\r\n makeMockDispatchStateChange(appObjects).doDispatch = doDispatchMock\r\n\r\n const updateSizeUC = makeUpdateContentSizeUC(app);\r\n const updateSize = updateSizeUC.updateContentSize;\r\n\r\n return { baseApp, updateSize, doDispatchMock };\r\n}\r\n\r\ndescribe(\"Update Content Size\", () => {\r\n it(\"Sets the value in the entity\", () => {\r\n const { baseApp, updateSize } = makeTestRig();\r\n\r\n baseApp.slideInfoContentHeight = 10;\r\n\r\n updateSize(15);\r\n\r\n expect(baseApp.slideInfoContentHeight).toEqual(15);\r\n });\r\n\r\n it(\"Dispatches a state change\", () => {\r\n const { baseApp, updateSize, doDispatchMock } = makeTestRig();\r\n baseApp.slideInfoContentHeight = 10;\r\n\r\n updateSize(15);\r\n\r\n expect(doDispatchMock).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not dispatches if there is no change.\", () => {\r\n const { baseApp, updateSize, doDispatchMock } = makeTestRig();\r\n doDispatchMock.mockClear(); // Clear previous mock calls\r\n\r\n baseApp.slideInfoContentHeight = 10;\r\n\r\n updateSize(10);\r\n\r\n expect(doDispatchMock).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Rounds the size up\", () => {\r\n const { baseApp, updateSize } = makeTestRig();\r\n\r\n updateSize(15.1);\r\n\r\n expect(baseApp.slideInfoContentHeight).toEqual(16);\r\n });\r\n});\r\n"]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { AppObjectEntity, Quaternion, RangedNumber, Vector3 } from "@vived/core";
|
|
1
|
+
import { Angle, AppObjectEntity, Quaternion, RangedNumber, Vector3, } from "@vived/core";
|
|
2
2
|
import { Hideable } from "../../Hideable/Entities/Hideable";
|
|
3
3
|
import { LabelEntity } from "../../Label/Entities/LabelEntity";
|
|
4
|
-
import { OverlayColor, OverlayColorEnums } from "../../OverlayColor/Entities/OverlayColor";
|
|
5
|
-
import { makeSelectable } from "../../Selection/Entities/Selectable";
|
|
6
|
-
import { makeTransform3D } from "../../Transform3D/Entities/Transform3D";
|
|
4
|
+
import { OverlayColor, OverlayColorEnums, } from "../../OverlayColor/Entities/OverlayColor";
|
|
5
|
+
import { makeSelectable, } from "../../Selection/Entities/Selectable";
|
|
6
|
+
import { makeTransform3D, } from "../../Transform3D/Entities/Transform3D";
|
|
7
7
|
export const CALLOUT_MINIMUM_SIZE = 0.3;
|
|
8
8
|
export const CALLOUT_MAXIMUM_SIZE = 1.3;
|
|
9
9
|
export class CalloutEntity extends AppObjectEntity {
|
|
@@ -128,6 +128,7 @@ class CalloutImp extends CalloutEntity {
|
|
|
128
128
|
this.rootTransform.addChangeObserver(this.notifyOnChange);
|
|
129
129
|
const labelAO = appObject.appObjectRepo.getOrCreate(myID + "_label");
|
|
130
130
|
this.labelTransform = makeTransform3D(labelAO);
|
|
131
|
+
this.labelTransform.localRotation = Quaternion.FromYawPitchRoll(Angle.FromDegrees(180), Angle.FromDegrees(0), Angle.FromDegrees(0));
|
|
131
132
|
this.labelTransform.addChangeObserver(this.notifyOnChange);
|
|
132
133
|
}
|
|
133
134
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalloutEntity.js","sourceRoot":"","sources":["../../../../src/Callouts/Entities/CalloutEntity.ts"],"names":[],"mappings":"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","sourcesContent":["import {\r\n AppObject,\r\n AppObjectEntity,\r\n AppObjectRepo,\r\n Quaternion,\r\n QuaternionDTO,\r\n\r\n\r\n RangedNumber, Vector3,\r\n Vector3DTO\r\n} from \"@vived/core\";\r\nimport { Hideable } from \"../../Hideable/Entities/Hideable\";\r\nimport { LabelEntity } from \"../../Label/Entities/LabelEntity\";\r\nimport {\r\n OverlayColor,\r\n OverlayColorEnums\r\n} from \"../../OverlayColor/Entities/OverlayColor\";\r\nimport {\r\n makeSelectable,\r\n Selectable\r\n} from \"../../Selection/Entities/Selectable\";\r\nimport {\r\n makeTransform3D,\r\n Transform3D\r\n} from \"../../Transform3D/Entities/Transform3D\";\r\nimport { CalloutRepo } from \"./CalloutRepo\";\r\n\r\nexport const CALLOUT_MINIMUM_SIZE: number = 0.3;\r\nexport const CALLOUT_MAXIMUM_SIZE: number = 1.3;\r\n\r\nexport type CalloutOffsetDirection = \"LEFT\" | \"RIGHT\" | \"UP\" | \"DOWN\";\r\n\r\nexport interface CalloutDTO {\r\n id: string;\r\n rootPosition: Vector3DTO;\r\n rootRotation: QuaternionDTO;\r\n labelPosition: Vector3DTO;\r\n size: number;\r\n parentID: string;\r\n label: string;\r\n defaultLabel: string;\r\n color: string;\r\n}\r\n\r\nexport abstract class CalloutEntity extends AppObjectEntity {\r\n static readonly type = \"CALLOUT\";\r\n\r\n static get(appObj: AppObject): CalloutEntity | undefined {\r\n return appObj.getComponent<CalloutEntity>(this.type);\r\n }\r\n\r\n static getById(\r\n id: string,\r\n appObjects: AppObjectRepo\r\n ): CalloutEntity | undefined {\r\n return appObjects.get(id)?.getComponent<CalloutEntity>(this.type);\r\n }\r\n\r\n abstract get id(): string;\r\n abstract inRepo?: CalloutRepo;\r\n\r\n abstract readonly label: LabelEntity;\r\n abstract readonly rootTransform: Transform3D;\r\n abstract readonly labelTransform: Transform3D;\r\n abstract readonly hideable: Hideable;\r\n abstract readonly selectable: Selectable;\r\n abstract readonly overlayColor: OverlayColor;\r\n abstract readonly rangedSize: RangedNumber;\r\n\r\n abstract get size(): number;\r\n abstract set size(val: number);\r\n\r\n abstract get rootPosition(): Vector3;\r\n abstract set rootPosition(p: Vector3);\r\n\r\n abstract get rootRotation(): Quaternion;\r\n abstract set rootRotation(r: Quaternion);\r\n\r\n abstract get labelPosition(): Vector3;\r\n abstract set labelPosition(p: Vector3);\r\n\r\n abstract get labelRotation(): Quaternion;\r\n abstract set labelRotation(r: Quaternion);\r\n\r\n abstract get data(): CalloutDTO;\r\n abstract set data(dto: CalloutDTO);\r\n\r\n abstract get offsetDirection(): CalloutOffsetDirection;\r\n}\r\n\r\nexport function makeCalloutEntity(appObject: AppObject): CalloutEntity {\r\n return new CalloutImp(appObject);\r\n}\r\n\r\nclass CalloutImp extends CalloutEntity {\r\n readonly label: LabelEntity;\r\n readonly hideable: Hideable;\r\n readonly selectable: Selectable;\r\n readonly rootTransform: Transform3D;\r\n readonly labelTransform: Transform3D;\r\n readonly overlayColor: OverlayColor;\r\n readonly rangedSize: RangedNumber;\r\n\r\n get id() {\r\n return this.appObject.id;\r\n }\r\n\r\n get size(): number {\r\n return this.rangedSize.val;\r\n }\r\n set size(val: number) {\r\n this.rangedSize.val = val;\r\n }\r\n\r\n get rootPosition(): Vector3 {\r\n return this.rootTransform.localPosition;\r\n }\r\n set rootPosition(p: Vector3) {\r\n this.rootTransform.localPosition = p;\r\n }\r\n\r\n get rootRotation(): Quaternion {\r\n return this.rootTransform.localRotation;\r\n }\r\n set rootRotation(r: Quaternion) {\r\n this.rootTransform.localRotation = r;\r\n }\r\n\r\n get labelPosition(): Vector3 {\r\n return this.labelTransform.localPosition;\r\n }\r\n set labelPosition(p: Vector3) {\r\n this.labelTransform.localPosition = p;\r\n }\r\n\r\n get labelRotation(): Quaternion {\r\n return this.labelTransform.localRotation;\r\n }\r\n set labelRotation(r: Quaternion) {\r\n this.labelTransform.localRotation = r;\r\n }\r\n\r\n get offsetDirection(): CalloutOffsetDirection {\r\n const worldStartPos = this.rootTransform.worldPosition;\r\n const worldEndPos = this.labelTransform.worldPosition;\r\n const delta = Vector3.Subtract(worldEndPos, worldStartPos);\r\n\r\n let offsetDirection: CalloutOffsetDirection = \"LEFT\";\r\n if (Math.abs(delta.y) > Math.abs(delta.x)) {\r\n if (delta.y < 0) offsetDirection = \"DOWN\";\r\n else offsetDirection = \"UP\";\r\n } else {\r\n if (delta.x < 0) offsetDirection = \"LEFT\";\r\n else offsetDirection = \"RIGHT\";\r\n }\r\n\r\n return offsetDirection;\r\n }\r\n\r\n inRepo?: CalloutRepo;\r\n\r\n get data(): CalloutDTO {\r\n return {\r\n id: this.appObject.id,\r\n parentID: this.inRepo ? this.inRepo.appObject.id : \"\",\r\n rootPosition: this.rootPosition.dto,\r\n rootRotation: this.rootRotation.dto,\r\n labelPosition: this.labelPosition.dto,\r\n size: this.size,\r\n label: this.label.custom,\r\n defaultLabel: this.label.default,\r\n color: this.overlayColor.overlayColor,\r\n };\r\n }\r\n\r\n set data(dto: CalloutDTO) {\r\n this.rootPosition = Vector3.FromDTO(dto.rootPosition);\r\n this.rootRotation = Quaternion.FromDTO(dto.rootRotation);\r\n this.labelPosition = Vector3.FromDTO(dto.labelPosition);\r\n this.size = dto.size;\r\n this.label.custom = dto.label;\r\n this.label.default = dto.defaultLabel;\r\n const overlayColor = dto.color as OverlayColorEnums;\r\n this.overlayColor.overlayColor = overlayColor ?? OverlayColorEnums.WHITE;\r\n }\r\n\r\n dispose = () => {\r\n super.dispose();\r\n this.label.dispose();\r\n this.hideable.dispose();\r\n this.selectable.dispose();\r\n this.overlayColor.dispose();\r\n this.labelTransform.appObject.dispose();\r\n this.rootTransform.appObject.dispose();\r\n\r\n if (this.inRepo) {\r\n this.inRepo.removeForAppObject(this.appObject.id);\r\n }\r\n };\r\n\r\n constructor(appObject: AppObject) {\r\n super(appObject, CalloutEntity.type);\r\n\r\n this.label = LabelEntity.addIfMissing(appObject);\r\n this.label.addChangeObserver(this.notifyOnChange);\r\n\r\n this.hideable = Hideable.addIfMissing(appObject);\r\n this.hideable.addChangeObserver(this.notifyOnChange);\r\n\r\n this.overlayColor = OverlayColor.addIfMissing(appObject);\r\n this.overlayColor.addChangeObserver(this.notifyOnChange);\r\n\r\n this.selectable = makeSelectable(appObject);\r\n this.selectable.addChangeObserver(this.notifyOnChange);\r\n\r\n this.rangedSize = new RangedNumber(\r\n {\r\n min: CALLOUT_MINIMUM_SIZE,\r\n max: CALLOUT_MAXIMUM_SIZE,\r\n initialValue:\r\n CALLOUT_MINIMUM_SIZE +\r\n 0.5 * (CALLOUT_MAXIMUM_SIZE - CALLOUT_MINIMUM_SIZE),\r\n },\r\n this.notifyOnChange\r\n );\r\n\r\n const myID = appObject.id;\r\n const rootAO = appObject.appObjectRepo.getOrCreate(myID + \"_root\");\r\n this.rootTransform = makeTransform3D(rootAO);\r\n this.rootTransform.addChangeObserver(this.notifyOnChange);\r\n\r\n const labelAO = appObject.appObjectRepo.getOrCreate(myID + \"_label\");\r\n this.labelTransform = makeTransform3D(labelAO);\r\n this.labelTransform.addChangeObserver(this.notifyOnChange);\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"CalloutEntity.js","sourceRoot":"","sources":["../../../../src/Callouts/Entities/CalloutEntity.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EAEL,eAAe,EAEf,UAAU,EAEV,YAAY,EACZ,OAAO,GAER,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EACL,YAAY,EACZ,iBAAiB,GAClB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACL,cAAc,GAEf,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,eAAe,GAEhB,MAAM,wCAAwC,CAAC;AAGhD,MAAM,CAAC,MAAM,oBAAoB,GAAW,GAAG,CAAC;AAChD,MAAM,CAAC,MAAM,oBAAoB,GAAW,GAAG,CAAC;AAgBhD,MAAM,OAAgB,aAAc,SAAQ,eAAe;IAGzD,MAAM,CAAC,GAAG,CAAC,MAAiB;QAC1B,OAAO,MAAM,CAAC,YAAY,CAAgB,IAAI,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,CAAC,OAAO,CACZ,EAAU,EACV,UAAyB;QAEzB,OAAO,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,YAAY,CAAgB,IAAI,CAAC,IAAI,CAAC,CAAC;IACpE,CAAC;;AAXe,kBAAI,GAAG,SAAS,CAAC;AA6CnC,MAAM,UAAU,iBAAiB,CAAC,SAAoB;IACpD,OAAO,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAW,SAAQ,aAAa;IASpC,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;IAC3B,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;IAC7B,CAAC;IACD,IAAI,IAAI,CAAC,GAAW;QAClB,IAAI,CAAC,UAAU,CAAC,GAAG,GAAG,GAAG,CAAC;IAC5B,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC;IAC1C,CAAC;IACD,IAAI,YAAY,CAAC,CAAU;QACzB,IAAI,CAAC,aAAa,CAAC,aAAa,GAAG,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC;IAC1C,CAAC;IACD,IAAI,YAAY,CAAC,CAAa;QAC5B,IAAI,CAAC,aAAa,CAAC,aAAa,GAAG,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC;IAC3C,CAAC;IACD,IAAI,aAAa,CAAC,CAAU;QAC1B,IAAI,CAAC,cAAc,CAAC,aAAa,GAAG,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC;IAC3C,CAAC;IACD,IAAI,aAAa,CAAC,CAAa;QAC7B,IAAI,CAAC,cAAc,CAAC,aAAa,GAAG,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,eAAe;QACjB,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC;QACvD,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC;QACtD,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QAE3D,IAAI,eAAe,GAA2B,MAAM,CAAC;QACrD,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1C,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC;gBAAE,eAAe,GAAG,MAAM,CAAC;;gBACrC,eAAe,GAAG,IAAI,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC;gBAAE,eAAe,GAAG,MAAM,CAAC;;gBACrC,eAAe,GAAG,OAAO,CAAC;QACjC,CAAC;QAED,OAAO,eAAe,CAAC;IACzB,CAAC;IAID,IAAI,IAAI;QACN,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE;YACrB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;YACrD,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG;YACnC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG;YACnC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG;YACrC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;YACxB,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO;YAChC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,YAAY;SACtC,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,CAAC,GAAe;QACtB,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACtD,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACzD,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACxD,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACrB,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC;QAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC,YAAY,CAAC;QACtC,MAAM,YAAY,GAAG,GAAG,CAAC,KAA0B,CAAC;QACpD,IAAI,CAAC,YAAY,CAAC,YAAY,GAAG,YAAY,IAAI,iBAAiB,CAAC,KAAK,CAAC;IAC3E,CAAC;IAgBD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;QAfvC,YAAO,GAAG,GAAG,EAAE;YACb,KAAK,CAAC,OAAO,EAAE,CAAC;YAChB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YACxC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YAEvC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YACpD,CAAC;QACH,CAAC,CAAC;QAKA,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAElD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAErD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QACzD,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAEzD,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;QAC5C,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAEvD,IAAI,CAAC,UAAU,GAAG,IAAI,YAAY,CAChC;YACE,GAAG,EAAE,oBAAoB;YACzB,GAAG,EAAE,oBAAoB;YACzB,YAAY,EACV,oBAAoB;gBACpB,GAAG,GAAG,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;SACtD,EACD,IAAI,CAAC,cAAc,CACpB,CAAC;QAEF,MAAM,IAAI,GAAG,SAAS,CAAC,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,SAAS,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC;QACnE,IAAI,CAAC,aAAa,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAE1D,MAAM,OAAO,GAAG,SAAS,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC;QACrE,IAAI,CAAC,cAAc,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,CAAC,cAAc,CAAC,aAAa,GAAG,UAAU,CAAC,gBAAgB,CAC7D,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,EACtB,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EACpB,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CACrB,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC7D,CAAC;CACF","sourcesContent":["import {\r\n Angle,\r\n AppObject,\r\n AppObjectEntity,\r\n AppObjectRepo,\r\n Quaternion,\r\n QuaternionDTO,\r\n RangedNumber,\r\n Vector3,\r\n Vector3DTO,\r\n} from \"@vived/core\";\r\nimport { Hideable } from \"../../Hideable/Entities/Hideable\";\r\nimport { LabelEntity } from \"../../Label/Entities/LabelEntity\";\r\nimport {\r\n OverlayColor,\r\n OverlayColorEnums,\r\n} from \"../../OverlayColor/Entities/OverlayColor\";\r\nimport {\r\n makeSelectable,\r\n Selectable,\r\n} from \"../../Selection/Entities/Selectable\";\r\nimport {\r\n makeTransform3D,\r\n Transform3D,\r\n} from \"../../Transform3D/Entities/Transform3D\";\r\nimport { CalloutRepo } from \"./CalloutRepo\";\r\n\r\nexport const CALLOUT_MINIMUM_SIZE: number = 0.3;\r\nexport const CALLOUT_MAXIMUM_SIZE: number = 1.3;\r\n\r\nexport type CalloutOffsetDirection = \"LEFT\" | \"RIGHT\" | \"UP\" | \"DOWN\";\r\n\r\nexport interface CalloutDTO {\r\n id: string;\r\n rootPosition: Vector3DTO;\r\n rootRotation: QuaternionDTO;\r\n labelPosition: Vector3DTO;\r\n size: number;\r\n parentID: string;\r\n label: string;\r\n defaultLabel: string;\r\n color: string;\r\n}\r\n\r\nexport abstract class CalloutEntity extends AppObjectEntity {\r\n static readonly type = \"CALLOUT\";\r\n\r\n static get(appObj: AppObject): CalloutEntity | undefined {\r\n return appObj.getComponent<CalloutEntity>(this.type);\r\n }\r\n\r\n static getById(\r\n id: string,\r\n appObjects: AppObjectRepo\r\n ): CalloutEntity | undefined {\r\n return appObjects.get(id)?.getComponent<CalloutEntity>(this.type);\r\n }\r\n\r\n abstract get id(): string;\r\n abstract inRepo?: CalloutRepo;\r\n\r\n abstract readonly label: LabelEntity;\r\n abstract readonly rootTransform: Transform3D;\r\n abstract readonly labelTransform: Transform3D;\r\n abstract readonly hideable: Hideable;\r\n abstract readonly selectable: Selectable;\r\n abstract readonly overlayColor: OverlayColor;\r\n abstract readonly rangedSize: RangedNumber;\r\n\r\n abstract get size(): number;\r\n abstract set size(val: number);\r\n\r\n abstract get rootPosition(): Vector3;\r\n abstract set rootPosition(p: Vector3);\r\n\r\n abstract get rootRotation(): Quaternion;\r\n abstract set rootRotation(r: Quaternion);\r\n\r\n abstract get labelPosition(): Vector3;\r\n abstract set labelPosition(p: Vector3);\r\n\r\n abstract get labelRotation(): Quaternion;\r\n abstract set labelRotation(r: Quaternion);\r\n\r\n abstract get data(): CalloutDTO;\r\n abstract set data(dto: CalloutDTO);\r\n\r\n abstract get offsetDirection(): CalloutOffsetDirection;\r\n}\r\n\r\nexport function makeCalloutEntity(appObject: AppObject): CalloutEntity {\r\n return new CalloutImp(appObject);\r\n}\r\n\r\nclass CalloutImp extends CalloutEntity {\r\n readonly label: LabelEntity;\r\n readonly hideable: Hideable;\r\n readonly selectable: Selectable;\r\n readonly rootTransform: Transform3D;\r\n readonly labelTransform: Transform3D;\r\n readonly overlayColor: OverlayColor;\r\n readonly rangedSize: RangedNumber;\r\n\r\n get id() {\r\n return this.appObject.id;\r\n }\r\n\r\n get size(): number {\r\n return this.rangedSize.val;\r\n }\r\n set size(val: number) {\r\n this.rangedSize.val = val;\r\n }\r\n\r\n get rootPosition(): Vector3 {\r\n return this.rootTransform.localPosition;\r\n }\r\n set rootPosition(p: Vector3) {\r\n this.rootTransform.localPosition = p;\r\n }\r\n\r\n get rootRotation(): Quaternion {\r\n return this.rootTransform.localRotation;\r\n }\r\n set rootRotation(r: Quaternion) {\r\n this.rootTransform.localRotation = r;\r\n }\r\n\r\n get labelPosition(): Vector3 {\r\n return this.labelTransform.localPosition;\r\n }\r\n set labelPosition(p: Vector3) {\r\n this.labelTransform.localPosition = p;\r\n }\r\n\r\n get labelRotation(): Quaternion {\r\n return this.labelTransform.localRotation;\r\n }\r\n set labelRotation(r: Quaternion) {\r\n this.labelTransform.localRotation = r;\r\n }\r\n\r\n get offsetDirection(): CalloutOffsetDirection {\r\n const worldStartPos = this.rootTransform.worldPosition;\r\n const worldEndPos = this.labelTransform.worldPosition;\r\n const delta = Vector3.Subtract(worldEndPos, worldStartPos);\r\n\r\n let offsetDirection: CalloutOffsetDirection = \"LEFT\";\r\n if (Math.abs(delta.y) > Math.abs(delta.x)) {\r\n if (delta.y < 0) offsetDirection = \"DOWN\";\r\n else offsetDirection = \"UP\";\r\n } else {\r\n if (delta.x < 0) offsetDirection = \"LEFT\";\r\n else offsetDirection = \"RIGHT\";\r\n }\r\n\r\n return offsetDirection;\r\n }\r\n\r\n inRepo?: CalloutRepo;\r\n\r\n get data(): CalloutDTO {\r\n return {\r\n id: this.appObject.id,\r\n parentID: this.inRepo ? this.inRepo.appObject.id : \"\",\r\n rootPosition: this.rootPosition.dto,\r\n rootRotation: this.rootRotation.dto,\r\n labelPosition: this.labelPosition.dto,\r\n size: this.size,\r\n label: this.label.custom,\r\n defaultLabel: this.label.default,\r\n color: this.overlayColor.overlayColor,\r\n };\r\n }\r\n\r\n set data(dto: CalloutDTO) {\r\n this.rootPosition = Vector3.FromDTO(dto.rootPosition);\r\n this.rootRotation = Quaternion.FromDTO(dto.rootRotation);\r\n this.labelPosition = Vector3.FromDTO(dto.labelPosition);\r\n this.size = dto.size;\r\n this.label.custom = dto.label;\r\n this.label.default = dto.defaultLabel;\r\n const overlayColor = dto.color as OverlayColorEnums;\r\n this.overlayColor.overlayColor = overlayColor ?? OverlayColorEnums.WHITE;\r\n }\r\n\r\n dispose = () => {\r\n super.dispose();\r\n this.label.dispose();\r\n this.hideable.dispose();\r\n this.selectable.dispose();\r\n this.overlayColor.dispose();\r\n this.labelTransform.appObject.dispose();\r\n this.rootTransform.appObject.dispose();\r\n\r\n if (this.inRepo) {\r\n this.inRepo.removeForAppObject(this.appObject.id);\r\n }\r\n };\r\n\r\n constructor(appObject: AppObject) {\r\n super(appObject, CalloutEntity.type);\r\n\r\n this.label = LabelEntity.addIfMissing(appObject);\r\n this.label.addChangeObserver(this.notifyOnChange);\r\n\r\n this.hideable = Hideable.addIfMissing(appObject);\r\n this.hideable.addChangeObserver(this.notifyOnChange);\r\n\r\n this.overlayColor = OverlayColor.addIfMissing(appObject);\r\n this.overlayColor.addChangeObserver(this.notifyOnChange);\r\n\r\n this.selectable = makeSelectable(appObject);\r\n this.selectable.addChangeObserver(this.notifyOnChange);\r\n\r\n this.rangedSize = new RangedNumber(\r\n {\r\n min: CALLOUT_MINIMUM_SIZE,\r\n max: CALLOUT_MAXIMUM_SIZE,\r\n initialValue:\r\n CALLOUT_MINIMUM_SIZE +\r\n 0.5 * (CALLOUT_MAXIMUM_SIZE - CALLOUT_MINIMUM_SIZE),\r\n },\r\n this.notifyOnChange\r\n );\r\n\r\n const myID = appObject.id;\r\n const rootAO = appObject.appObjectRepo.getOrCreate(myID + \"_root\");\r\n this.rootTransform = makeTransform3D(rootAO);\r\n this.rootTransform.addChangeObserver(this.notifyOnChange);\r\n\r\n const labelAO = appObject.appObjectRepo.getOrCreate(myID + \"_label\");\r\n this.labelTransform = makeTransform3D(labelAO);\r\n this.labelTransform.localRotation = Quaternion.FromYawPitchRoll(\r\n Angle.FromDegrees(180),\r\n Angle.FromDegrees(0),\r\n Angle.FromDegrees(0)\r\n );\r\n this.labelTransform.addChangeObserver(this.notifyOnChange);\r\n }\r\n}\r\n"]}
|
|
@@ -112,7 +112,7 @@ describe("Callout Entity", () => {
|
|
|
112
112
|
});
|
|
113
113
|
it("Sets and gets the labelRotation", () => {
|
|
114
114
|
const { callout, observer } = makeTestRig();
|
|
115
|
-
expect(Quaternion.Close(callout.labelRotation, Quaternion.
|
|
115
|
+
expect(Quaternion.Close(callout.labelRotation, Quaternion.FromYawPitchRoll(Angle.FromDegrees(180), Angle.FromDegrees(0), Angle.FromDegrees(0)))).toEqual(true);
|
|
116
116
|
const newQ = Quaternion.FromYawPitchRoll(Angle.FromDegrees(10), Angle.FromDegrees(20), Angle.FromDegrees(30));
|
|
117
117
|
callout.labelRotation = newQ;
|
|
118
118
|
expect(Quaternion.Close(callout.labelRotation, newQ)).toEqual(true);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalloutEntity.test.js","sourceRoot":"","sources":["../../../../src/Callouts/Entities/CalloutEntity.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { Angle, makeAppObjectRepo, Quaternion, Vector3 } from \"@vived/core\";\r\nimport { OverlayColorEnums } from \"../../OverlayColor/Entities/OverlayColor\";\r\nimport { CalloutEntity, makeCalloutEntity } from \"./CalloutEntity\";\r\nimport { makeCalloutRepoEntity } from \"./CalloutRepo\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n\r\n const calloutAO = appObjects.getOrCreate(\"calloutID\");\r\n const callout = makeCalloutEntity(calloutAO);\r\n const observer = jest.fn();\r\n callout.addChangeObserver(observer);\r\n\r\n const repoAO = appObjects.getOrCreate(\"repo\");\r\n const repo = makeCalloutRepoEntity(repoAO);\r\n repo.add(callout);\r\n callout.inRepo = repo;\r\n\r\n return { callout, appObjects, observer, repo };\r\n}\r\n\r\ndescribe(\"Callout Entity\", () => {\r\n it(\"Gets the entoty for the App Object\", () => {\r\n const { callout, appObjects } = makeTestRig();\r\n\r\n expect(CalloutEntity.getById(\"calloutID\", appObjects)).toEqual(callout);\r\n });\r\n\r\n it(\"Notifies when the Label changes\", () => {\r\n const { callout, observer } = makeTestRig();\r\n observer.mockClear();\r\n callout.label.notifyOnChange();\r\n\r\n expect(observer).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Disposes the label\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.label.dispose = jest.fn();\r\n\r\n callout.dispose();\r\n\r\n expect(callout.label.dispose).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Notifies when the hideable changes\", () => {\r\n const { callout, observer } = makeTestRig();\r\n observer.mockClear();\r\n\r\n callout.hideable.notifyOnChange();\r\n\r\n expect(observer).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Disposes the hideable\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.hideable.dispose = jest.fn();\r\n\r\n callout.dispose();\r\n\r\n expect(callout.hideable.dispose).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Notifies when the selectable changes\", () => {\r\n const { callout, observer } = makeTestRig();\r\n observer.mockClear();\r\n\r\n callout.selectable.notifyOnChange();\r\n\r\n expect(observer).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Disposes the selectable\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.selectable.dispose = jest.fn();\r\n\r\n callout.dispose();\r\n\r\n expect(callout.selectable.dispose).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Removes itself from the repo\", () => {\r\n const { callout, repo } = makeTestRig();\r\n\r\n expect(repo.hasForAppObject(callout.appObject.id)).toEqual(true);\r\n\r\n callout.dispose();\r\n\r\n expect(repo.hasForAppObject(callout.appObject.id)).toEqual(false);\r\n });\r\n\r\n it(\"Notifies when the root transform changes\", () => {\r\n const { callout, observer } = makeTestRig();\r\n observer.mockClear();\r\n\r\n callout.rootTransform.notifyOnChange();\r\n\r\n expect(observer).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Disposes the root rootTransform\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.rootTransform.dispose = jest.fn();\r\n\r\n callout.dispose();\r\n\r\n expect(callout.rootTransform.dispose).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Notifies when the label transform changes\", () => {\r\n const { callout, observer } = makeTestRig();\r\n observer.mockClear();\r\n\r\n callout.labelTransform.notifyOnChange();\r\n\r\n expect(observer).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Disposes the label rootTransform\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.labelTransform.dispose = jest.fn();\r\n\r\n callout.dispose();\r\n\r\n expect(callout.labelTransform.dispose).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Sets and gets the rootPosition\", () => {\r\n const { callout, observer } = makeTestRig();\r\n\r\n expect(callout.rootPosition).toEqual(Vector3.Zero());\r\n\r\n callout.rootPosition = new Vector3(1, 2, 3);\r\n\r\n expect(callout.rootPosition).toEqual(new Vector3(1, 2, 3));\r\n expect(callout.rootTransform.localPosition).toEqual(new Vector3(1, 2, 3));\r\n expect(observer).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Sets and gets the rootRotation\", () => {\r\n const { callout, observer } = makeTestRig();\r\n\r\n expect(\r\n Quaternion.Close(callout.rootRotation, Quaternion.Identity())\r\n ).toEqual(true);\r\n const newQ = Quaternion.FromYawPitchRoll(\r\n Angle.FromDegrees(10),\r\n Angle.FromDegrees(20),\r\n Angle.FromDegrees(30)\r\n );\r\n\r\n callout.rootRotation = newQ;\r\n\r\n expect(Quaternion.Close(callout.rootRotation, newQ)).toEqual(true);\r\n expect(Quaternion.Close(callout.rootTransform.localRotation, newQ)).toEqual(\r\n true\r\n );\r\n expect(observer).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Sets and gets the labelPosition\", () => {\r\n const { callout, observer } = makeTestRig();\r\n\r\n expect(callout.labelPosition).toEqual(Vector3.Zero());\r\n\r\n callout.labelPosition = new Vector3(1, 2, 3);\r\n\r\n expect(callout.labelPosition).toEqual(new Vector3(1, 2, 3));\r\n expect(callout.labelTransform.localPosition).toEqual(new Vector3(1, 2, 3));\r\n expect(observer).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Sets and gets the labelRotation\", () => {\r\n const { callout, observer } = makeTestRig();\r\n\r\n expect(\r\n Quaternion.Close(callout.labelRotation, Quaternion.Identity())\r\n ).toEqual(true);\r\n const newQ = Quaternion.FromYawPitchRoll(\r\n Angle.FromDegrees(10),\r\n Angle.FromDegrees(20),\r\n Angle.FromDegrees(30)\r\n );\r\n\r\n callout.labelRotation = newQ;\r\n\r\n expect(Quaternion.Close(callout.labelRotation, newQ)).toEqual(true);\r\n expect(\r\n Quaternion.Close(callout.labelTransform.localRotation, newQ)\r\n ).toEqual(true);\r\n expect(observer).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Sets the dto id\", () => {\r\n const { callout } = makeTestRig();\r\n expect(callout.data.id).toEqual(\"calloutID\");\r\n });\r\n\r\n it(\"Sets the dto parent\", () => {\r\n const { callout } = makeTestRig();\r\n expect(callout.data.parentID).toEqual(\"repo\");\r\n });\r\n\r\n it(\"Sets the dto root position\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.rootPosition = new Vector3(1, 2, 3);\r\n\r\n expect(callout.data.rootPosition).toEqual(callout.rootPosition.dto);\r\n });\r\n\r\n it(\"Sets the dto root rotation\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.rootRotation = Quaternion.FromYawPitchRoll(\r\n Angle.FromDegrees(10),\r\n Angle.FromDegrees(20),\r\n Angle.FromDegrees(30)\r\n );\r\n\r\n expect(callout.data.rootRotation).toEqual(callout.rootRotation.dto);\r\n });\r\n\r\n it(\"Sets the dto label position\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.labelPosition = new Vector3(1, 2, 3);\r\n\r\n expect(callout.data.labelPosition).toEqual(callout.labelPosition.dto);\r\n });\r\n\r\n it(\"Sets the dto label\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.label.custom = \"custom label\";\r\n\r\n expect(callout.data.label).toEqual(\"custom label\");\r\n });\r\n\r\n it(\"Sets the dto default label\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.label.default = \"default label\";\r\n\r\n expect(callout.data.defaultLabel).toEqual(\"default label\");\r\n });\r\n\r\n it(\"Sets the dto color\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.overlayColor.overlayColor = OverlayColorEnums.RED;\r\n\r\n expect(callout.data.color).toEqual(\"Red\");\r\n });\r\n\r\n it(\"Applies the dto root position\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.data = {\r\n id: \"calloutID\",\r\n parentID: \"repo\",\r\n rootPosition: new Vector3(1, 2, 3).dto,\r\n rootRotation: Quaternion.FromYawPitchRoll(\r\n Angle.FromDegrees(10),\r\n Angle.FromDegrees(20),\r\n Angle.FromDegrees(30)\r\n ).dto,\r\n labelPosition: new Vector3(4, 5, 6).dto,\r\n defaultLabel: \"default label\",\r\n label: \"custom label\",\r\n size: 5,\r\n color: \"Red\",\r\n };\r\n\r\n expect(callout.rootPosition).toEqual(new Vector3(1, 2, 3));\r\n });\r\n\r\n it(\"Applies the dto root rotation\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.data = {\r\n id: \"calloutID\",\r\n parentID: \"repo\",\r\n rootPosition: new Vector3(1, 2, 3).dto,\r\n rootRotation: Quaternion.FromYawPitchRoll(\r\n Angle.FromDegrees(10),\r\n Angle.FromDegrees(20),\r\n Angle.FromDegrees(30)\r\n ).dto,\r\n labelPosition: new Vector3(4, 5, 6).dto,\r\n defaultLabel: \"default label\",\r\n label: \"custom label\",\r\n size: 5,\r\n color: \"Red\",\r\n };\r\n\r\n expect(\r\n Quaternion.Close(\r\n callout.rootRotation,\r\n Quaternion.FromYawPitchRoll(\r\n Angle.FromDegrees(10),\r\n Angle.FromDegrees(20),\r\n Angle.FromDegrees(30)\r\n )\r\n )\r\n ).toEqual(true);\r\n });\r\n\r\n it(\"Applies the dto label position\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.data = {\r\n id: \"calloutID\",\r\n parentID: \"repo\",\r\n rootPosition: new Vector3(1, 2, 3).dto,\r\n rootRotation: Quaternion.FromYawPitchRoll(\r\n Angle.FromDegrees(10),\r\n Angle.FromDegrees(20),\r\n Angle.FromDegrees(30)\r\n ).dto,\r\n labelPosition: new Vector3(4, 5, 6).dto,\r\n defaultLabel: \"default label\",\r\n label: \"custom label\",\r\n size: 5,\r\n color: \"Red\",\r\n };\r\n\r\n expect(callout.labelPosition).toEqual(new Vector3(4, 5, 6));\r\n });\r\n\r\n it(\"Applies the dto label\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.data = {\r\n id: \"calloutID\",\r\n parentID: \"repo\",\r\n rootPosition: new Vector3(1, 2, 3).dto,\r\n rootRotation: Quaternion.FromYawPitchRoll(\r\n Angle.FromDegrees(10),\r\n Angle.FromDegrees(20),\r\n Angle.FromDegrees(30)\r\n ).dto,\r\n labelPosition: new Vector3(4, 5, 6).dto,\r\n defaultLabel: \"default label\",\r\n label: \"custom label\",\r\n size: 5,\r\n color: \"Red\",\r\n };\r\n\r\n expect(callout.label.custom).toEqual(\"custom label\");\r\n });\r\n\r\n it(\"Applies the dto default label\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.data = {\r\n id: \"calloutID\",\r\n parentID: \"repo\",\r\n rootPosition: new Vector3(1, 2, 3).dto,\r\n rootRotation: Quaternion.FromYawPitchRoll(\r\n Angle.FromDegrees(10),\r\n Angle.FromDegrees(20),\r\n Angle.FromDegrees(30)\r\n ).dto,\r\n labelPosition: new Vector3(4, 5, 6).dto,\r\n defaultLabel: \"default label\",\r\n label: \"custom label\",\r\n size: 5,\r\n color: \"Red\",\r\n };\r\n\r\n expect(callout.label.default).toEqual(\"default label\");\r\n });\r\n\r\n it(\"Applies the dto color\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.data = {\r\n id: \"calloutID\",\r\n parentID: \"repo\",\r\n rootPosition: new Vector3(1, 2, 3).dto,\r\n rootRotation: Quaternion.FromYawPitchRoll(\r\n Angle.FromDegrees(10),\r\n Angle.FromDegrees(20),\r\n Angle.FromDegrees(30)\r\n ).dto,\r\n labelPosition: new Vector3(4, 5, 6).dto,\r\n defaultLabel: \"default label\",\r\n label: \"custom label\",\r\n size: 5,\r\n color: \"Red\",\r\n };\r\n\r\n expect(callout.overlayColor.overlayColor).toEqual(OverlayColorEnums.RED);\r\n });\r\n});\r\n"]}
|
|
1
|
+
{"version":3,"file":"CalloutEntity.test.js","sourceRoot":"","sources":["../../../../src/Callouts/Entities/CalloutEntity.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { Angle, makeAppObjectRepo, Quaternion, Vector3 } from \"@vived/core\";\r\nimport { OverlayColorEnums } from \"../../OverlayColor/Entities/OverlayColor\";\r\nimport { CalloutEntity, makeCalloutEntity } from \"./CalloutEntity\";\r\nimport { makeCalloutRepoEntity } from \"./CalloutRepo\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n\r\n const calloutAO = appObjects.getOrCreate(\"calloutID\");\r\n const callout = makeCalloutEntity(calloutAO);\r\n const observer = jest.fn();\r\n callout.addChangeObserver(observer);\r\n\r\n const repoAO = appObjects.getOrCreate(\"repo\");\r\n const repo = makeCalloutRepoEntity(repoAO);\r\n repo.add(callout);\r\n callout.inRepo = repo;\r\n\r\n return { callout, appObjects, observer, repo };\r\n}\r\n\r\ndescribe(\"Callout Entity\", () => {\r\n it(\"Gets the entoty for the App Object\", () => {\r\n const { callout, appObjects } = makeTestRig();\r\n\r\n expect(CalloutEntity.getById(\"calloutID\", appObjects)).toEqual(callout);\r\n });\r\n\r\n it(\"Notifies when the Label changes\", () => {\r\n const { callout, observer } = makeTestRig();\r\n observer.mockClear();\r\n callout.label.notifyOnChange();\r\n\r\n expect(observer).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Disposes the label\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.label.dispose = jest.fn();\r\n\r\n callout.dispose();\r\n\r\n expect(callout.label.dispose).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Notifies when the hideable changes\", () => {\r\n const { callout, observer } = makeTestRig();\r\n observer.mockClear();\r\n\r\n callout.hideable.notifyOnChange();\r\n\r\n expect(observer).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Disposes the hideable\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.hideable.dispose = jest.fn();\r\n\r\n callout.dispose();\r\n\r\n expect(callout.hideable.dispose).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Notifies when the selectable changes\", () => {\r\n const { callout, observer } = makeTestRig();\r\n observer.mockClear();\r\n\r\n callout.selectable.notifyOnChange();\r\n\r\n expect(observer).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Disposes the selectable\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.selectable.dispose = jest.fn();\r\n\r\n callout.dispose();\r\n\r\n expect(callout.selectable.dispose).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Removes itself from the repo\", () => {\r\n const { callout, repo } = makeTestRig();\r\n\r\n expect(repo.hasForAppObject(callout.appObject.id)).toEqual(true);\r\n\r\n callout.dispose();\r\n\r\n expect(repo.hasForAppObject(callout.appObject.id)).toEqual(false);\r\n });\r\n\r\n it(\"Notifies when the root transform changes\", () => {\r\n const { callout, observer } = makeTestRig();\r\n observer.mockClear();\r\n\r\n callout.rootTransform.notifyOnChange();\r\n\r\n expect(observer).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Disposes the root rootTransform\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.rootTransform.dispose = jest.fn();\r\n\r\n callout.dispose();\r\n\r\n expect(callout.rootTransform.dispose).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Notifies when the label transform changes\", () => {\r\n const { callout, observer } = makeTestRig();\r\n observer.mockClear();\r\n\r\n callout.labelTransform.notifyOnChange();\r\n\r\n expect(observer).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Disposes the label rootTransform\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.labelTransform.dispose = jest.fn();\r\n\r\n callout.dispose();\r\n\r\n expect(callout.labelTransform.dispose).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Sets and gets the rootPosition\", () => {\r\n const { callout, observer } = makeTestRig();\r\n\r\n expect(callout.rootPosition).toEqual(Vector3.Zero());\r\n\r\n callout.rootPosition = new Vector3(1, 2, 3);\r\n\r\n expect(callout.rootPosition).toEqual(new Vector3(1, 2, 3));\r\n expect(callout.rootTransform.localPosition).toEqual(new Vector3(1, 2, 3));\r\n expect(observer).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Sets and gets the rootRotation\", () => {\r\n const { callout, observer } = makeTestRig();\r\n\r\n expect(\r\n Quaternion.Close(callout.rootRotation, Quaternion.Identity())\r\n ).toEqual(true);\r\n const newQ = Quaternion.FromYawPitchRoll(\r\n Angle.FromDegrees(10),\r\n Angle.FromDegrees(20),\r\n Angle.FromDegrees(30)\r\n );\r\n\r\n callout.rootRotation = newQ;\r\n\r\n expect(Quaternion.Close(callout.rootRotation, newQ)).toEqual(true);\r\n expect(Quaternion.Close(callout.rootTransform.localRotation, newQ)).toEqual(\r\n true\r\n );\r\n expect(observer).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Sets and gets the labelPosition\", () => {\r\n const { callout, observer } = makeTestRig();\r\n\r\n expect(callout.labelPosition).toEqual(Vector3.Zero());\r\n\r\n callout.labelPosition = new Vector3(1, 2, 3);\r\n\r\n expect(callout.labelPosition).toEqual(new Vector3(1, 2, 3));\r\n expect(callout.labelTransform.localPosition).toEqual(new Vector3(1, 2, 3));\r\n expect(observer).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Sets and gets the labelRotation\", () => {\r\n const { callout, observer } = makeTestRig();\r\n\r\n expect(\r\n Quaternion.Close(\r\n callout.labelRotation,\r\n Quaternion.FromYawPitchRoll(\r\n Angle.FromDegrees(180),\r\n Angle.FromDegrees(0),\r\n Angle.FromDegrees(0)\r\n )\r\n )\r\n ).toEqual(true);\r\n const newQ = Quaternion.FromYawPitchRoll(\r\n Angle.FromDegrees(10),\r\n Angle.FromDegrees(20),\r\n Angle.FromDegrees(30)\r\n );\r\n\r\n callout.labelRotation = newQ;\r\n\r\n expect(Quaternion.Close(callout.labelRotation, newQ)).toEqual(true);\r\n expect(\r\n Quaternion.Close(callout.labelTransform.localRotation, newQ)\r\n ).toEqual(true);\r\n expect(observer).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Sets the dto id\", () => {\r\n const { callout } = makeTestRig();\r\n expect(callout.data.id).toEqual(\"calloutID\");\r\n });\r\n\r\n it(\"Sets the dto parent\", () => {\r\n const { callout } = makeTestRig();\r\n expect(callout.data.parentID).toEqual(\"repo\");\r\n });\r\n\r\n it(\"Sets the dto root position\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.rootPosition = new Vector3(1, 2, 3);\r\n\r\n expect(callout.data.rootPosition).toEqual(callout.rootPosition.dto);\r\n });\r\n\r\n it(\"Sets the dto root rotation\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.rootRotation = Quaternion.FromYawPitchRoll(\r\n Angle.FromDegrees(10),\r\n Angle.FromDegrees(20),\r\n Angle.FromDegrees(30)\r\n );\r\n\r\n expect(callout.data.rootRotation).toEqual(callout.rootRotation.dto);\r\n });\r\n\r\n it(\"Sets the dto label position\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.labelPosition = new Vector3(1, 2, 3);\r\n\r\n expect(callout.data.labelPosition).toEqual(callout.labelPosition.dto);\r\n });\r\n\r\n it(\"Sets the dto label\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.label.custom = \"custom label\";\r\n\r\n expect(callout.data.label).toEqual(\"custom label\");\r\n });\r\n\r\n it(\"Sets the dto default label\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.label.default = \"default label\";\r\n\r\n expect(callout.data.defaultLabel).toEqual(\"default label\");\r\n });\r\n\r\n it(\"Sets the dto color\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.overlayColor.overlayColor = OverlayColorEnums.RED;\r\n\r\n expect(callout.data.color).toEqual(\"Red\");\r\n });\r\n\r\n it(\"Applies the dto root position\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.data = {\r\n id: \"calloutID\",\r\n parentID: \"repo\",\r\n rootPosition: new Vector3(1, 2, 3).dto,\r\n rootRotation: Quaternion.FromYawPitchRoll(\r\n Angle.FromDegrees(10),\r\n Angle.FromDegrees(20),\r\n Angle.FromDegrees(30)\r\n ).dto,\r\n labelPosition: new Vector3(4, 5, 6).dto,\r\n defaultLabel: \"default label\",\r\n label: \"custom label\",\r\n size: 5,\r\n color: \"Red\",\r\n };\r\n\r\n expect(callout.rootPosition).toEqual(new Vector3(1, 2, 3));\r\n });\r\n\r\n it(\"Applies the dto root rotation\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.data = {\r\n id: \"calloutID\",\r\n parentID: \"repo\",\r\n rootPosition: new Vector3(1, 2, 3).dto,\r\n rootRotation: Quaternion.FromYawPitchRoll(\r\n Angle.FromDegrees(10),\r\n Angle.FromDegrees(20),\r\n Angle.FromDegrees(30)\r\n ).dto,\r\n labelPosition: new Vector3(4, 5, 6).dto,\r\n defaultLabel: \"default label\",\r\n label: \"custom label\",\r\n size: 5,\r\n color: \"Red\",\r\n };\r\n\r\n expect(\r\n Quaternion.Close(\r\n callout.rootRotation,\r\n Quaternion.FromYawPitchRoll(\r\n Angle.FromDegrees(10),\r\n Angle.FromDegrees(20),\r\n Angle.FromDegrees(30)\r\n )\r\n )\r\n ).toEqual(true);\r\n });\r\n\r\n it(\"Applies the dto label position\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.data = {\r\n id: \"calloutID\",\r\n parentID: \"repo\",\r\n rootPosition: new Vector3(1, 2, 3).dto,\r\n rootRotation: Quaternion.FromYawPitchRoll(\r\n Angle.FromDegrees(10),\r\n Angle.FromDegrees(20),\r\n Angle.FromDegrees(30)\r\n ).dto,\r\n labelPosition: new Vector3(4, 5, 6).dto,\r\n defaultLabel: \"default label\",\r\n label: \"custom label\",\r\n size: 5,\r\n color: \"Red\",\r\n };\r\n\r\n expect(callout.labelPosition).toEqual(new Vector3(4, 5, 6));\r\n });\r\n\r\n it(\"Applies the dto label\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.data = {\r\n id: \"calloutID\",\r\n parentID: \"repo\",\r\n rootPosition: new Vector3(1, 2, 3).dto,\r\n rootRotation: Quaternion.FromYawPitchRoll(\r\n Angle.FromDegrees(10),\r\n Angle.FromDegrees(20),\r\n Angle.FromDegrees(30)\r\n ).dto,\r\n labelPosition: new Vector3(4, 5, 6).dto,\r\n defaultLabel: \"default label\",\r\n label: \"custom label\",\r\n size: 5,\r\n color: \"Red\",\r\n };\r\n\r\n expect(callout.label.custom).toEqual(\"custom label\");\r\n });\r\n\r\n it(\"Applies the dto default label\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.data = {\r\n id: \"calloutID\",\r\n parentID: \"repo\",\r\n rootPosition: new Vector3(1, 2, 3).dto,\r\n rootRotation: Quaternion.FromYawPitchRoll(\r\n Angle.FromDegrees(10),\r\n Angle.FromDegrees(20),\r\n Angle.FromDegrees(30)\r\n ).dto,\r\n labelPosition: new Vector3(4, 5, 6).dto,\r\n defaultLabel: \"default label\",\r\n label: \"custom label\",\r\n size: 5,\r\n color: \"Red\",\r\n };\r\n\r\n expect(callout.label.default).toEqual(\"default label\");\r\n });\r\n\r\n it(\"Applies the dto color\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.data = {\r\n id: \"calloutID\",\r\n parentID: \"repo\",\r\n rootPosition: new Vector3(1, 2, 3).dto,\r\n rootRotation: Quaternion.FromYawPitchRoll(\r\n Angle.FromDegrees(10),\r\n Angle.FromDegrees(20),\r\n Angle.FromDegrees(30)\r\n ).dto,\r\n labelPosition: new Vector3(4, 5, 6).dto,\r\n defaultLabel: \"default label\",\r\n label: \"custom label\",\r\n size: 5,\r\n color: \"Red\",\r\n };\r\n\r\n expect(callout.overlayColor.overlayColor).toEqual(OverlayColorEnums.RED);\r\n });\r\n});\r\n"]}
|
|
@@ -33,10 +33,11 @@ describe("Create Callout Undo Redo", () => {
|
|
|
33
33
|
});
|
|
34
34
|
it("Undo dispatches a state change", () => {
|
|
35
35
|
const { appObjects, mockDispatchStateChange, data } = makeTestRig();
|
|
36
|
-
|
|
36
|
+
const mockDoDispatch = jest.fn();
|
|
37
|
+
mockDispatchStateChange.doDispatch = mockDoDispatch;
|
|
37
38
|
const action = new CreateCalloutUndoRedo(data, appObjects);
|
|
38
39
|
action.undoAction();
|
|
39
|
-
expect(
|
|
40
|
+
expect(mockDoDispatch).toHaveBeenCalled();
|
|
40
41
|
});
|
|
41
42
|
it("Redoes create callout", () => {
|
|
42
43
|
const { appObjects, data, repo } = makeTestRig();
|
|
@@ -58,11 +59,13 @@ describe("Create Callout Undo Redo", () => {
|
|
|
58
59
|
});
|
|
59
60
|
it("Redo dispatches a state change", () => {
|
|
60
61
|
const { appObjects, mockDispatchStateChange, data } = makeTestRig();
|
|
62
|
+
const mockDoDispatch = jest.fn();
|
|
63
|
+
mockDispatchStateChange.doDispatch = mockDoDispatch;
|
|
61
64
|
const action = new CreateCalloutUndoRedo(data, appObjects);
|
|
62
65
|
action.undoAction();
|
|
63
|
-
|
|
66
|
+
mockDoDispatch.mockClear();
|
|
64
67
|
action.redoAction();
|
|
65
|
-
expect(
|
|
68
|
+
expect(mockDoDispatch).toHaveBeenCalled();
|
|
66
69
|
});
|
|
67
70
|
});
|
|
68
71
|
//# sourceMappingURL=CreateCalloutUndoRedo.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateCalloutUndoRedo.test.js","sourceRoot":"","sources":["../../../../src/Callouts/UC/CreateCalloutUndoRedo.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAC7F,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IACvC,MAAM,uBAAuB,GAAG,2BAA2B,CAAC,UAAU,CAAC,CAAC;IAExE,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAE3C,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IACjD,UAAU,CAAC,YAAY,GAAG,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/C,UAAU,CAAC,YAAY,GAAG,UAAU,CAAC,aAAa,CAChD,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACpB,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CACtB,CAAC;IACF,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC;IACvB,UAAU,CAAC,YAAY,CAAC,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC;IAE9D,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;IAE7B,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAE7B,OAAO;QACL,uBAAuB;QACvB,IAAI;QACJ,UAAU;QACV,IAAI;KACL,CAAC;AACJ,CAAC;AAED,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,WAAW,EAAE,CAAC;QACjD,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAExD,MAAM,MAAM,GAAG,IAAI,qBAAqB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC3D,MAAM,CAAC,UAAU,EAAE,CAAC;QAEpB,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,EAAE,UAAU,EAAE,uBAAuB,EAAE,IAAI,EAAE,GAAG,WAAW,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"CreateCalloutUndoRedo.test.js","sourceRoot":"","sources":["../../../../src/Callouts/UC/CreateCalloutUndoRedo.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAC7F,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IACvC,MAAM,uBAAuB,GAAG,2BAA2B,CAAC,UAAU,CAAC,CAAC;IAExE,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAE3C,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IACjD,UAAU,CAAC,YAAY,GAAG,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/C,UAAU,CAAC,YAAY,GAAG,UAAU,CAAC,aAAa,CAChD,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACpB,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CACtB,CAAC;IACF,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC;IACvB,UAAU,CAAC,YAAY,CAAC,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC;IAE9D,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;IAE7B,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAE7B,OAAO;QACL,uBAAuB;QACvB,IAAI;QACJ,UAAU;QACV,IAAI;KACL,CAAC;AACJ,CAAC;AAED,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,WAAW,EAAE,CAAC;QACjD,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAExD,MAAM,MAAM,GAAG,IAAI,qBAAqB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC3D,MAAM,CAAC,UAAU,EAAE,CAAC;QAEpB,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,EAAE,UAAU,EAAE,uBAAuB,EAAE,IAAI,EAAE,GAAG,WAAW,EAAE,CAAC;QACpE,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACjC,uBAAuB,CAAC,UAAU,GAAG,cAAc,CAAC;QAEpD,MAAM,MAAM,GAAG,IAAI,qBAAqB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC3D,MAAM,CAAC,UAAU,EAAE,CAAC;QAEpB,MAAM,CAAC,cAAc,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;QAC/B,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,WAAW,EAAE,CAAC;QAEjD,MAAM,MAAM,GAAG,IAAI,qBAAqB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC3D,MAAM,CAAC,UAAU,EAAE,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACzD,MAAM,CAAC,UAAU,EAAE,CAAC;QAEpB,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,WAAW,EAAE,CAAC;QAEjD,MAAM,MAAM,GAAG,IAAI,qBAAqB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC3D,MAAM,CAAC,UAAU,EAAE,CAAC;QACpB,MAAM,CAAC,UAAU,EAAE,CAAC;QAEpB,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QAClD,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,EAAE,UAAU,EAAE,uBAAuB,EAAE,IAAI,EAAE,GAAG,WAAW,EAAE,CAAC;QACpE,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACjC,uBAAuB,CAAC,UAAU,GAAG,cAAc,CAAC;QAEpD,MAAM,MAAM,GAAG,IAAI,qBAAqB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC3D,MAAM,CAAC,UAAU,EAAE,CAAC;QACpB,cAAc,CAAC,SAAS,EAAE,CAAC;QAC3B,MAAM,CAAC,UAAU,EAAE,CAAC;QAEpB,MAAM,CAAC,cAAc,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { Angle, makeAppObjectRepo, Quaternion, Vector3 } from \"@vived/core\";\r\nimport { makeMockDispatchStateChange } from \"../../Dispatcher/Mocks/MockDispatchStateChange\";\r\nimport { OverlayColorEnums } from \"../../OverlayColor/Entities/OverlayColor\";\r\nimport { makeMockUndoRedo } from \"../../UndoRedo/Mocks/MockUndoRedo\";\r\nimport { makeCalloutRepoEntity } from \"../Entities/CalloutRepo\";\r\nimport { CreateCalloutUndoRedo } from \"./CreateCalloutUndoRedo\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n const mockDispatchStateChange = makeMockDispatchStateChange(appObjects);\r\n\r\n const repoAO = appObjects.getOrCreate(\"repoID\");\r\n const repo = makeCalloutRepoEntity(repoAO);\r\n\r\n const newCallout = repo.makeCallout(\"calloutID\");\r\n newCallout.rootPosition = new Vector3(1, 2, 3);\r\n newCallout.rootRotation = Quaternion.FromAngleAxis(\r\n new Vector3(1, 2, 3),\r\n Angle.FromDegrees(12)\r\n );\r\n newCallout.size = 1.23;\r\n newCallout.overlayColor.overlayColor = OverlayColorEnums.PINK;\r\n\r\n const data = newCallout.data;\r\n\r\n makeMockUndoRedo(appObjects);\r\n\r\n return {\r\n mockDispatchStateChange,\r\n data,\r\n appObjects,\r\n repo,\r\n };\r\n}\r\n\r\ndescribe(\"Create Callout Undo Redo\", () => {\r\n it(\"Undo deletes the callout\", () => {\r\n const { appObjects, repo, data } = makeTestRig();\r\n expect(repo.hasForAppObject(\"calloutID\")).toEqual(true);\r\n\r\n const action = new CreateCalloutUndoRedo(data, appObjects);\r\n action.undoAction();\r\n\r\n expect(repo.hasForAppObject(\"calloutID\")).toEqual(false);\r\n });\r\n\r\n it(\"Undo dispatches a state change\", () => {\r\n const { appObjects, mockDispatchStateChange, data } = makeTestRig();\r\n const mockDoDispatch = jest.fn();\r\n mockDispatchStateChange.doDispatch = mockDoDispatch;\r\n\r\n const action = new CreateCalloutUndoRedo(data, appObjects);\r\n action.undoAction();\r\n\r\n expect(mockDoDispatch).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Redoes create callout\", () => {\r\n const { appObjects, data, repo } = makeTestRig();\r\n\r\n const action = new CreateCalloutUndoRedo(data, appObjects);\r\n action.undoAction();\r\n expect(repo.hasForAppObject(\"calloutID\")).toEqual(false);\r\n action.redoAction();\r\n\r\n expect(repo.hasForAppObject(\"calloutID\")).toEqual(true);\r\n });\r\n\r\n it(\"Redoes applies the data\", () => {\r\n const { appObjects, data, repo } = makeTestRig();\r\n\r\n const action = new CreateCalloutUndoRedo(data, appObjects);\r\n action.undoAction();\r\n action.redoAction();\r\n\r\n const callout = repo.getForAppObject(\"calloutID\");\r\n expect(callout?.data.color).toEqual(data.color);\r\n expect(callout?.data.size).toEqual(data.size);\r\n expect(callout?.data.rootPosition).toEqual(data.rootPosition);\r\n });\r\n\r\n it(\"Redo dispatches a state change\", () => {\r\n const { appObjects, mockDispatchStateChange, data } = makeTestRig();\r\n const mockDoDispatch = jest.fn();\r\n mockDispatchStateChange.doDispatch = mockDoDispatch;\r\n\r\n const action = new CreateCalloutUndoRedo(data, appObjects);\r\n action.undoAction();\r\n mockDoDispatch.mockClear();\r\n action.redoAction();\r\n\r\n expect(mockDoDispatch).toHaveBeenCalled();\r\n });\r\n});\r\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { makeAppObjectRepo } from "@vived/core";
|
|
2
|
-
import {
|
|
2
|
+
import { makeMockDispatchStateChange } from "../../Dispatcher";
|
|
3
3
|
import { makeCalloutRepoEntity } from "../Entities/CalloutRepo";
|
|
4
4
|
import { makeDeleteAllCalloutsUC } from "./DeleteAllCalloutsUC";
|
|
5
5
|
import { DeleteAllCalloutsUndoRedo } from "./DeleteAllCalloutsUndoRedo";
|
|
@@ -7,7 +7,9 @@ jest.mock("./DeleteAllCalloutsUndoRedo");
|
|
|
7
7
|
function makeTestRig() {
|
|
8
8
|
const appObjects = makeAppObjectRepo();
|
|
9
9
|
const appAO = appObjects.getOrCreate("App");
|
|
10
|
-
const mockDispatcher =
|
|
10
|
+
const mockDispatcher = makeMockDispatchStateChange(appObjects);
|
|
11
|
+
const doDispatchMock = jest.fn();
|
|
12
|
+
mockDispatcher.doDispatch = doDispatchMock;
|
|
11
13
|
const deleteAllCalloutsUC = makeDeleteAllCalloutsUC(appAO);
|
|
12
14
|
const repo1 = makeCalloutRepoEntity(appObjects.getOrCreate("parent1"));
|
|
13
15
|
const repo2 = makeCalloutRepoEntity(appObjects.getOrCreate("parent2"));
|
|
@@ -17,6 +19,7 @@ function makeTestRig() {
|
|
|
17
19
|
appAO,
|
|
18
20
|
deleteAllCalloutsUC,
|
|
19
21
|
mockDispatcher,
|
|
22
|
+
doDispatchMock,
|
|
20
23
|
repo1,
|
|
21
24
|
repo2,
|
|
22
25
|
};
|
|
@@ -29,9 +32,9 @@ describe("Delete All Callouts UC", () => {
|
|
|
29
32
|
expect(repo2.getAll().length).toEqual(0);
|
|
30
33
|
});
|
|
31
34
|
it("Dispatches state change", () => {
|
|
32
|
-
const { deleteAllCalloutsUC,
|
|
35
|
+
const { deleteAllCalloutsUC, doDispatchMock } = makeTestRig();
|
|
33
36
|
deleteAllCalloutsUC.deleteAllCallouts();
|
|
34
|
-
expect(
|
|
37
|
+
expect(doDispatchMock).toHaveBeenCalled();
|
|
35
38
|
});
|
|
36
39
|
it("Creates an undo", () => {
|
|
37
40
|
const { deleteAllCalloutsUC } = makeTestRig();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeleteAllCalloutsUC.test.js","sourceRoot":"","sources":["../../../../src/Callouts/UC/DeleteAllCalloutsUC.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"DeleteAllCalloutsUC.test.js","sourceRoot":"","sources":["../../../../src/Callouts/UC/DeleteAllCalloutsUC.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAExE,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;AAEzC,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IACvC,MAAM,KAAK,GAAG,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,cAAc,GAAG,2BAA2B,CAAC,UAAU,CAAC,CAAC;IAC/D,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACjC,cAAc,CAAC,UAAU,GAAG,cAAc,CAAC;IAE3C,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAE3D,MAAM,KAAK,GAAG,qBAAqB,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;IACvE,MAAM,KAAK,GAAG,qBAAqB,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;IAEvE,KAAK,CAAC,WAAW,EAAE,CAAC;IACpB,KAAK,CAAC,WAAW,EAAE,CAAC;IAEpB,OAAO;QACL,KAAK;QACL,mBAAmB;QACnB,cAAc;QACd,cAAc;QACd,KAAK;QACL,KAAK;KACN,CAAC;AACJ,CAAC;AAED,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,MAAM,EAAE,mBAAmB,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,WAAW,EAAE,CAAC;QAE5D,mBAAmB,CAAC,iBAAiB,EAAE,CAAC;QAExC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,MAAM,EAAE,mBAAmB,EAAE,cAAc,EAAE,GAAG,WAAW,EAAE,CAAC;QAE9D,mBAAmB,CAAC,iBAAiB,EAAE,CAAC;QAExC,MAAM,CAAC,cAAc,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iBAAiB,EAAE,GAAG,EAAE;QACzB,MAAM,EAAE,mBAAmB,EAAE,GAAG,WAAW,EAAE,CAAC;QAE9C,mBAAmB,CAAC,iBAAiB,EAAE,CAAC;QAExC,MAAM,CAAC,yBAAyB,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACvD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport { makeMockDispatchStateChange } from \"../../Dispatcher\";\r\nimport { makeCalloutRepoEntity } from \"../Entities/CalloutRepo\";\r\nimport { makeDeleteAllCalloutsUC } from \"./DeleteAllCalloutsUC\";\r\nimport { DeleteAllCalloutsUndoRedo } from \"./DeleteAllCalloutsUndoRedo\";\r\n\r\njest.mock(\"./DeleteAllCalloutsUndoRedo\");\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n const appAO = appObjects.getOrCreate(\"App\");\r\n const mockDispatcher = makeMockDispatchStateChange(appObjects);\r\n const doDispatchMock = jest.fn();\r\n mockDispatcher.doDispatch = doDispatchMock;\r\n\r\n const deleteAllCalloutsUC = makeDeleteAllCalloutsUC(appAO);\r\n\r\n const repo1 = makeCalloutRepoEntity(appObjects.getOrCreate(\"parent1\"));\r\n const repo2 = makeCalloutRepoEntity(appObjects.getOrCreate(\"parent2\"));\r\n\r\n repo1.makeCallout();\r\n repo2.makeCallout();\r\n\r\n return {\r\n appAO,\r\n deleteAllCalloutsUC,\r\n mockDispatcher,\r\n doDispatchMock,\r\n repo1,\r\n repo2,\r\n };\r\n}\r\n\r\ndescribe(\"Delete All Callouts UC\", () => {\r\n it(\"Deletes all callouts UC\", () => {\r\n const { deleteAllCalloutsUC, repo1, repo2 } = makeTestRig();\r\n\r\n deleteAllCalloutsUC.deleteAllCallouts();\r\n\r\n expect(repo1.getAll().length).toEqual(0);\r\n expect(repo2.getAll().length).toEqual(0);\r\n });\r\n\r\n it(\"Dispatches state change\", () => {\r\n const { deleteAllCalloutsUC, doDispatchMock } = makeTestRig();\r\n\r\n deleteAllCalloutsUC.deleteAllCallouts();\r\n\r\n expect(doDispatchMock).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Creates an undo\", () => {\r\n const { deleteAllCalloutsUC } = makeTestRig();\r\n\r\n deleteAllCalloutsUC.deleteAllCallouts();\r\n\r\n expect(DeleteAllCalloutsUndoRedo).toHaveBeenCalled();\r\n });\r\n});\r\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { makeAppObjectRepo } from "@vived/core";
|
|
2
|
-
import {
|
|
2
|
+
import { makeMockDispatchStateChange } from "../../Dispatcher";
|
|
3
3
|
import { makeMockUndoRedo } from "../../UndoRedo/Mocks/MockUndoRedo";
|
|
4
4
|
import { makeCalloutRepoEntity } from "../Entities/CalloutRepo";
|
|
5
5
|
import { DeleteAllCalloutsUndoRedo } from "./DeleteAllCalloutsUndoRedo";
|
|
@@ -7,7 +7,11 @@ function makeTestRig() {
|
|
|
7
7
|
const appObjects = makeAppObjectRepo();
|
|
8
8
|
const appAO = appObjects.getOrCreate("App");
|
|
9
9
|
const mockUndo = makeMockUndoRedo(appObjects);
|
|
10
|
-
const
|
|
10
|
+
const submitActionMock = jest.fn();
|
|
11
|
+
mockUndo.submitAction = submitActionMock;
|
|
12
|
+
const mockDispatcher = makeMockDispatchStateChange(appObjects);
|
|
13
|
+
const doDispatchMock = jest.fn();
|
|
14
|
+
mockDispatcher.doDispatch = doDispatchMock;
|
|
11
15
|
const repo1 = makeCalloutRepoEntity(appObjects.getOrCreate("parent1"));
|
|
12
16
|
const repo2 = makeCalloutRepoEntity(appObjects.getOrCreate("parent2"));
|
|
13
17
|
const callout1 = repo1.makeCallout("callout1");
|
|
@@ -17,19 +21,21 @@ function makeTestRig() {
|
|
|
17
21
|
return {
|
|
18
22
|
appObjects,
|
|
19
23
|
mockUndo,
|
|
24
|
+
submitActionMock,
|
|
20
25
|
callout1,
|
|
21
26
|
callout2,
|
|
22
27
|
mockDispatcher,
|
|
28
|
+
doDispatchMock,
|
|
23
29
|
repo1,
|
|
24
30
|
repo2,
|
|
25
31
|
};
|
|
26
32
|
}
|
|
27
33
|
describe("Delete All Callouts Undo Redo action", () => {
|
|
28
34
|
it("Submits itself to the entity", () => {
|
|
29
|
-
const {
|
|
35
|
+
const { submitActionMock, callout1, callout2, appObjects } = makeTestRig();
|
|
30
36
|
const deletedCallouts = [callout1.data, callout2.data];
|
|
31
37
|
const action = new DeleteAllCalloutsUndoRedo(deletedCallouts, appObjects);
|
|
32
|
-
expect(
|
|
38
|
+
expect(submitActionMock).toHaveBeenCalledWith(action);
|
|
33
39
|
});
|
|
34
40
|
it("Undo Add last callouts", () => {
|
|
35
41
|
const { repo1, repo2, callout1, callout2, appObjects } = makeTestRig();
|
|
@@ -49,13 +55,13 @@ describe("Delete All Callouts Undo Redo action", () => {
|
|
|
49
55
|
expect(repo2.getAll().length).toEqual(0);
|
|
50
56
|
});
|
|
51
57
|
it("Dispatches state changes for both the undo and redo action", () => {
|
|
52
|
-
const { callout1, callout2, appObjects,
|
|
58
|
+
const { callout1, callout2, appObjects, doDispatchMock } = makeTestRig();
|
|
53
59
|
const deletedCallouts = [callout1.data, callout2.data];
|
|
54
60
|
const action = new DeleteAllCalloutsUndoRedo(deletedCallouts, appObjects);
|
|
55
61
|
action.undoAction();
|
|
56
|
-
expect(
|
|
62
|
+
expect(doDispatchMock).toHaveBeenCalledTimes(1);
|
|
57
63
|
action.redoAction();
|
|
58
|
-
expect(
|
|
64
|
+
expect(doDispatchMock).toHaveBeenCalledTimes(2);
|
|
59
65
|
});
|
|
60
66
|
});
|
|
61
67
|
//# sourceMappingURL=DeleteAllCalloutsUndoRedo.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeleteAllCalloutsUndoRedo.test.js","sourceRoot":"","sources":["../../../../src/Callouts/UC/DeleteAllCalloutsUndoRedo.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"DeleteAllCalloutsUndoRedo.test.js","sourceRoot":"","sources":["../../../../src/Callouts/UC/DeleteAllCalloutsUndoRedo.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport { makeMockDispatchStateChange } from \"../../Dispatcher\";\r\nimport { makeMockUndoRedo } from \"../../UndoRedo/Mocks/MockUndoRedo\";\r\nimport { makeCalloutRepoEntity } from \"../Entities/CalloutRepo\";\r\nimport { DeleteAllCalloutsUndoRedo } from \"./DeleteAllCalloutsUndoRedo\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n const appAO = appObjects.getOrCreate(\"App\");\r\n const mockUndo = makeMockUndoRedo(appObjects);\r\n const submitActionMock = jest.fn();\r\n mockUndo.submitAction = submitActionMock;\r\n \r\n const mockDispatcher = makeMockDispatchStateChange(appObjects);\r\n const doDispatchMock = jest.fn();\r\n mockDispatcher.doDispatch = doDispatchMock;\r\n\r\n const repo1 = makeCalloutRepoEntity(appObjects.getOrCreate(\"parent1\"));\r\n const repo2 = makeCalloutRepoEntity(appObjects.getOrCreate(\"parent2\"));\r\n\r\n const callout1 = repo1.makeCallout(\"callout1\");\r\n const callout2 = repo2.makeCallout(\"callout2\");\r\n\r\n repo1.deleteCallout(\"callout1\");\r\n repo2.deleteCallout(\"callout2\");\r\n\r\n return {\r\n appObjects,\r\n mockUndo,\r\n submitActionMock,\r\n callout1,\r\n callout2,\r\n mockDispatcher,\r\n doDispatchMock,\r\n repo1,\r\n repo2,\r\n };\r\n}\r\n\r\ndescribe(\"Delete All Callouts Undo Redo action\", () => {\r\n it(\"Submits itself to the entity\", () => {\r\n const { submitActionMock, callout1, callout2, appObjects } = makeTestRig();\r\n\r\n const deletedCallouts = [callout1.data, callout2.data];\r\n const action = new DeleteAllCalloutsUndoRedo(deletedCallouts, appObjects);\r\n\r\n expect(submitActionMock).toHaveBeenCalledWith(action);\r\n });\r\n\r\n it(\"Undo Add last callouts\", () => {\r\n const { repo1, repo2, callout1, callout2, appObjects } = makeTestRig();\r\n\r\n const deletedCallouts = [callout1.data, callout2.data];\r\n const action = new DeleteAllCalloutsUndoRedo(deletedCallouts, appObjects);\r\n\r\n action.undoAction();\r\n\r\n expect(repo1.getAll().length).toEqual(1);\r\n expect(repo2.getAll().length).toEqual(1);\r\n });\r\n\r\n it(\"Redo Delete All callouts\", () => {\r\n const { repo1, repo2, callout1, callout2, appObjects } = makeTestRig();\r\n\r\n const deletedCallouts = [callout1.data, callout2.data];\r\n const action = new DeleteAllCalloutsUndoRedo(deletedCallouts, appObjects);\r\n\r\n action.undoAction();\r\n action.redoAction();\r\n\r\n expect(repo1.getAll().length).toEqual(0);\r\n expect(repo2.getAll().length).toEqual(0);\r\n });\r\n\r\n it(\"Dispatches state changes for both the undo and redo action\", () => {\r\n const { callout1, callout2, appObjects, doDispatchMock } = makeTestRig();\r\n\r\n const deletedCallouts = [callout1.data, callout2.data];\r\n const action = new DeleteAllCalloutsUndoRedo(deletedCallouts, appObjects);\r\n\r\n action.undoAction();\r\n expect(doDispatchMock).toHaveBeenCalledTimes(1);\r\n\r\n action.redoAction();\r\n expect(doDispatchMock).toHaveBeenCalledTimes(2);\r\n });\r\n});\r\n"]}
|
|
@@ -7,6 +7,8 @@ jest.mock("./DeleteCalloutUndoRedo");
|
|
|
7
7
|
function makeTestRig() {
|
|
8
8
|
const appObjects = makeAppObjectRepo();
|
|
9
9
|
const mockDispatchStateChange = makeMockDispatchStateChange(appObjects);
|
|
10
|
+
const doDispatchMock = jest.fn();
|
|
11
|
+
mockDispatchStateChange.doDispatch = doDispatchMock;
|
|
10
12
|
const repoObj = appObjects.getOrCreate("repoObj");
|
|
11
13
|
const repo = makeCalloutRepoEntity(repoObj);
|
|
12
14
|
const callout = repo.makeCallout("calloutID");
|
|
@@ -17,6 +19,7 @@ function makeTestRig() {
|
|
|
17
19
|
repo,
|
|
18
20
|
uc,
|
|
19
21
|
mockDispatchStateChange,
|
|
22
|
+
doDispatchMock,
|
|
20
23
|
};
|
|
21
24
|
}
|
|
22
25
|
describe("Delete Callout UC", () => {
|
|
@@ -27,9 +30,9 @@ describe("Delete Callout UC", () => {
|
|
|
27
30
|
expect(spy).toHaveBeenCalledWith("calloutID");
|
|
28
31
|
});
|
|
29
32
|
it("Dispatches a state change", () => {
|
|
30
|
-
const {
|
|
33
|
+
const { doDispatchMock, uc } = makeTestRig();
|
|
31
34
|
uc.delete();
|
|
32
|
-
expect(
|
|
35
|
+
expect(doDispatchMock).toHaveBeenCalled();
|
|
33
36
|
});
|
|
34
37
|
it("Creates an undo", () => {
|
|
35
38
|
const { uc } = makeTestRig();
|