@vived/app 5.0.6 → 5.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (368) hide show
  1. package/dist/cjs/Babylon/Mocks/MockSceneRayPickUC.js +3 -1
  2. package/dist/cjs/Babylon/Mocks/MockSceneRayPickUC.js.map +1 -1
  3. package/dist/cjs/Babylon/UC/SceneRayPickUC.test.js +1 -0
  4. package/dist/cjs/Babylon/UC/SceneRayPickUC.test.js.map +1 -1
  5. package/dist/cjs/BaseApp/UC/EditSlideTextUC.test.js +8 -6
  6. package/dist/cjs/BaseApp/UC/EditSlideTextUC.test.js.map +1 -1
  7. package/dist/cjs/BaseApp/UC/UndoRedoEditSlideText.test.js +10 -6
  8. package/dist/cjs/BaseApp/UC/UndoRedoEditSlideText.test.js.map +1 -1
  9. package/dist/cjs/BaseApp/UC/UpdateContentSizeUC.test.js +8 -6
  10. package/dist/cjs/BaseApp/UC/UpdateContentSizeUC.test.js.map +1 -1
  11. package/dist/cjs/Callouts/UC/CreateCalloutUndoRedo.test.js +7 -4
  12. package/dist/cjs/Callouts/UC/CreateCalloutUndoRedo.test.js.map +1 -1
  13. package/dist/cjs/Callouts/UC/DeleteAllCalloutsUC.test.js +7 -4
  14. package/dist/cjs/Callouts/UC/DeleteAllCalloutsUC.test.js.map +1 -1
  15. package/dist/cjs/Callouts/UC/DeleteAllCalloutsUndoRedo.test.js +13 -7
  16. package/dist/cjs/Callouts/UC/DeleteAllCalloutsUndoRedo.test.js.map +1 -1
  17. package/dist/cjs/Callouts/UC/DeleteCallout.test.js +5 -2
  18. package/dist/cjs/Callouts/UC/DeleteCallout.test.js.map +1 -1
  19. package/dist/cjs/Callouts/UC/DeleteCalloutUndoRedo.test.js +9 -7
  20. package/dist/cjs/Callouts/UC/DeleteCalloutUndoRedo.test.js.map +1 -1
  21. package/dist/cjs/Callouts/UC/SetCalloutSizeUC.test.js +7 -5
  22. package/dist/cjs/Callouts/UC/SetCalloutSizeUC.test.js.map +1 -1
  23. package/dist/cjs/Callouts/UC/SetCalloutSizeUndoRedo.test.js +10 -6
  24. package/dist/cjs/Callouts/UC/SetCalloutSizeUndoRedo.test.js.map +1 -1
  25. package/dist/cjs/Callouts/UC/TryAddCallout.test.js +5 -4
  26. package/dist/cjs/Callouts/UC/TryAddCallout.test.js.map +1 -1
  27. package/dist/cjs/Callouts/UC/TryPanLabelUC.test.js +3 -2
  28. package/dist/cjs/Callouts/UC/TryPanLabelUC.test.js.map +1 -1
  29. package/dist/cjs/Challenge/UCs/SetChallengeUC.test.js +11 -9
  30. package/dist/cjs/Challenge/UCs/SetChallengeUC.test.js.map +1 -1
  31. package/dist/cjs/ChannelModel/UC/ClearAllColorOverlayUndoRedo.test.js +13 -7
  32. package/dist/cjs/ChannelModel/UC/ClearAllColorOverlayUndoRedo.test.js.map +1 -1
  33. package/dist/cjs/ChannelModel/UC/ClearModelObjectOverlaysUC.test.js +7 -4
  34. package/dist/cjs/ChannelModel/UC/ClearModelObjectOverlaysUC.test.js.map +1 -1
  35. package/dist/cjs/ChannelModel/UC/SelectChannelModelUC.test.js +5 -2
  36. package/dist/cjs/ChannelModel/UC/SelectChannelModelUC.test.js.map +1 -1
  37. package/dist/cjs/ChannelModel/UC/StickAllChannelModelObjectsUC.test.js +10 -8
  38. package/dist/cjs/ChannelModel/UC/StickAllChannelModelObjectsUC.test.js.map +1 -1
  39. package/dist/cjs/ChannelModel/UC/UnhideAllAppObjectsUndoRedo.test.js +9 -7
  40. package/dist/cjs/ChannelModel/UC/UnhideAllAppObjectsUndoRedo.test.js.map +1 -1
  41. package/dist/cjs/ChannelModel/UC/UnhideAllChannelModelObjectsUC.test.js +7 -5
  42. package/dist/cjs/ChannelModel/UC/UnhideAllChannelModelObjectsUC.test.js.map +1 -1
  43. package/dist/cjs/Dispatcher/Mocks/MockDispatchStateChange.js +3 -3
  44. package/dist/cjs/Dispatcher/Mocks/MockDispatchStateChange.js.map +1 -1
  45. package/dist/cjs/Environment/UCs/SetEnvironmentIntensityUC.test.js +11 -9
  46. package/dist/cjs/Environment/UCs/SetEnvironmentIntensityUC.test.js.map +1 -1
  47. package/dist/cjs/Environment/UCs/SetTexturalEnvironmentUC.test.js +9 -7
  48. package/dist/cjs/Environment/UCs/SetTexturalEnvironmentUC.test.js.map +1 -1
  49. package/dist/cjs/Hideable/UCs/HideUC.test.js +10 -8
  50. package/dist/cjs/Hideable/UCs/HideUC.test.js.map +1 -1
  51. package/dist/cjs/Hideable/UCs/TryHideWithPickUC.test.js +7 -6
  52. package/dist/cjs/Hideable/UCs/TryHideWithPickUC.test.js.map +1 -1
  53. package/dist/cjs/HoverLabel/UseCases/TryShowHoverLabel.test.js +12 -11
  54. package/dist/cjs/HoverLabel/UseCases/TryShowHoverLabel.test.js.map +1 -1
  55. package/dist/cjs/Label/UC/ClearCustomLabelUC.test.js +9 -4
  56. package/dist/cjs/Label/UC/ClearCustomLabelUC.test.js.map +1 -1
  57. package/dist/cjs/Label/UC/ClearCustomLabelUndoRedo.test.js +10 -6
  58. package/dist/cjs/Label/UC/ClearCustomLabelUndoRedo.test.js.map +1 -1
  59. package/dist/cjs/Label/UC/SetCustomLabelUC.test.js +9 -4
  60. package/dist/cjs/Label/UC/SetCustomLabelUC.test.js.map +1 -1
  61. package/dist/cjs/Label/UC/SetCustomLabelUndoRedo.test.js +10 -6
  62. package/dist/cjs/Label/UC/SetCustomLabelUndoRedo.test.js.map +1 -1
  63. package/dist/cjs/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.js +2 -1
  64. package/dist/cjs/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.js.map +1 -1
  65. package/dist/cjs/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.test.js +2 -1
  66. package/dist/cjs/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.test.js.map +1 -1
  67. package/dist/cjs/LabelDrop/UseCases/DeleteAllLabelDropUC.test.js +9 -7
  68. package/dist/cjs/LabelDrop/UseCases/DeleteAllLabelDropUC.test.js.map +1 -1
  69. package/dist/cjs/LabelDrop/UseCases/DeleteLabelDropUC.test.js +9 -7
  70. package/dist/cjs/LabelDrop/UseCases/DeleteLabelDropUC.test.js.map +1 -1
  71. package/dist/cjs/LabelDrop/UseCases/DragLabelDropUC.test.js +8 -6
  72. package/dist/cjs/LabelDrop/UseCases/DragLabelDropUC.test.js.map +1 -1
  73. package/dist/cjs/LabelDrop/UseCases/DragLabelDropWorldUC.test.js +17 -17
  74. package/dist/cjs/LabelDrop/UseCases/DragLabelDropWorldUC.test.js.map +1 -1
  75. package/dist/cjs/LabelDrop/UseCases/EditLabelDropUC.test.js +20 -18
  76. package/dist/cjs/LabelDrop/UseCases/EditLabelDropUC.test.js.map +1 -1
  77. package/dist/cjs/LabelDrop/UseCases/ToggleLabelDropTargetUC.test.js +4 -2
  78. package/dist/cjs/LabelDrop/UseCases/ToggleLabelDropTargetUC.test.js.map +1 -1
  79. package/dist/cjs/Landmarks/UseCases/AddLandmarkUndoRedo.test.js +10 -5
  80. package/dist/cjs/Landmarks/UseCases/AddLandmarkUndoRedo.test.js.map +1 -1
  81. package/dist/cjs/Landmarks/UseCases/DeleteAllLandmarksUC.test.js +5 -3
  82. package/dist/cjs/Landmarks/UseCases/DeleteAllLandmarksUC.test.js.map +1 -1
  83. package/dist/cjs/Landmarks/UseCases/DeleteAllLandmarksUndoRedo.test.js +11 -6
  84. package/dist/cjs/Landmarks/UseCases/DeleteAllLandmarksUndoRedo.test.js.map +1 -1
  85. package/dist/cjs/Landmarks/UseCases/DeleteLandmarkUC.test.js +10 -5
  86. package/dist/cjs/Landmarks/UseCases/DeleteLandmarkUC.test.js.map +1 -1
  87. package/dist/cjs/Landmarks/UseCases/DeleteLandmarkUndoRedo.test.js +10 -5
  88. package/dist/cjs/Landmarks/UseCases/DeleteLandmarkUndoRedo.test.js.map +1 -1
  89. package/dist/cjs/Landmarks/UseCases/SetLandmarkSizeUC.test.js +7 -5
  90. package/dist/cjs/Landmarks/UseCases/SetLandmarkSizeUC.test.js.map +1 -1
  91. package/dist/cjs/Landmarks/UseCases/SetLandmarkSizeUndoRedo.test.js +10 -6
  92. package/dist/cjs/Landmarks/UseCases/SetLandmarkSizeUndoRedo.test.js.map +1 -1
  93. package/dist/cjs/Landmarks/UseCases/TryAddNewLandmarkUC.test.js +29 -15
  94. package/dist/cjs/Landmarks/UseCases/TryAddNewLandmarkUC.test.js.map +1 -1
  95. package/dist/cjs/Landmarks/UseCases/TryPreviewLandmarkUC.test.js +4 -3
  96. package/dist/cjs/Landmarks/UseCases/TryPreviewLandmarkUC.test.js.map +1 -1
  97. package/dist/cjs/ObjectPick/UseCases/AddCorrectObjectIdUC.test.js +10 -8
  98. package/dist/cjs/ObjectPick/UseCases/AddCorrectObjectIdUC.test.js.map +1 -1
  99. package/dist/cjs/ObjectPick/UseCases/ClearCorrectObjectIdsUC.test.js +10 -8
  100. package/dist/cjs/ObjectPick/UseCases/ClearCorrectObjectIdsUC.test.js.map +1 -1
  101. package/dist/cjs/ObjectPick/UseCases/RemoveCorrectObjectIdUC.test.js +10 -8
  102. package/dist/cjs/ObjectPick/UseCases/RemoveCorrectObjectIdUC.test.js.map +1 -1
  103. package/dist/cjs/ObjectPick/UseCases/TrySelectObjectPickUC.test.js +18 -15
  104. package/dist/cjs/ObjectPick/UseCases/TrySelectObjectPickUC.test.js.map +1 -1
  105. package/dist/cjs/ObjectPick/UseCases/TrySubmitObjectPickUC.test.js +3 -1
  106. package/dist/cjs/ObjectPick/UseCases/TrySubmitObjectPickUC.test.js.map +1 -1
  107. package/dist/cjs/OverlayColor/UC/SetOverlayColorUC.test.js +9 -4
  108. package/dist/cjs/OverlayColor/UC/SetOverlayColorUC.test.js.map +1 -1
  109. package/dist/cjs/OverlayColor/UC/SetOverlayColorUndoRedo.test.js +10 -6
  110. package/dist/cjs/OverlayColor/UC/SetOverlayColorUndoRedo.test.js.map +1 -1
  111. package/dist/cjs/Question/UC/AddAnswerUndoRedo.test.js +16 -6
  112. package/dist/cjs/Question/UC/AddAnswerUndoRedo.test.js.map +1 -1
  113. package/dist/cjs/Question/UC/AddQuestionAnswerUC.test.js +14 -5
  114. package/dist/cjs/Question/UC/AddQuestionAnswerUC.test.js.map +1 -1
  115. package/dist/cjs/Question/UC/DeleteAnswerUndoRedo.test.js +17 -6
  116. package/dist/cjs/Question/UC/DeleteAnswerUndoRedo.test.js.map +1 -1
  117. package/dist/cjs/Question/UC/DeleteQuestionAnswerUC.test.js +9 -6
  118. package/dist/cjs/Question/UC/DeleteQuestionAnswerUC.test.js.map +1 -1
  119. package/dist/cjs/Question/UC/SetAnswerFeedbackUC.test.js +9 -6
  120. package/dist/cjs/Question/UC/SetAnswerFeedbackUC.test.js.map +1 -1
  121. package/dist/cjs/Question/UC/SetAnswerFeedbackUndoRedo.test.js +10 -6
  122. package/dist/cjs/Question/UC/SetAnswerFeedbackUndoRedo.test.js.map +1 -1
  123. package/dist/cjs/Question/UC/SetAnswerTextUC.test.js +9 -6
  124. package/dist/cjs/Question/UC/SetAnswerTextUC.test.js.map +1 -1
  125. package/dist/cjs/Question/UC/SetAnswerTextUndoRedo.test.js +10 -6
  126. package/dist/cjs/Question/UC/SetAnswerTextUndoRedo.test.js.map +1 -1
  127. package/dist/cjs/Question/UC/ToggleIsCorrectUndoRedo.test.js +10 -6
  128. package/dist/cjs/Question/UC/ToggleIsCorrectUndoRedo.test.js.map +1 -1
  129. package/dist/cjs/Question/UC/ToggleQuestionAnswerIsCorrect.test.js +7 -4
  130. package/dist/cjs/Question/UC/ToggleQuestionAnswerIsCorrect.test.js.map +1 -1
  131. package/dist/cjs/RequestHandler/UC/SetAppStateUC.test.js +2 -0
  132. package/dist/cjs/RequestHandler/UC/SetAppStateUC.test.js.map +1 -1
  133. package/dist/cjs/SceneRoot/UC/BumpSceneRootScaleAboutPixelPoint.test.js +7 -4
  134. package/dist/cjs/SceneRoot/UC/BumpSceneRootScaleAboutPixelPoint.test.js.map +1 -1
  135. package/dist/cjs/SceneRoot/UC/DragScaleSceneRoot.test.js +9 -6
  136. package/dist/cjs/SceneRoot/UC/DragScaleSceneRoot.test.js.map +1 -1
  137. package/dist/cjs/SceneRoot/UC/OrbitSceneRoot.test.js +16 -7
  138. package/dist/cjs/SceneRoot/UC/OrbitSceneRoot.test.js.map +1 -1
  139. package/dist/cjs/SceneRoot/UC/PanSceneRoot.test.js +9 -6
  140. package/dist/cjs/SceneRoot/UC/PanSceneRoot.test.js.map +1 -1
  141. package/dist/cjs/SceneRoot/UC/PinchSceneRoot.test.js +9 -6
  142. package/dist/cjs/SceneRoot/UC/PinchSceneRoot.test.js.map +1 -1
  143. package/dist/cjs/Selection/UC/HoverAppObjectUC.test.js +3 -3
  144. package/dist/cjs/Selection/UC/HoverAppObjectUC.test.js.map +1 -1
  145. package/dist/cjs/Selection/UC/PressAppObjectUC.test.js +3 -3
  146. package/dist/cjs/Selection/UC/PressAppObjectUC.test.js.map +1 -1
  147. package/dist/cjs/Selection/UC/SelectAppObjectUC.test.js +3 -3
  148. package/dist/cjs/Selection/UC/SelectAppObjectUC.test.js.map +1 -1
  149. package/dist/cjs/Stick/UCs/MoveTransformWithStickUC.test.js +9 -7
  150. package/dist/cjs/Stick/UCs/MoveTransformWithStickUC.test.js.map +1 -1
  151. package/dist/cjs/Stick/UCs/PanTransformWithStickUC.test.js +13 -11
  152. package/dist/cjs/Stick/UCs/PanTransformWithStickUC.test.js.map +1 -1
  153. package/dist/cjs/Stick/UCs/StickUC.test.js +9 -7
  154. package/dist/cjs/Stick/UCs/StickUC.test.js.map +1 -1
  155. package/dist/cjs/Stick/UCs/TryStickAppObjectUC.test.js +7 -6
  156. package/dist/cjs/Stick/UCs/TryStickAppObjectUC.test.js.map +1 -1
  157. package/dist/cjs/Transform3D/UC/BumpTransformScaleAboutPixelPoint.test.js +5 -3
  158. package/dist/cjs/Transform3D/UC/BumpTransformScaleAboutPixelPoint.test.js.map +1 -1
  159. package/dist/cjs/Transform3D/UC/MoveTransformUC.test.js +21 -11
  160. package/dist/cjs/Transform3D/UC/MoveTransformUC.test.js.map +1 -1
  161. package/dist/cjs/Transform3D/UC/MoveTransformUndoRedo.test.js +10 -6
  162. package/dist/cjs/Transform3D/UC/MoveTransformUndoRedo.test.js.map +1 -1
  163. package/dist/cjs/Transform3D/UC/PanTransformUC.test.js +13 -11
  164. package/dist/cjs/Transform3D/UC/PanTransformUC.test.js.map +1 -1
  165. package/dist/cjs/Transform3D/UC/PinchTransform.test.js +7 -5
  166. package/dist/cjs/Transform3D/UC/PinchTransform.test.js.map +1 -1
  167. package/dist/cjs/Transform3D/UC/RayPanScaleTransform.test.js +9 -7
  168. package/dist/cjs/Transform3D/UC/RayPanScaleTransform.test.js.map +1 -1
  169. package/dist/cjs/Transform3D/UC/ScaleTransform.test.js +22 -18
  170. package/dist/cjs/Transform3D/UC/ScaleTransform.test.js.map +1 -1
  171. package/dist/cjs/Transform3D/UC/StylusMoveTransformUC.test.js +11 -6
  172. package/dist/cjs/Transform3D/UC/StylusMoveTransformUC.test.js.map +1 -1
  173. package/dist/cjs/Transform3D/UC/TryMoveTransformUC.test.js +3 -1
  174. package/dist/cjs/Transform3D/UC/TryMoveTransformUC.test.js.map +1 -1
  175. package/dist/cjs/Transform3D/UC/TryPanTransformUC.test.js +25 -24
  176. package/dist/cjs/Transform3D/UC/TryPanTransformUC.test.js.map +1 -1
  177. package/dist/cjs/Transparency/UCs/MakeTransparentUC.test.js +10 -8
  178. package/dist/cjs/Transparency/UCs/MakeTransparentUC.test.js.map +1 -1
  179. package/dist/cjs/UndoRedo/Mocks/MockUndoRedo.js +4 -4
  180. package/dist/cjs/UndoRedo/Mocks/MockUndoRedo.js.map +1 -1
  181. package/dist/esm/Babylon/Mocks/MockSceneRayPickUC.js +3 -1
  182. package/dist/esm/Babylon/Mocks/MockSceneRayPickUC.js.map +1 -1
  183. package/dist/esm/Babylon/UC/SceneRayPickUC.test.js +1 -0
  184. package/dist/esm/Babylon/UC/SceneRayPickUC.test.js.map +1 -1
  185. package/dist/esm/BaseApp/UC/EditSlideTextUC.test.js +9 -7
  186. package/dist/esm/BaseApp/UC/EditSlideTextUC.test.js.map +1 -1
  187. package/dist/esm/BaseApp/UC/UndoRedoEditSlideText.test.js +10 -6
  188. package/dist/esm/BaseApp/UC/UndoRedoEditSlideText.test.js.map +1 -1
  189. package/dist/esm/BaseApp/UC/UpdateContentSizeUC.test.js +8 -6
  190. package/dist/esm/BaseApp/UC/UpdateContentSizeUC.test.js.map +1 -1
  191. package/dist/esm/Callouts/UC/CreateCalloutUndoRedo.test.js +7 -4
  192. package/dist/esm/Callouts/UC/CreateCalloutUndoRedo.test.js.map +1 -1
  193. package/dist/esm/Callouts/UC/DeleteAllCalloutsUC.test.js +7 -4
  194. package/dist/esm/Callouts/UC/DeleteAllCalloutsUC.test.js.map +1 -1
  195. package/dist/esm/Callouts/UC/DeleteAllCalloutsUndoRedo.test.js +13 -7
  196. package/dist/esm/Callouts/UC/DeleteAllCalloutsUndoRedo.test.js.map +1 -1
  197. package/dist/esm/Callouts/UC/DeleteCallout.test.js +5 -2
  198. package/dist/esm/Callouts/UC/DeleteCallout.test.js.map +1 -1
  199. package/dist/esm/Callouts/UC/DeleteCalloutUndoRedo.test.js +9 -7
  200. package/dist/esm/Callouts/UC/DeleteCalloutUndoRedo.test.js.map +1 -1
  201. package/dist/esm/Callouts/UC/SetCalloutSizeUC.test.js +7 -5
  202. package/dist/esm/Callouts/UC/SetCalloutSizeUC.test.js.map +1 -1
  203. package/dist/esm/Callouts/UC/SetCalloutSizeUndoRedo.test.js +10 -6
  204. package/dist/esm/Callouts/UC/SetCalloutSizeUndoRedo.test.js.map +1 -1
  205. package/dist/esm/Callouts/UC/TryAddCallout.test.js +5 -4
  206. package/dist/esm/Callouts/UC/TryAddCallout.test.js.map +1 -1
  207. package/dist/esm/Callouts/UC/TryPanLabelUC.test.js +3 -2
  208. package/dist/esm/Callouts/UC/TryPanLabelUC.test.js.map +1 -1
  209. package/dist/esm/Challenge/UCs/SetChallengeUC.test.js +11 -9
  210. package/dist/esm/Challenge/UCs/SetChallengeUC.test.js.map +1 -1
  211. package/dist/esm/ChannelModel/UC/ClearAllColorOverlayUndoRedo.test.js +13 -7
  212. package/dist/esm/ChannelModel/UC/ClearAllColorOverlayUndoRedo.test.js.map +1 -1
  213. package/dist/esm/ChannelModel/UC/ClearModelObjectOverlaysUC.test.js +7 -4
  214. package/dist/esm/ChannelModel/UC/ClearModelObjectOverlaysUC.test.js.map +1 -1
  215. package/dist/esm/ChannelModel/UC/SelectChannelModelUC.test.js +5 -2
  216. package/dist/esm/ChannelModel/UC/SelectChannelModelUC.test.js.map +1 -1
  217. package/dist/esm/ChannelModel/UC/StickAllChannelModelObjectsUC.test.js +10 -8
  218. package/dist/esm/ChannelModel/UC/StickAllChannelModelObjectsUC.test.js.map +1 -1
  219. package/dist/esm/ChannelModel/UC/UnhideAllAppObjectsUndoRedo.test.js +9 -7
  220. package/dist/esm/ChannelModel/UC/UnhideAllAppObjectsUndoRedo.test.js.map +1 -1
  221. package/dist/esm/ChannelModel/UC/UnhideAllChannelModelObjectsUC.test.js +7 -5
  222. package/dist/esm/ChannelModel/UC/UnhideAllChannelModelObjectsUC.test.js.map +1 -1
  223. package/dist/esm/Dispatcher/Mocks/MockDispatchStateChange.js +3 -3
  224. package/dist/esm/Dispatcher/Mocks/MockDispatchStateChange.js.map +1 -1
  225. package/dist/esm/Environment/UCs/SetEnvironmentIntensityUC.test.js +11 -9
  226. package/dist/esm/Environment/UCs/SetEnvironmentIntensityUC.test.js.map +1 -1
  227. package/dist/esm/Environment/UCs/SetTexturalEnvironmentUC.test.js +9 -7
  228. package/dist/esm/Environment/UCs/SetTexturalEnvironmentUC.test.js.map +1 -1
  229. package/dist/esm/Hideable/UCs/HideUC.test.js +10 -8
  230. package/dist/esm/Hideable/UCs/HideUC.test.js.map +1 -1
  231. package/dist/esm/Hideable/UCs/TryHideWithPickUC.test.js +7 -6
  232. package/dist/esm/Hideable/UCs/TryHideWithPickUC.test.js.map +1 -1
  233. package/dist/esm/HoverLabel/UseCases/TryShowHoverLabel.test.js +12 -11
  234. package/dist/esm/HoverLabel/UseCases/TryShowHoverLabel.test.js.map +1 -1
  235. package/dist/esm/Label/UC/ClearCustomLabelUC.test.js +9 -4
  236. package/dist/esm/Label/UC/ClearCustomLabelUC.test.js.map +1 -1
  237. package/dist/esm/Label/UC/ClearCustomLabelUndoRedo.test.js +10 -6
  238. package/dist/esm/Label/UC/ClearCustomLabelUndoRedo.test.js.map +1 -1
  239. package/dist/esm/Label/UC/SetCustomLabelUC.test.js +9 -4
  240. package/dist/esm/Label/UC/SetCustomLabelUC.test.js.map +1 -1
  241. package/dist/esm/Label/UC/SetCustomLabelUndoRedo.test.js +10 -6
  242. package/dist/esm/Label/UC/SetCustomLabelUndoRedo.test.js.map +1 -1
  243. package/dist/esm/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.js +2 -1
  244. package/dist/esm/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.js.map +1 -1
  245. package/dist/esm/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.test.js +2 -1
  246. package/dist/esm/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.test.js.map +1 -1
  247. package/dist/esm/LabelDrop/UseCases/DeleteAllLabelDropUC.test.js +9 -7
  248. package/dist/esm/LabelDrop/UseCases/DeleteAllLabelDropUC.test.js.map +1 -1
  249. package/dist/esm/LabelDrop/UseCases/DeleteLabelDropUC.test.js +9 -7
  250. package/dist/esm/LabelDrop/UseCases/DeleteLabelDropUC.test.js.map +1 -1
  251. package/dist/esm/LabelDrop/UseCases/DragLabelDropUC.test.js +8 -6
  252. package/dist/esm/LabelDrop/UseCases/DragLabelDropUC.test.js.map +1 -1
  253. package/dist/esm/LabelDrop/UseCases/DragLabelDropWorldUC.test.js +17 -17
  254. package/dist/esm/LabelDrop/UseCases/DragLabelDropWorldUC.test.js.map +1 -1
  255. package/dist/esm/LabelDrop/UseCases/EditLabelDropUC.test.js +20 -18
  256. package/dist/esm/LabelDrop/UseCases/EditLabelDropUC.test.js.map +1 -1
  257. package/dist/esm/LabelDrop/UseCases/ToggleLabelDropTargetUC.test.js +4 -2
  258. package/dist/esm/LabelDrop/UseCases/ToggleLabelDropTargetUC.test.js.map +1 -1
  259. package/dist/esm/Landmarks/UseCases/AddLandmarkUndoRedo.test.js +10 -5
  260. package/dist/esm/Landmarks/UseCases/AddLandmarkUndoRedo.test.js.map +1 -1
  261. package/dist/esm/Landmarks/UseCases/DeleteAllLandmarksUC.test.js +5 -3
  262. package/dist/esm/Landmarks/UseCases/DeleteAllLandmarksUC.test.js.map +1 -1
  263. package/dist/esm/Landmarks/UseCases/DeleteAllLandmarksUndoRedo.test.js +11 -6
  264. package/dist/esm/Landmarks/UseCases/DeleteAllLandmarksUndoRedo.test.js.map +1 -1
  265. package/dist/esm/Landmarks/UseCases/DeleteLandmarkUC.test.js +10 -5
  266. package/dist/esm/Landmarks/UseCases/DeleteLandmarkUC.test.js.map +1 -1
  267. package/dist/esm/Landmarks/UseCases/DeleteLandmarkUndoRedo.test.js +10 -5
  268. package/dist/esm/Landmarks/UseCases/DeleteLandmarkUndoRedo.test.js.map +1 -1
  269. package/dist/esm/Landmarks/UseCases/SetLandmarkSizeUC.test.js +7 -5
  270. package/dist/esm/Landmarks/UseCases/SetLandmarkSizeUC.test.js.map +1 -1
  271. package/dist/esm/Landmarks/UseCases/SetLandmarkSizeUndoRedo.test.js +10 -6
  272. package/dist/esm/Landmarks/UseCases/SetLandmarkSizeUndoRedo.test.js.map +1 -1
  273. package/dist/esm/Landmarks/UseCases/TryAddNewLandmarkUC.test.js +29 -15
  274. package/dist/esm/Landmarks/UseCases/TryAddNewLandmarkUC.test.js.map +1 -1
  275. package/dist/esm/Landmarks/UseCases/TryPreviewLandmarkUC.test.js +4 -3
  276. package/dist/esm/Landmarks/UseCases/TryPreviewLandmarkUC.test.js.map +1 -1
  277. package/dist/esm/ObjectPick/UseCases/AddCorrectObjectIdUC.test.js +10 -8
  278. package/dist/esm/ObjectPick/UseCases/AddCorrectObjectIdUC.test.js.map +1 -1
  279. package/dist/esm/ObjectPick/UseCases/ClearCorrectObjectIdsUC.test.js +10 -8
  280. package/dist/esm/ObjectPick/UseCases/ClearCorrectObjectIdsUC.test.js.map +1 -1
  281. package/dist/esm/ObjectPick/UseCases/RemoveCorrectObjectIdUC.test.js +10 -8
  282. package/dist/esm/ObjectPick/UseCases/RemoveCorrectObjectIdUC.test.js.map +1 -1
  283. package/dist/esm/ObjectPick/UseCases/TrySelectObjectPickUC.test.js +18 -15
  284. package/dist/esm/ObjectPick/UseCases/TrySelectObjectPickUC.test.js.map +1 -1
  285. package/dist/esm/ObjectPick/UseCases/TrySubmitObjectPickUC.test.js +3 -1
  286. package/dist/esm/ObjectPick/UseCases/TrySubmitObjectPickUC.test.js.map +1 -1
  287. package/dist/esm/OverlayColor/UC/SetOverlayColorUC.test.js +9 -4
  288. package/dist/esm/OverlayColor/UC/SetOverlayColorUC.test.js.map +1 -1
  289. package/dist/esm/OverlayColor/UC/SetOverlayColorUndoRedo.test.js +10 -6
  290. package/dist/esm/OverlayColor/UC/SetOverlayColorUndoRedo.test.js.map +1 -1
  291. package/dist/esm/Question/UC/AddAnswerUndoRedo.test.js +16 -6
  292. package/dist/esm/Question/UC/AddAnswerUndoRedo.test.js.map +1 -1
  293. package/dist/esm/Question/UC/AddQuestionAnswerUC.test.js +14 -5
  294. package/dist/esm/Question/UC/AddQuestionAnswerUC.test.js.map +1 -1
  295. package/dist/esm/Question/UC/DeleteAnswerUndoRedo.test.js +17 -6
  296. package/dist/esm/Question/UC/DeleteAnswerUndoRedo.test.js.map +1 -1
  297. package/dist/esm/Question/UC/DeleteQuestionAnswerUC.test.js +9 -6
  298. package/dist/esm/Question/UC/DeleteQuestionAnswerUC.test.js.map +1 -1
  299. package/dist/esm/Question/UC/SetAnswerFeedbackUC.test.js +9 -6
  300. package/dist/esm/Question/UC/SetAnswerFeedbackUC.test.js.map +1 -1
  301. package/dist/esm/Question/UC/SetAnswerFeedbackUndoRedo.test.js +10 -6
  302. package/dist/esm/Question/UC/SetAnswerFeedbackUndoRedo.test.js.map +1 -1
  303. package/dist/esm/Question/UC/SetAnswerTextUC.test.js +9 -6
  304. package/dist/esm/Question/UC/SetAnswerTextUC.test.js.map +1 -1
  305. package/dist/esm/Question/UC/SetAnswerTextUndoRedo.test.js +10 -6
  306. package/dist/esm/Question/UC/SetAnswerTextUndoRedo.test.js.map +1 -1
  307. package/dist/esm/Question/UC/ToggleIsCorrectUndoRedo.test.js +10 -6
  308. package/dist/esm/Question/UC/ToggleIsCorrectUndoRedo.test.js.map +1 -1
  309. package/dist/esm/Question/UC/ToggleQuestionAnswerIsCorrect.test.js +7 -4
  310. package/dist/esm/Question/UC/ToggleQuestionAnswerIsCorrect.test.js.map +1 -1
  311. package/dist/esm/RequestHandler/UC/SetAppStateUC.test.js +2 -0
  312. package/dist/esm/RequestHandler/UC/SetAppStateUC.test.js.map +1 -1
  313. package/dist/esm/SceneRoot/UC/BumpSceneRootScaleAboutPixelPoint.test.js +7 -4
  314. package/dist/esm/SceneRoot/UC/BumpSceneRootScaleAboutPixelPoint.test.js.map +1 -1
  315. package/dist/esm/SceneRoot/UC/DragScaleSceneRoot.test.js +9 -6
  316. package/dist/esm/SceneRoot/UC/DragScaleSceneRoot.test.js.map +1 -1
  317. package/dist/esm/SceneRoot/UC/OrbitSceneRoot.test.js +16 -7
  318. package/dist/esm/SceneRoot/UC/OrbitSceneRoot.test.js.map +1 -1
  319. package/dist/esm/SceneRoot/UC/PanSceneRoot.test.js +9 -6
  320. package/dist/esm/SceneRoot/UC/PanSceneRoot.test.js.map +1 -1
  321. package/dist/esm/SceneRoot/UC/PinchSceneRoot.test.js +9 -6
  322. package/dist/esm/SceneRoot/UC/PinchSceneRoot.test.js.map +1 -1
  323. package/dist/esm/Selection/UC/HoverAppObjectUC.test.js +3 -3
  324. package/dist/esm/Selection/UC/HoverAppObjectUC.test.js.map +1 -1
  325. package/dist/esm/Selection/UC/PressAppObjectUC.test.js +3 -3
  326. package/dist/esm/Selection/UC/PressAppObjectUC.test.js.map +1 -1
  327. package/dist/esm/Selection/UC/SelectAppObjectUC.test.js +3 -3
  328. package/dist/esm/Selection/UC/SelectAppObjectUC.test.js.map +1 -1
  329. package/dist/esm/Stick/UCs/MoveTransformWithStickUC.test.js +9 -7
  330. package/dist/esm/Stick/UCs/MoveTransformWithStickUC.test.js.map +1 -1
  331. package/dist/esm/Stick/UCs/PanTransformWithStickUC.test.js +13 -11
  332. package/dist/esm/Stick/UCs/PanTransformWithStickUC.test.js.map +1 -1
  333. package/dist/esm/Stick/UCs/StickUC.test.js +9 -7
  334. package/dist/esm/Stick/UCs/StickUC.test.js.map +1 -1
  335. package/dist/esm/Stick/UCs/TryStickAppObjectUC.test.js +7 -6
  336. package/dist/esm/Stick/UCs/TryStickAppObjectUC.test.js.map +1 -1
  337. package/dist/esm/Transform3D/UC/BumpTransformScaleAboutPixelPoint.test.js +5 -3
  338. package/dist/esm/Transform3D/UC/BumpTransformScaleAboutPixelPoint.test.js.map +1 -1
  339. package/dist/esm/Transform3D/UC/MoveTransformUC.test.js +21 -11
  340. package/dist/esm/Transform3D/UC/MoveTransformUC.test.js.map +1 -1
  341. package/dist/esm/Transform3D/UC/MoveTransformUndoRedo.test.js +10 -6
  342. package/dist/esm/Transform3D/UC/MoveTransformUndoRedo.test.js.map +1 -1
  343. package/dist/esm/Transform3D/UC/PanTransformUC.test.js +13 -11
  344. package/dist/esm/Transform3D/UC/PanTransformUC.test.js.map +1 -1
  345. package/dist/esm/Transform3D/UC/PinchTransform.test.js +7 -5
  346. package/dist/esm/Transform3D/UC/PinchTransform.test.js.map +1 -1
  347. package/dist/esm/Transform3D/UC/RayPanScaleTransform.test.js +9 -7
  348. package/dist/esm/Transform3D/UC/RayPanScaleTransform.test.js.map +1 -1
  349. package/dist/esm/Transform3D/UC/ScaleTransform.test.js +22 -18
  350. package/dist/esm/Transform3D/UC/ScaleTransform.test.js.map +1 -1
  351. package/dist/esm/Transform3D/UC/StylusMoveTransformUC.test.js +11 -6
  352. package/dist/esm/Transform3D/UC/StylusMoveTransformUC.test.js.map +1 -1
  353. package/dist/esm/Transform3D/UC/TryMoveTransformUC.test.js +3 -1
  354. package/dist/esm/Transform3D/UC/TryMoveTransformUC.test.js.map +1 -1
  355. package/dist/esm/Transform3D/UC/TryPanTransformUC.test.js +4 -3
  356. package/dist/esm/Transform3D/UC/TryPanTransformUC.test.js.map +1 -1
  357. package/dist/esm/Transparency/UCs/MakeTransparentUC.test.js +10 -8
  358. package/dist/esm/Transparency/UCs/MakeTransparentUC.test.js.map +1 -1
  359. package/dist/esm/UndoRedo/Mocks/MockUndoRedo.js +4 -4
  360. package/dist/esm/UndoRedo/Mocks/MockUndoRedo.js.map +1 -1
  361. package/dist/types/Babylon/Mocks/MockSceneRayPickUC.d.ts +1 -1
  362. package/dist/types/Babylon/Mocks/MockSceneRayPickUC.d.ts.map +1 -1
  363. package/dist/types/Dispatcher/Mocks/MockDispatchStateChange.d.ts +3 -3
  364. package/dist/types/Dispatcher/Mocks/MockDispatchStateChange.d.ts.map +1 -1
  365. package/dist/types/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.d.ts.map +1 -1
  366. package/dist/types/UndoRedo/Mocks/MockUndoRedo.d.ts +4 -4
  367. package/dist/types/UndoRedo/Mocks/MockUndoRedo.d.ts.map +1 -1
  368. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  import { makeAppObjectRepo } from "@vived/core";
2
- import { MockDispatchStateChange } from "../../Dispatcher/Mocks/MockDispatchStateChange";
2
+ import { makeMockDispatchStateChange } from "../../Dispatcher";
3
3
  import { MockUndoRedo } from "../../UndoRedo/Mocks/MockUndoRedo";
4
4
  import { makeLabelEntity } from "../Entities";
5
5
  import { ClearCustomLabelUndoRedo } from "./ClearCustomLabelUndoRedo";
@@ -7,9 +7,13 @@ function makeTestRig() {
7
7
  const appObjects = makeAppObjectRepo();
8
8
  const ao = appObjects.getOrCreate("App");
9
9
  const mockUndo = new MockUndoRedo(ao);
10
- const mockDispatcher = new MockDispatchStateChange(ao);
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 label = makeLabelEntity(ao);
12
- return { mockUndo, mockDispatcher, label, ao };
16
+ return { mockUndo, mockDispatcher, doDispatchMock, label, ao };
13
17
  }
14
18
  describe("Clear Custom Label Undo Redo action", () => {
15
19
  it("Submits itself to the entity", () => {
@@ -35,14 +39,14 @@ describe("Clear Custom Label Undo Redo action", () => {
35
39
  expect(label.custom).toEqual("");
36
40
  });
37
41
  it("Dispatches state changes for both the undo and redo action", () => {
38
- const { ao, label, mockDispatcher } = makeTestRig();
42
+ const { ao, label, doDispatchMock } = makeTestRig();
39
43
  const customLabel = "custom";
40
44
  label.custom = customLabel;
41
45
  const action = new ClearCustomLabelUndoRedo("", ao);
42
46
  action.undoAction();
43
- expect(mockDispatcher.doDispatch).toHaveBeenCalledTimes(1);
47
+ expect(doDispatchMock).toHaveBeenCalledTimes(1);
44
48
  action.redoAction();
45
- expect(mockDispatcher.doDispatch).toHaveBeenCalledTimes(2);
49
+ expect(doDispatchMock).toHaveBeenCalledTimes(2);
46
50
  });
47
51
  });
48
52
  //# sourceMappingURL=ClearCustomLabelUndoRedo.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ClearCustomLabelUndoRedo.test.js","sourceRoot":"","sources":["../../../../src/Label/UC/ClearCustomLabelUndoRedo.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport { MockDispatchStateChange } from \"../../Dispatcher/Mocks/MockDispatchStateChange\";\r\nimport { MockUndoRedo } from \"../../UndoRedo/Mocks/MockUndoRedo\";\r\nimport { makeLabelEntity } from \"../Entities\";\r\nimport { ClearCustomLabelUndoRedo } from \"./ClearCustomLabelUndoRedo\";\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 const mockDispatcher = new MockDispatchStateChange(ao);\r\n const label = makeLabelEntity(ao);\r\n\r\n return { mockUndo, mockDispatcher, label, ao };\r\n}\r\n\r\ndescribe(\"Clear Custom Label Undo Redo action\", () => {\r\n it(\"Submits itself to the entity\", () => {\r\n const { mockUndo, ao } = makeTestRig();\r\n\r\n const action = new ClearCustomLabelUndoRedo(\"custom\", ao);\r\n expect(mockUndo.submitAction).toHaveBeenCalledWith(action);\r\n });\r\n\r\n it(\"Undo sets the prior custom label \", () => {\r\n const { ao, label } = makeTestRig();\r\n const customLabel = \"custom\";\r\n\r\n label.custom = customLabel;\r\n const action = new ClearCustomLabelUndoRedo(customLabel, ao);\r\n\r\n action.undoAction();\r\n\r\n expect(label.custom).toEqual(customLabel);\r\n });\r\n\r\n it(\"Redo clears the custome label\", () => {\r\n const { ao, label } = makeTestRig();\r\n const customLabel = \"custom\";\r\n\r\n label.custom = customLabel;\r\n const action = new ClearCustomLabelUndoRedo(customLabel, ao);\r\n\r\n action.undoAction();\r\n action.redoAction();\r\n\r\n expect(label.custom).toEqual(\"\");\r\n });\r\n\r\n it(\"Dispatches state changes for both the undo and redo action\", () => {\r\n const { ao, label, mockDispatcher } = makeTestRig();\r\n const customLabel = \"custom\";\r\n\r\n label.custom = customLabel;\r\n const action = new ClearCustomLabelUndoRedo(\"\", ao);\r\n\r\n action.undoAction();\r\n expect(mockDispatcher.doDispatch).toHaveBeenCalledTimes(1);\r\n\r\n action.redoAction();\r\n expect(mockDispatcher.doDispatch).toHaveBeenCalledTimes(2);\r\n });\r\n});\r\n"]}
1
+ {"version":3,"file":"ClearCustomLabelUndoRedo.test.js","sourceRoot":"","sources":["../../../../src/Label/UC/ClearCustomLabelUndoRedo.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport { makeMockDispatchStateChange } from \"../../Dispatcher\";\r\nimport { MockUndoRedo } from \"../../UndoRedo/Mocks/MockUndoRedo\";\r\nimport { makeLabelEntity } from \"../Entities\";\r\nimport { ClearCustomLabelUndoRedo } from \"./ClearCustomLabelUndoRedo\";\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 label = makeLabelEntity(ao);\r\n\r\n return { mockUndo, mockDispatcher, doDispatchMock, label, ao };\r\n}\r\n\r\ndescribe(\"Clear Custom Label Undo Redo action\", () => {\r\n it(\"Submits itself to the entity\", () => {\r\n const { mockUndo, ao } = makeTestRig();\r\n\r\n const action = new ClearCustomLabelUndoRedo(\"custom\", ao);\r\n expect(mockUndo.submitAction).toHaveBeenCalledWith(action);\r\n });\r\n\r\n it(\"Undo sets the prior custom label \", () => {\r\n const { ao, label } = makeTestRig();\r\n const customLabel = \"custom\";\r\n\r\n label.custom = customLabel;\r\n const action = new ClearCustomLabelUndoRedo(customLabel, ao);\r\n\r\n action.undoAction();\r\n\r\n expect(label.custom).toEqual(customLabel);\r\n });\r\n\r\n it(\"Redo clears the custome label\", () => {\r\n const { ao, label } = makeTestRig();\r\n const customLabel = \"custom\";\r\n\r\n label.custom = customLabel;\r\n const action = new ClearCustomLabelUndoRedo(customLabel, ao);\r\n\r\n action.undoAction();\r\n action.redoAction();\r\n\r\n expect(label.custom).toEqual(\"\");\r\n });\r\n\r\n it(\"Dispatches state changes for both the undo and redo action\", () => {\r\n const { ao, label, doDispatchMock } = makeTestRig();\r\n const customLabel = \"custom\";\r\n\r\n label.custom = customLabel;\r\n const action = new ClearCustomLabelUndoRedo(\"\", ao);\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"]}
@@ -1,5 +1,5 @@
1
1
  import { makeAppObjectRepo } from "@vived/core";
2
- import { MockDispatchStateChange } from "../../Dispatcher/Mocks/MockDispatchStateChange";
2
+ import { makeMockDispatchStateChange } from "../../Dispatcher";
3
3
  import { MockUndoRedo } from "../../UndoRedo/Mocks/MockUndoRedo";
4
4
  import { makeLabelEntity } from "../Entities";
5
5
  import { SetCustomLabelUC } from "./SetCustomLabelUC";
@@ -7,7 +7,11 @@ function makeTestRig() {
7
7
  const appObjects = makeAppObjectRepo();
8
8
  const ao = appObjects.getOrCreate("App");
9
9
  const mockUndo = new MockUndoRedo(ao);
10
- const mockDispatcher = new MockDispatchStateChange(ao);
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 label = makeLabelEntity(ao);
12
16
  const setCustomLabelUC = new SetCustomLabelUC(ao);
13
17
  const mockSubmitWarning = jest.fn();
@@ -17,6 +21,7 @@ function makeTestRig() {
17
21
  ao,
18
22
  mockUndo,
19
23
  mockDispatcher,
24
+ doDispatchMock,
20
25
  label,
21
26
  setCustomLabelUC,
22
27
  mockSubmitWarning,
@@ -37,9 +42,9 @@ describe("Set Custom Label UC", () => {
37
42
  expect(mockSubmitWarning).toHaveBeenCalledTimes(3);
38
43
  });
39
44
  it("Dispatches state chagne when clear custom label", () => {
40
- const { setCustomLabelUC, mockDispatcher } = makeTestRig();
45
+ const { setCustomLabelUC, doDispatchMock } = makeTestRig();
41
46
  setCustomLabelUC.update("custom");
42
- expect(mockDispatcher.doDispatch).toHaveBeenCalled();
47
+ expect(doDispatchMock).toHaveBeenCalled();
43
48
  });
44
49
  it("Submits and undo", () => {
45
50
  const { setCustomLabelUC, mockUndo } = makeTestRig();
@@ -1 +1 @@
1
- {"version":3,"file":"SetCustomLabelUC.test.js","sourceRoot":"","sources":["../../../../src/Label/UC/SetCustomLabelUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport { MockDispatchStateChange } from \"../../Dispatcher/Mocks/MockDispatchStateChange\";\r\nimport { MockUndoRedo } from \"../../UndoRedo/Mocks/MockUndoRedo\";\r\nimport { makeLabelEntity } from \"../Entities\";\r\nimport { SetCustomLabelUC } from \"./SetCustomLabelUC\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n\r\n const ao = appObjects.getOrCreate(\"App\");\r\n\r\n const mockUndo = new MockUndoRedo(ao);\r\n const mockDispatcher = new MockDispatchStateChange(ao);\r\n\r\n const label = makeLabelEntity(ao);\r\n const setCustomLabelUC = new SetCustomLabelUC(ao);\r\n\r\n const mockSubmitWarning = jest.fn();\r\n appObjects.submitWarning = mockSubmitWarning;\r\n\r\n return {\r\n appObjects,\r\n ao,\r\n mockUndo,\r\n mockDispatcher,\r\n label,\r\n setCustomLabelUC,\r\n mockSubmitWarning,\r\n };\r\n}\r\n\r\ndescribe(\"Set Custom Label UC\", () => {\r\n it(\"Sets custom label\", () => {\r\n const { label, setCustomLabelUC } = makeTestRig();\r\n\r\n label.custom = \"\";\r\n setCustomLabelUC.update(\"custom\");\r\n\r\n expect(label.custom).toEqual(\"custom\");\r\n });\r\n\r\n it(\"Submits warning if label entity was not added to App Object\", () => {\r\n const { appObjects, mockSubmitWarning } = makeTestRig();\r\n const ao = appObjects.getOrCreate(\"testAO\");\r\n\r\n const clearCustomLabel = new SetCustomLabelUC(ao);\r\n clearCustomLabel.update(\"custom\");\r\n\r\n expect(mockSubmitWarning).toHaveBeenCalledTimes(3);\r\n });\r\n\r\n it(\"Dispatches state chagne when clear custom label\", () => {\r\n const { setCustomLabelUC, mockDispatcher } = makeTestRig();\r\n\r\n setCustomLabelUC.update(\"custom\");\r\n\r\n expect(mockDispatcher.doDispatch).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Submits and undo\", () => {\r\n const { setCustomLabelUC, mockUndo } = makeTestRig();\r\n\r\n setCustomLabelUC.update(\"custom\");\r\n setCustomLabelUC.submit();\r\n\r\n expect(mockUndo.submitAction).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Submits undo operation with correct previous and current labels\", () => {\r\n const { label, setCustomLabelUC, mockUndo } = makeTestRig();\r\n\r\n label.custom = \"initial\";\r\n setCustomLabelUC.update(\"custom\");\r\n setCustomLabelUC.submit();\r\n\r\n expect(mockUndo.submitAction).toHaveBeenCalled();\r\n });\r\n});\r\n"]}
1
+ {"version":3,"file":"SetCustomLabelUC.test.js","sourceRoot":"","sources":["../../../../src/Label/UC/SetCustomLabelUC.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IAEvC,MAAM,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAEzC,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAE,CAAC,CAAC;IACtC,6CAA6C;IAC7C,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IAClC,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,KAAK,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;IAClC,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAElD,MAAM,iBAAiB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACpC,UAAU,CAAC,aAAa,GAAG,iBAAiB,CAAC;IAE7C,OAAO;QACL,UAAU;QACV,EAAE;QACF,QAAQ;QACR,cAAc;QACd,cAAc;QACd,KAAK;QACL,gBAAgB;QAChB,iBAAiB;KAClB,CAAC;AACJ,CAAC;AAED,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC3B,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,GAAG,WAAW,EAAE,CAAC;QAElD,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;QAClB,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAElC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACrE,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,GAAG,WAAW,EAAE,CAAC;QACxD,MAAM,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAE5C,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,EAAE,CAAC,CAAC;QAClD,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAElC,MAAM,CAAC,iBAAiB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,EAAE,gBAAgB,EAAE,cAAc,EAAE,GAAG,WAAW,EAAE,CAAC;QAE3D,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAElC,MAAM,CAAC,cAAc,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC1B,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,GAAG,WAAW,EAAE,CAAC;QAErD,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClC,gBAAgB,CAAC,MAAM,EAAE,CAAC;QAE1B,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;QACzE,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,GAAG,WAAW,EAAE,CAAC;QAE5D,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;QACzB,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClC,gBAAgB,CAAC,MAAM,EAAE,CAAC;QAE1B,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport { makeMockDispatchStateChange } from \"../../Dispatcher\";\r\nimport { MockUndoRedo } from \"../../UndoRedo/Mocks/MockUndoRedo\";\r\nimport { makeLabelEntity } from \"../Entities\";\r\nimport { SetCustomLabelUC } from \"./SetCustomLabelUC\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n\r\n const ao = appObjects.getOrCreate(\"App\");\r\n\r\n const mockUndo = new MockUndoRedo(ao);\r\n // Override the submitAction with a jest.fn()\r\n mockUndo.submitAction = jest.fn();\r\n const mockDispatcher = makeMockDispatchStateChange(appObjects);\r\n const doDispatchMock = jest.fn();\r\n mockDispatcher.doDispatch = doDispatchMock;\r\n\r\n const label = makeLabelEntity(ao);\r\n const setCustomLabelUC = new SetCustomLabelUC(ao);\r\n\r\n const mockSubmitWarning = jest.fn();\r\n appObjects.submitWarning = mockSubmitWarning;\r\n\r\n return {\r\n appObjects,\r\n ao,\r\n mockUndo,\r\n mockDispatcher,\r\n doDispatchMock,\r\n label,\r\n setCustomLabelUC,\r\n mockSubmitWarning,\r\n };\r\n}\r\n\r\ndescribe(\"Set Custom Label UC\", () => {\r\n it(\"Sets custom label\", () => {\r\n const { label, setCustomLabelUC } = makeTestRig();\r\n\r\n label.custom = \"\";\r\n setCustomLabelUC.update(\"custom\");\r\n\r\n expect(label.custom).toEqual(\"custom\");\r\n });\r\n\r\n it(\"Submits warning if label entity was not added to App Object\", () => {\r\n const { appObjects, mockSubmitWarning } = makeTestRig();\r\n const ao = appObjects.getOrCreate(\"testAO\");\r\n\r\n const clearCustomLabel = new SetCustomLabelUC(ao);\r\n clearCustomLabel.update(\"custom\");\r\n\r\n expect(mockSubmitWarning).toHaveBeenCalledTimes(3);\r\n });\r\n\r\n it(\"Dispatches state chagne when clear custom label\", () => {\r\n const { setCustomLabelUC, doDispatchMock } = makeTestRig();\r\n\r\n setCustomLabelUC.update(\"custom\");\r\n\r\n expect(doDispatchMock).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Submits and undo\", () => {\r\n const { setCustomLabelUC, mockUndo } = makeTestRig();\r\n\r\n setCustomLabelUC.update(\"custom\");\r\n setCustomLabelUC.submit();\r\n\r\n expect(mockUndo.submitAction).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Submits undo operation with correct previous and current labels\", () => {\r\n const { label, setCustomLabelUC, mockUndo } = makeTestRig();\r\n\r\n label.custom = \"initial\";\r\n setCustomLabelUC.update(\"custom\");\r\n setCustomLabelUC.submit();\r\n\r\n expect(mockUndo.submitAction).toHaveBeenCalled();\r\n });\r\n});\r\n"]}
@@ -1,5 +1,5 @@
1
1
  import { makeAppObjectRepo } from "@vived/core";
2
- import { MockDispatchStateChange } from "../../Dispatcher/Mocks/MockDispatchStateChange";
2
+ import { makeMockDispatchStateChange } from "../../Dispatcher";
3
3
  import { MockUndoRedo } from "../../UndoRedo/Mocks/MockUndoRedo";
4
4
  import { makeLabelEntity } from "../Entities";
5
5
  import { SetCustomLabelUndoRedo } from "./SetCustomLabelUndoRedo";
@@ -7,9 +7,13 @@ function makeTestRig() {
7
7
  const appObjects = makeAppObjectRepo();
8
8
  const ao = appObjects.getOrCreate("App");
9
9
  const mockUndo = new MockUndoRedo(ao);
10
- const mockDispatcher = new MockDispatchStateChange(ao);
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 label = makeLabelEntity(ao);
12
- return { mockUndo, mockDispatcher, label, ao };
16
+ return { mockUndo, mockDispatcher, doDispatchMock, label, ao };
13
17
  }
14
18
  describe("Set Custom Label Undo Redo action", () => {
15
19
  it("Submits itself to the entity", () => {
@@ -37,15 +41,15 @@ describe("Set Custom Label Undo Redo action", () => {
37
41
  expect(label.custom).toEqual(curLabel);
38
42
  });
39
43
  it("Dispatches state changes for both the undo and redo action", () => {
40
- const { ao, label, mockDispatcher } = makeTestRig();
44
+ const { ao, label, doDispatchMock } = makeTestRig();
41
45
  const prevLabel = "prevLabel";
42
46
  const curLabel = "curLabel";
43
47
  label.custom = curLabel;
44
48
  const action = new SetCustomLabelUndoRedo(prevLabel, curLabel, ao);
45
49
  action.undoAction();
46
- expect(mockDispatcher.doDispatch).toHaveBeenCalledTimes(1);
50
+ expect(doDispatchMock).toHaveBeenCalledTimes(1);
47
51
  action.redoAction();
48
- expect(mockDispatcher.doDispatch).toHaveBeenCalledTimes(2);
52
+ expect(doDispatchMock).toHaveBeenCalledTimes(2);
49
53
  });
50
54
  });
51
55
  //# sourceMappingURL=SetCustomLabelUndoRedo.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SetCustomLabelUndoRedo.test.js","sourceRoot":"","sources":["../../../../src/Label/UC/SetCustomLabelUndoRedo.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport { MockDispatchStateChange } from \"../../Dispatcher/Mocks/MockDispatchStateChange\";\r\nimport { MockUndoRedo } from \"../../UndoRedo/Mocks/MockUndoRedo\";\r\nimport { makeLabelEntity } from \"../Entities\";\r\nimport { SetCustomLabelUndoRedo } from \"./SetCustomLabelUndoRedo\";\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 const mockDispatcher = new MockDispatchStateChange(ao);\r\n const label = makeLabelEntity(ao);\r\n\r\n return { mockUndo, mockDispatcher, label, ao };\r\n}\r\n\r\ndescribe(\"Set Custom Label Undo Redo action\", () => {\r\n it(\"Submits itself to the entity\", () => {\r\n const { mockUndo, ao } = makeTestRig();\r\n\r\n const action = new SetCustomLabelUndoRedo(\"prevLabel\", \"curLabel\", ao);\r\n expect(mockUndo.submitAction).toHaveBeenCalledWith(action);\r\n });\r\n\r\n it(\"Undo sets the prior custom label \", () => {\r\n const { ao, label } = makeTestRig();\r\n const prevLabel = \"prevLabel\";\r\n const curLabel = \"curLabel\";\r\n\r\n label.custom = curLabel;\r\n const action = new SetCustomLabelUndoRedo(prevLabel, curLabel, ao);\r\n\r\n action.undoAction();\r\n\r\n expect(label.custom).toEqual(prevLabel);\r\n });\r\n\r\n it(\"Redo sets the current label \", () => {\r\n const { ao, label } = makeTestRig();\r\n const prevLabel = \"prevLabel\";\r\n const curLabel = \"curLabel\";\r\n\r\n label.custom = curLabel;\r\n const action = new SetCustomLabelUndoRedo(prevLabel, curLabel, ao);\r\n\r\n action.undoAction();\r\n action.redoAction();\r\n\r\n expect(label.custom).toEqual(curLabel);\r\n });\r\n\r\n it(\"Dispatches state changes for both the undo and redo action\", () => {\r\n const { ao, label, mockDispatcher } = makeTestRig();\r\n const prevLabel = \"prevLabel\";\r\n const curLabel = \"curLabel\";\r\n\r\n label.custom = curLabel;\r\n const action = new SetCustomLabelUndoRedo(prevLabel, curLabel, ao);\r\n\r\n action.undoAction();\r\n expect(mockDispatcher.doDispatch).toHaveBeenCalledTimes(1);\r\n\r\n action.redoAction();\r\n expect(mockDispatcher.doDispatch).toHaveBeenCalledTimes(2);\r\n });\r\n});\r\n"]}
1
+ {"version":3,"file":"SetCustomLabelUndoRedo.test.js","sourceRoot":"","sources":["../../../../src/Label/UC/SetCustomLabelUndoRedo.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport { makeMockDispatchStateChange } from \"../../Dispatcher\";\r\nimport { MockUndoRedo } from \"../../UndoRedo/Mocks/MockUndoRedo\";\r\nimport { makeLabelEntity } from \"../Entities\";\r\nimport { SetCustomLabelUndoRedo } from \"./SetCustomLabelUndoRedo\";\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 label = makeLabelEntity(ao);\r\n\r\n return { mockUndo, mockDispatcher, doDispatchMock, label, ao };\r\n}\r\n\r\ndescribe(\"Set Custom Label Undo Redo action\", () => {\r\n it(\"Submits itself to the entity\", () => {\r\n const { mockUndo, ao } = makeTestRig();\r\n\r\n const action = new SetCustomLabelUndoRedo(\"prevLabel\", \"curLabel\", ao);\r\n expect(mockUndo.submitAction).toHaveBeenCalledWith(action);\r\n });\r\n\r\n it(\"Undo sets the prior custom label \", () => {\r\n const { ao, label } = makeTestRig();\r\n const prevLabel = \"prevLabel\";\r\n const curLabel = \"curLabel\";\r\n\r\n label.custom = curLabel;\r\n const action = new SetCustomLabelUndoRedo(prevLabel, curLabel, ao);\r\n\r\n action.undoAction();\r\n\r\n expect(label.custom).toEqual(prevLabel);\r\n });\r\n\r\n it(\"Redo sets the current label \", () => {\r\n const { ao, label } = makeTestRig();\r\n const prevLabel = \"prevLabel\";\r\n const curLabel = \"curLabel\";\r\n\r\n label.custom = curLabel;\r\n const action = new SetCustomLabelUndoRedo(prevLabel, curLabel, ao);\r\n\r\n action.undoAction();\r\n action.redoAction();\r\n\r\n expect(label.custom).toEqual(curLabel);\r\n });\r\n\r\n it(\"Dispatches state changes for both the undo and redo action\", () => {\r\n const { ao, label, doDispatchMock } = makeTestRig();\r\n const prevLabel = \"prevLabel\";\r\n const curLabel = \"curLabel\";\r\n\r\n label.custom = curLabel;\r\n const action = new SetCustomLabelUndoRedo(prevLabel, curLabel, ao);\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"]}
@@ -2,6 +2,7 @@ import { Vector2 } from "@vived/core";
2
2
  import { PixelToSceneRayUC } from "../../Babylon/UC/PixelToSceneRayUC";
3
3
  import { FramedScreenEntity } from "../../FramedScreen/Entities/FramedScreenEntity";
4
4
  import { DragLabelDropUC } from "../UseCases/DragLabelDropUC";
5
+ import { RENDER_CANVAS_FRAMED_CONTAINER_ID } from "../../FramedScreen";
5
6
  export function releaseLabelDropAnswerItemScreen(screenX, screenY, appObjects) {
6
7
  const uc = DragLabelDropUC.get(appObjects);
7
8
  if (!uc) {
@@ -11,7 +12,7 @@ export function releaseLabelDropAnswerItemScreen(screenX, screenY, appObjects) {
11
12
  let pickOffsetX = 0;
12
13
  let pickOffsetY = 0;
13
14
  const framedScreen = appObjects.getSingleton(FramedScreenEntity.type);
14
- const renderCanvas = framedScreen?.getContainerByID("Render_Canvas");
15
+ const renderCanvas = framedScreen?.getContainerByID(RENDER_CANVAS_FRAMED_CONTAINER_ID);
15
16
  if (renderCanvas) {
16
17
  pickOffsetX += renderCanvas.position.x;
17
18
  pickOffsetY += renderCanvas.position.y;
@@ -1 +1 @@
1
- {"version":3,"file":"releaseLabelDropAnswerItemScreen.js","sourceRoot":"","sources":["../../../../src/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,MAAM,UAAU,gCAAgC,CAC9C,OAAe,EACf,OAAe,EACf,UAAyB;IAEzB,MAAM,EAAE,GAAG,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC3C,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,UAAU,CAAC,aAAa,CACtB,4BAA4B,EAC5B,gCAAgC,CACjC,CAAC;QACF,OAAO;IACT,CAAC;IAED,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,WAAW,GAAG,CAAC,CAAC;IAEpB,MAAM,YAAY,GAAG,UAAU,CAAC,YAAY,CAC1C,kBAAkB,CAAC,IAAI,CACxB,CAAC;IAEF,MAAM,YAAY,GAAG,YAAY,EAAE,gBAAgB,CAAC,eAAe,CAAC,CAAC;IACrE,IAAI,YAAY,EAAE,CAAC;QACjB,WAAW,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;QACvC,WAAW,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,GAAG,GAAG,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,eAAe,CAC5D,IAAI,OAAO,CAAC,OAAO,GAAG,WAAW,EAAE,OAAO,GAAG,WAAW,CAAC,CAC1D,CAAC;IACF,IAAI,GAAG,EAAE,CAAC;QACR,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClB,CAAC;AACH,CAAC","sourcesContent":["import { AppObjectRepo } from \"@vived/core\";\r\nimport { Vector2 } from \"@vived/core\";\r\nimport { PixelToSceneRayUC } from \"../../Babylon/UC/PixelToSceneRayUC\";\r\nimport { FramedScreenEntity } from \"../../FramedScreen/Entities/FramedScreenEntity\";\r\nimport { DragLabelDropUC } from \"../UseCases/DragLabelDropUC\";\r\n\r\nexport function releaseLabelDropAnswerItemScreen(\r\n screenX: number,\r\n screenY: number,\r\n appObjects: AppObjectRepo\r\n) {\r\n const uc = DragLabelDropUC.get(appObjects);\r\n if (!uc) {\r\n appObjects.submitWarning(\r\n \"releaseLabelDropAnswerItem\",\r\n \"Unable to find DragLabelDropUC\"\r\n );\r\n return;\r\n }\r\n\r\n let pickOffsetX = 0;\r\n let pickOffsetY = 0;\r\n\r\n const framedScreen = appObjects.getSingleton<FramedScreenEntity>(\r\n FramedScreenEntity.type\r\n );\r\n\r\n const renderCanvas = framedScreen?.getContainerByID(\"Render_Canvas\");\r\n if (renderCanvas) {\r\n pickOffsetX += renderCanvas.position.x;\r\n pickOffsetY += renderCanvas.position.y;\r\n }\r\n\r\n const ray = PixelToSceneRayUC.get(appObjects)?.pixelToSceneRay(\r\n new Vector2(screenX - pickOffsetX, screenY - pickOffsetY)\r\n );\r\n if (ray) {\r\n uc.release(ray);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"releaseLabelDropAnswerItemScreen.js","sourceRoot":"","sources":["../../../../src/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,iCAAiC,EAAE,MAAM,oBAAoB,CAAC;AAEvE,MAAM,UAAU,gCAAgC,CAC9C,OAAe,EACf,OAAe,EACf,UAAyB;IAEzB,MAAM,EAAE,GAAG,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC3C,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,UAAU,CAAC,aAAa,CACtB,4BAA4B,EAC5B,gCAAgC,CACjC,CAAC;QACF,OAAO;IACT,CAAC;IAED,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,WAAW,GAAG,CAAC,CAAC;IAEpB,MAAM,YAAY,GAAG,UAAU,CAAC,YAAY,CAC1C,kBAAkB,CAAC,IAAI,CACxB,CAAC;IAEF,MAAM,YAAY,GAAG,YAAY,EAAE,gBAAgB,CAAC,iCAAiC,CAAC,CAAC;IACvF,IAAI,YAAY,EAAE,CAAC;QACjB,WAAW,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;QACvC,WAAW,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,GAAG,GAAG,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,eAAe,CAC5D,IAAI,OAAO,CAAC,OAAO,GAAG,WAAW,EAAE,OAAO,GAAG,WAAW,CAAC,CAC1D,CAAC;IACF,IAAI,GAAG,EAAE,CAAC;QACR,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClB,CAAC;AACH,CAAC","sourcesContent":["import { AppObjectRepo } from \"@vived/core\";\r\nimport { Vector2 } from \"@vived/core\";\r\nimport { PixelToSceneRayUC } from \"../../Babylon/UC/PixelToSceneRayUC\";\r\nimport { FramedScreenEntity } from \"../../FramedScreen/Entities/FramedScreenEntity\";\r\nimport { DragLabelDropUC } from \"../UseCases/DragLabelDropUC\";\r\nimport { RENDER_CANVAS_FRAMED_CONTAINER_ID } from \"../../FramedScreen\";\r\n\r\nexport function releaseLabelDropAnswerItemScreen(\r\n screenX: number,\r\n screenY: number,\r\n appObjects: AppObjectRepo\r\n) {\r\n const uc = DragLabelDropUC.get(appObjects);\r\n if (!uc) {\r\n appObjects.submitWarning(\r\n \"releaseLabelDropAnswerItem\",\r\n \"Unable to find DragLabelDropUC\"\r\n );\r\n return;\r\n }\r\n\r\n let pickOffsetX = 0;\r\n let pickOffsetY = 0;\r\n\r\n const framedScreen = appObjects.getSingleton<FramedScreenEntity>(\r\n FramedScreenEntity.type\r\n );\r\n\r\n const renderCanvas = framedScreen?.getContainerByID(RENDER_CANVAS_FRAMED_CONTAINER_ID);\r\n if (renderCanvas) {\r\n pickOffsetX += renderCanvas.position.x;\r\n pickOffsetY += renderCanvas.position.y;\r\n }\r\n\r\n const ray = PixelToSceneRayUC.get(appObjects)?.pixelToSceneRay(\r\n new Vector2(screenX - pickOffsetX, screenY - pickOffsetY)\r\n );\r\n if (ray) {\r\n uc.release(ray);\r\n }\r\n}\r\n"]}
@@ -6,6 +6,7 @@ import { makeFramedContainerPM } from "../../FramedScreen/PM/FramedContainerPM";
6
6
  import { makeLabelDropRepo } from "../Entities/LabelDropRepo";
7
7
  import { makeMockDragLabelDropUC } from "../Mocks/MockDragLabelDropUC";
8
8
  import { releaseLabelDropAnswerItemScreen } from "./releaseLabelDropAnswerItemScreen";
9
+ import { RENDER_CANVAS_FRAMED_CONTAINER_ID } from "../../FramedScreen";
9
10
  function makeTestRig() {
10
11
  const appObjects = makeAppObjectRepo();
11
12
  const ao = appObjects.getOrCreate("ao");
@@ -26,7 +27,7 @@ describe("Release Drag Label Drop Answer Item", () => {
26
27
  const { mockUC, appObjects, pixelToSceneRayUC } = makeTestRig();
27
28
  mockUC.release.mockClear();
28
29
  const framedScreen = makeFramedScreen(appObjects.getOrCreate("FramedScreen"));
29
- const ao = appObjects.getOrCreate("Render_Canvas");
30
+ const ao = appObjects.getOrCreate(RENDER_CANVAS_FRAMED_CONTAINER_ID);
30
31
  const renderCanvas = makeFramedScreenContainer(ao);
31
32
  makeFramedContainerPM(ao);
32
33
  framedScreen.addContainer(renderCanvas);
@@ -1 +1 @@
1
- {"version":3,"file":"releaseLabelDropAnswerItemScreen.test.js","sourceRoot":"","sources":["../../../../src/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EACL,gBAAgB,EAChB,yBAAyB,GAC1B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AAEtF,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IAEvC,MAAM,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,eAAe,GAAG,iBAAiB,CAAC,EAAE,CAAC,CAAC;IAE9C,MAAM,MAAM,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;IAEnD,eAAe,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IAErD,MAAM,iBAAiB,GAAG,yBAAyB,CACjD,UAAU,CACX,CAAC,eAAe,CAAC,eAAe,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC;IAE5D,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;AACxE,CAAC;AAED,QAAQ,CAAC,qCAAqC,EAAE,GAAG,EAAE;IACnD,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QAC7C,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QAE3B,gCAAgC,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;QACrD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,GAAG,WAAW,EAAE,CAAC;QAChE,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QAE3B,MAAM,YAAY,GAAG,gBAAgB,CACnC,UAAU,CAAC,WAAW,CAAC,cAAc,CAAC,CACvC,CAAC;QACF,MAAM,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QACnD,MAAM,YAAY,GAAG,yBAAyB,CAAC,EAAE,CAAC,CAAC;QACnD,qBAAqB,CAAC,EAAE,CAAC,CAAC;QAC1B,YAAY,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QACxC,YAAY,CAAC,QAAQ,GAAG,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAE1C,MAAM,UAAU,GAAG,IAAI,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACvC,MAAM,cAAc,GAAG,IAAI,OAAO,CAChC,UAAU,CAAC,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,EACtC,UAAU,CAAC,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,CACvC,CAAC;QAEF,gCAAgC,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;QACrD,MAAM,CAAC,iBAAiB,CAAC,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport { ParametricLine, Vector2 } from \"@vived/core\";\r\nimport { makeMockPixelToSceneRayUC } from \"../../Babylon/Mocks/MockPixelToSceneRayUC\";\r\nimport {\r\n makeFramedScreen,\r\n makeFramedScreenContainer,\r\n} from \"../../FramedScreen/Entities\";\r\nimport { makeFramedContainerPM } from \"../../FramedScreen/PM/FramedContainerPM\";\r\nimport { makeLabelDropRepo } from \"../Entities/LabelDropRepo\";\r\nimport { makeMockDragLabelDropUC } from \"../Mocks/MockDragLabelDropUC\";\r\nimport { releaseLabelDropAnswerItemScreen } from \"./releaseLabelDropAnswerItemScreen\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n\r\n const ao = appObjects.getOrCreate(\"ao\");\r\n const labelDropEntity = makeLabelDropRepo(ao);\r\n\r\n const mockUC = makeMockDragLabelDropUC(appObjects);\r\n\r\n labelDropEntity.makeLabelDropItem(\"labelDropTestID\");\r\n\r\n const pixelToSceneRayUC = makeMockPixelToSceneRayUC(\r\n appObjects\r\n ).pixelToSceneRay.mockReturnValue(ParametricLine.Forward());\r\n\r\n return { appObjects, ao, labelDropEntity, mockUC, pixelToSceneRayUC };\r\n}\r\n\r\ndescribe(\"Release Drag Label Drop Answer Item\", () => {\r\n it(\"Calls release on the UC\", () => {\r\n const { mockUC, appObjects } = makeTestRig();\r\n mockUC.release.mockClear();\r\n\r\n releaseLabelDropAnswerItemScreen(10, 20, appObjects);\r\n expect(mockUC.release).toHaveBeenCalledWith(ParametricLine.Forward());\r\n });\r\n\r\n it(\"Offsets with the render canvas if it exists\", () => {\r\n const { mockUC, appObjects, pixelToSceneRayUC } = makeTestRig();\r\n mockUC.release.mockClear();\r\n\r\n const framedScreen = makeFramedScreen(\r\n appObjects.getOrCreate(\"FramedScreen\")\r\n );\r\n const ao = appObjects.getOrCreate(\"Render_Canvas\");\r\n const renderCanvas = makeFramedScreenContainer(ao);\r\n makeFramedContainerPM(ao);\r\n framedScreen.addContainer(renderCanvas);\r\n renderCanvas.position = new Vector2(1, 2);\r\n\r\n const releasePos = new Vector2(10, 20);\r\n const expectedOffSet = new Vector2(\r\n releasePos.x - renderCanvas.position.x,\r\n releasePos.y - renderCanvas.position.y\r\n );\r\n\r\n releaseLabelDropAnswerItemScreen(10, 20, appObjects);\r\n expect(pixelToSceneRayUC).toHaveBeenCalledWith(expectedOffSet);\r\n });\r\n});\r\n"]}
1
+ {"version":3,"file":"releaseLabelDropAnswerItemScreen.test.js","sourceRoot":"","sources":["../../../../src/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport { ParametricLine, Vector2 } from \"@vived/core\";\r\nimport { makeMockPixelToSceneRayUC } from \"../../Babylon/Mocks/MockPixelToSceneRayUC\";\r\nimport {\r\n makeFramedScreen,\r\n makeFramedScreenContainer,\r\n} from \"../../FramedScreen/Entities\";\r\nimport { makeFramedContainerPM } from \"../../FramedScreen/PM/FramedContainerPM\";\r\nimport { makeLabelDropRepo } from \"../Entities/LabelDropRepo\";\r\nimport { makeMockDragLabelDropUC } from \"../Mocks/MockDragLabelDropUC\";\r\nimport { releaseLabelDropAnswerItemScreen } from \"./releaseLabelDropAnswerItemScreen\";\r\nimport { RENDER_CANVAS_FRAMED_CONTAINER_ID } from \"../../FramedScreen\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n\r\n const ao = appObjects.getOrCreate(\"ao\");\r\n const labelDropEntity = makeLabelDropRepo(ao);\r\n\r\n const mockUC = makeMockDragLabelDropUC(appObjects);\r\n\r\n labelDropEntity.makeLabelDropItem(\"labelDropTestID\");\r\n\r\n const pixelToSceneRayUC = makeMockPixelToSceneRayUC(\r\n appObjects\r\n ).pixelToSceneRay.mockReturnValue(ParametricLine.Forward());\r\n\r\n return { appObjects, ao, labelDropEntity, mockUC, pixelToSceneRayUC };\r\n}\r\n\r\ndescribe(\"Release Drag Label Drop Answer Item\", () => {\r\n it(\"Calls release on the UC\", () => {\r\n const { mockUC, appObjects } = makeTestRig();\r\n mockUC.release.mockClear();\r\n\r\n releaseLabelDropAnswerItemScreen(10, 20, appObjects);\r\n expect(mockUC.release).toHaveBeenCalledWith(ParametricLine.Forward());\r\n });\r\n\r\n it(\"Offsets with the render canvas if it exists\", () => {\r\n const { mockUC, appObjects, pixelToSceneRayUC } = makeTestRig();\r\n mockUC.release.mockClear();\r\n\r\n const framedScreen = makeFramedScreen(\r\n appObjects.getOrCreate(\"FramedScreen\")\r\n );\r\n const ao = appObjects.getOrCreate(RENDER_CANVAS_FRAMED_CONTAINER_ID);\r\n const renderCanvas = makeFramedScreenContainer(ao);\r\n makeFramedContainerPM(ao);\r\n framedScreen.addContainer(renderCanvas);\r\n renderCanvas.position = new Vector2(1, 2);\r\n\r\n const releasePos = new Vector2(10, 20);\r\n const expectedOffSet = new Vector2(\r\n releasePos.x - renderCanvas.position.x,\r\n releasePos.y - renderCanvas.position.y\r\n );\r\n\r\n releaseLabelDropAnswerItemScreen(10, 20, appObjects);\r\n expect(pixelToSceneRayUC).toHaveBeenCalledWith(expectedOffSet);\r\n });\r\n});\r\n"]}
@@ -9,6 +9,8 @@ function makeTestRig() {
9
9
  const appAO = appObjects.getOrCreate("App");
10
10
  const undo = makeUndoRedoEntity(appObjects.getOrCreate("Undo"));
11
11
  const mockDispatchStateChange = makeMockDispatchStateChange(appObjects);
12
+ const doDispatchMock = jest.fn();
13
+ mockDispatchStateChange.doDispatch = doDispatchMock;
12
14
  const labelDropAO = appObjects.getOrCreate("repo");
13
15
  const repo = makeLabelDropRepo(labelDropAO);
14
16
  const dropItem = repo.makeLabelDropItem("id1");
@@ -21,7 +23,7 @@ function makeTestRig() {
21
23
  undo,
22
24
  repo,
23
25
  deleteAllLabelDropUC,
24
- mockDispatchStateChange,
26
+ doDispatchMock,
25
27
  registerSpy,
26
28
  };
27
29
  }
@@ -41,23 +43,23 @@ describe("Delete All Label Drop Answer Items Use Cases", () => {
41
43
  expect(repo.getAll().length).toEqual(0);
42
44
  });
43
45
  it("Dispatches state change", () => {
44
- const { deleteAllLabelDropUC, mockDispatchStateChange } = makeTestRig();
46
+ const { deleteAllLabelDropUC, doDispatchMock } = makeTestRig();
45
47
  deleteAllLabelDropUC.delete();
46
- expect(mockDispatchStateChange.doDispatch).toHaveBeenCalled();
48
+ expect(doDispatchMock).toHaveBeenCalled();
47
49
  });
48
50
  it("Can undo and redo the delete", () => {
49
- const { deleteAllLabelDropUC, undo, mockDispatchStateChange, repo } = makeTestRig();
51
+ const { deleteAllLabelDropUC, undo, doDispatchMock, repo } = makeTestRig();
50
52
  deleteAllLabelDropUC.delete();
51
53
  expect(repo.hasForAppObject("id1")).toEqual(false);
52
- mockDispatchStateChange.doDispatch.mockClear();
54
+ doDispatchMock.mockClear();
53
55
  undo.doUndo();
54
56
  expect(repo.hasForAppObject("id1")).toEqual(true);
55
57
  expect(repo.getForAppObject("id1")?.label).toEqual("Label");
56
58
  expect(repo.getForAppObject("id1")?.targetIds).toEqual(["obj1"]);
57
- expect(mockDispatchStateChange.doDispatch).toHaveBeenCalledTimes(1);
59
+ expect(doDispatchMock).toHaveBeenCalledTimes(1);
58
60
  undo.doRedo();
59
61
  expect(repo.hasForAppObject("id1")).toEqual(false);
60
- expect(mockDispatchStateChange.doDispatch).toHaveBeenCalledTimes(2);
62
+ expect(doDispatchMock).toHaveBeenCalledTimes(2);
61
63
  });
62
64
  });
63
65
  //# sourceMappingURL=DeleteAllLabelDropUC.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DeleteAllLabelDropUC.test.js","sourceRoot":"","sources":["../../../../src/LabelDrop/UseCases/DeleteAllLabelDropUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport { makeMockDispatchStateChange } from \"../../Dispatcher/Mocks/MockDispatchStateChange\";\r\nimport { makeUndoRedoEntity } from \"../../UndoRedo/Entities/UndoRedoEntity\";\r\nimport { makeLabelDropRepo } from \"../Entities/LabelDropRepo\";\r\nimport {\r\n DeleteAllLabelDropUC,\r\n makeDeleteAllLabelDropUC,\r\n} from \"./DeleteAllLabelDropUC\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n const registerSpy = jest.spyOn(appObjects, \"registerSingleton\");\r\n\r\n const appAO = appObjects.getOrCreate(\"App\");\r\n const undo = makeUndoRedoEntity(appObjects.getOrCreate(\"Undo\"));\r\n const mockDispatchStateChange = makeMockDispatchStateChange(appObjects);\r\n\r\n const labelDropAO = appObjects.getOrCreate(\"repo\");\r\n const repo = makeLabelDropRepo(labelDropAO);\r\n\r\n const dropItem = repo.makeLabelDropItem(\"id1\");\r\n dropItem.label = \"Label\";\r\n dropItem.targetIds = [\"obj1\"];\r\n\r\n const deleteAllLabelDropUC = makeDeleteAllLabelDropUC(labelDropAO);\r\n\r\n return {\r\n appAO,\r\n appObjects,\r\n undo,\r\n repo,\r\n deleteAllLabelDropUC,\r\n mockDispatchStateChange,\r\n registerSpy,\r\n };\r\n}\r\n\r\ndescribe(\"Delete All Label Drop Answer Items Use Cases\", () => {\r\n it(\"Get it UC\", () => {\r\n const { appObjects, deleteAllLabelDropUC } = makeTestRig();\r\n\r\n expect(DeleteAllLabelDropUC.get(appObjects)).toEqual(deleteAllLabelDropUC);\r\n });\r\n\r\n it(\"Registers as the singleton\", () => {\r\n const { deleteAllLabelDropUC, registerSpy } = makeTestRig();\r\n\r\n expect(registerSpy).toHaveBeenCalledWith(deleteAllLabelDropUC);\r\n });\r\n\r\n it(\"Deletes all Label Drop Answer Items\", () => {\r\n const { deleteAllLabelDropUC, repo } = makeTestRig();\r\n\r\n expect(repo.getAll().length).toEqual(1);\r\n\r\n deleteAllLabelDropUC.delete();\r\n\r\n expect(repo.getAll().length).toEqual(0);\r\n });\r\n\r\n it(\"Dispatches state change\", () => {\r\n const { deleteAllLabelDropUC, mockDispatchStateChange } = makeTestRig();\r\n\r\n deleteAllLabelDropUC.delete();\r\n\r\n expect(mockDispatchStateChange.doDispatch).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Can undo and redo the delete\", () => {\r\n const { deleteAllLabelDropUC, undo, mockDispatchStateChange, repo } =\r\n makeTestRig();\r\n\r\n deleteAllLabelDropUC.delete();\r\n expect(repo.hasForAppObject(\"id1\")).toEqual(false);\r\n\r\n mockDispatchStateChange.doDispatch.mockClear();\r\n\r\n undo.doUndo();\r\n\r\n expect(repo.hasForAppObject(\"id1\")).toEqual(true);\r\n expect(repo.getForAppObject(\"id1\")?.label).toEqual(\"Label\");\r\n expect(repo.getForAppObject(\"id1\")?.targetIds).toEqual([\"obj1\"]);\r\n expect(mockDispatchStateChange.doDispatch).toHaveBeenCalledTimes(1);\r\n\r\n undo.doRedo();\r\n\r\n expect(repo.hasForAppObject(\"id1\")).toEqual(false);\r\n expect(mockDispatchStateChange.doDispatch).toHaveBeenCalledTimes(2);\r\n });\r\n});\r\n"]}
1
+ {"version":3,"file":"DeleteAllLabelDropUC.test.js","sourceRoot":"","sources":["../../../../src/LabelDrop/UseCases/DeleteAllLabelDropUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport { makeMockDispatchStateChange } from \"../../Dispatcher/Mocks/MockDispatchStateChange\";\r\nimport { makeUndoRedoEntity } from \"../../UndoRedo/Entities/UndoRedoEntity\";\r\nimport { makeLabelDropRepo } from \"../Entities/LabelDropRepo\";\r\nimport {\r\n DeleteAllLabelDropUC,\r\n makeDeleteAllLabelDropUC,\r\n} from \"./DeleteAllLabelDropUC\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n const registerSpy = jest.spyOn(appObjects, \"registerSingleton\");\r\n\r\n const appAO = appObjects.getOrCreate(\"App\");\r\n const undo = makeUndoRedoEntity(appObjects.getOrCreate(\"Undo\"));\r\n const mockDispatchStateChange = makeMockDispatchStateChange(appObjects);\r\n const doDispatchMock = jest.fn();\r\n mockDispatchStateChange.doDispatch = doDispatchMock;\r\n\r\n const labelDropAO = appObjects.getOrCreate(\"repo\");\r\n const repo = makeLabelDropRepo(labelDropAO);\r\n\r\n const dropItem = repo.makeLabelDropItem(\"id1\");\r\n dropItem.label = \"Label\";\r\n dropItem.targetIds = [\"obj1\"];\r\n\r\n const deleteAllLabelDropUC = makeDeleteAllLabelDropUC(labelDropAO);\r\n\r\n return {\r\n appAO,\r\n appObjects,\r\n undo,\r\n repo,\r\n deleteAllLabelDropUC,\r\n doDispatchMock,\r\n registerSpy,\r\n };\r\n}\r\n\r\ndescribe(\"Delete All Label Drop Answer Items Use Cases\", () => {\r\n it(\"Get it UC\", () => {\r\n const { appObjects, deleteAllLabelDropUC } = makeTestRig();\r\n\r\n expect(DeleteAllLabelDropUC.get(appObjects)).toEqual(deleteAllLabelDropUC);\r\n });\r\n\r\n it(\"Registers as the singleton\", () => {\r\n const { deleteAllLabelDropUC, registerSpy } = makeTestRig();\r\n\r\n expect(registerSpy).toHaveBeenCalledWith(deleteAllLabelDropUC);\r\n });\r\n\r\n it(\"Deletes all Label Drop Answer Items\", () => {\r\n const { deleteAllLabelDropUC, repo } = makeTestRig();\r\n\r\n expect(repo.getAll().length).toEqual(1);\r\n\r\n deleteAllLabelDropUC.delete();\r\n\r\n expect(repo.getAll().length).toEqual(0);\r\n });\r\n\r\n it(\"Dispatches state change\", () => {\r\n const { deleteAllLabelDropUC, doDispatchMock } = makeTestRig();\r\n\r\n deleteAllLabelDropUC.delete();\r\n\r\n expect(doDispatchMock).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Can undo and redo the delete\", () => {\r\n const { deleteAllLabelDropUC, undo, doDispatchMock, repo } = makeTestRig();\r\n\r\n deleteAllLabelDropUC.delete();\r\n expect(repo.hasForAppObject(\"id1\")).toEqual(false);\r\n\r\n doDispatchMock.mockClear();\r\n\r\n undo.doUndo();\r\n\r\n expect(repo.hasForAppObject(\"id1\")).toEqual(true);\r\n expect(repo.getForAppObject(\"id1\")?.label).toEqual(\"Label\");\r\n expect(repo.getForAppObject(\"id1\")?.targetIds).toEqual([\"obj1\"]);\r\n expect(doDispatchMock).toHaveBeenCalledTimes(1);\r\n\r\n undo.doRedo();\r\n\r\n expect(repo.hasForAppObject(\"id1\")).toEqual(false);\r\n expect(doDispatchMock).toHaveBeenCalledTimes(2);\r\n });\r\n});\r\n"]}
@@ -8,6 +8,8 @@ function makeTestRig() {
8
8
  const registerSpy = jest.spyOn(appObjects, "registerSingleton");
9
9
  const undo = makeUndoRedoEntity(appObjects.getOrCreate("Undo"));
10
10
  const mockDispatchStateChange = makeMockDispatchStateChange(appObjects);
11
+ const doDispatchMock = jest.fn();
12
+ mockDispatchStateChange.doDispatch = doDispatchMock;
11
13
  const labelDropAO = appObjects.getOrCreate("repo");
12
14
  const repo = makeLabelDropRepo(labelDropAO);
13
15
  const dropItem = repo.makeLabelDropItem("id1");
@@ -19,7 +21,7 @@ function makeTestRig() {
19
21
  repo,
20
22
  deleteLabelDropUC,
21
23
  registerSpy,
22
- mockDispatchStateChange,
24
+ doDispatchMock,
23
25
  undo,
24
26
  dropItem,
25
27
  };
@@ -40,9 +42,9 @@ describe("Delete Label drop UC", () => {
40
42
  expect(spy).toHaveBeenCalledWith("id1");
41
43
  });
42
44
  it("Dispatches a state change", () => {
43
- const { deleteLabelDropUC, mockDispatchStateChange } = makeTestRig();
45
+ const { deleteLabelDropUC, doDispatchMock } = makeTestRig();
44
46
  deleteLabelDropUC.deleteLabelDrop("id1");
45
- expect(mockDispatchStateChange.doDispatch).toHaveBeenCalled();
47
+ expect(doDispatchMock).toHaveBeenCalled();
46
48
  });
47
49
  it("Clears the editing id", () => {
48
50
  const { deleteLabelDropUC, repo } = makeTestRig();
@@ -51,18 +53,18 @@ describe("Delete Label drop UC", () => {
51
53
  expect(repo.editingID).toBeUndefined();
52
54
  });
53
55
  it("Can undo and redo the delete", () => {
54
- const { deleteLabelDropUC, undo, mockDispatchStateChange, repo } = makeTestRig();
56
+ const { deleteLabelDropUC, undo, doDispatchMock, repo } = makeTestRig();
55
57
  deleteLabelDropUC.deleteLabelDrop("id1");
56
58
  expect(repo.hasForAppObject("id1")).toEqual(false);
57
- mockDispatchStateChange.doDispatch.mockClear();
59
+ doDispatchMock.mockClear();
58
60
  undo.doUndo();
59
61
  expect(repo.hasForAppObject("id1")).toEqual(true);
60
62
  expect(repo.getForAppObject("id1")?.label).toEqual("Label");
61
63
  expect(repo.getForAppObject("id1")?.targetIds).toEqual(["obj1"]);
62
- expect(mockDispatchStateChange.doDispatch).toHaveBeenCalledTimes(1);
64
+ expect(doDispatchMock).toHaveBeenCalledTimes(1);
63
65
  undo.doRedo();
64
66
  expect(repo.hasForAppObject("id1")).toEqual(false);
65
- expect(mockDispatchStateChange.doDispatch).toHaveBeenCalledTimes(2);
67
+ expect(doDispatchMock).toHaveBeenCalledTimes(2);
66
68
  });
67
69
  });
68
70
  //# sourceMappingURL=DeleteLabelDropUC.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DeleteLabelDropUC.test.js","sourceRoot":"","sources":["../../../../src/LabelDrop/UseCases/DeleteLabelDropUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport { makeMockDispatchStateChange } from \"../../Dispatcher/Mocks/MockDispatchStateChange\";\r\nimport { makeUndoRedoEntity } from \"../../UndoRedo/Entities/UndoRedoEntity\";\r\nimport { makeLabelDropRepo } from \"../Entities/LabelDropRepo\";\r\nimport { DeleteLabelDropUC, makeDeleteLabelDropUC } from \"./DeleteLabelDropUC\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n const registerSpy = jest.spyOn(appObjects, \"registerSingleton\");\r\n\r\n const undo = makeUndoRedoEntity(appObjects.getOrCreate(\"Undo\"));\r\n const mockDispatchStateChange = makeMockDispatchStateChange(appObjects);\r\n\r\n const labelDropAO = appObjects.getOrCreate(\"repo\");\r\n const repo = makeLabelDropRepo(labelDropAO);\r\n const dropItem = repo.makeLabelDropItem(\"id1\");\r\n dropItem.label = \"Label\";\r\n dropItem.targetIds = [\"obj1\"];\r\n\r\n const deleteLabelDropUC = makeDeleteLabelDropUC(labelDropAO);\r\n\r\n return {\r\n appObjects,\r\n repo,\r\n deleteLabelDropUC,\r\n registerSpy,\r\n mockDispatchStateChange,\r\n undo,\r\n dropItem,\r\n };\r\n}\r\n\r\ndescribe(\"Delete Label drop UC\", () => {\r\n it(\"Get it UC\", () => {\r\n const { appObjects, deleteLabelDropUC } = makeTestRig();\r\n\r\n expect(DeleteLabelDropUC.get(appObjects)).toEqual(deleteLabelDropUC);\r\n });\r\n\r\n it(\"Registers as the singleton\", () => {\r\n const { deleteLabelDropUC, registerSpy } = makeTestRig();\r\n\r\n expect(registerSpy).toHaveBeenCalledWith(deleteLabelDropUC);\r\n });\r\n\r\n it(\"Deletes a label drop\", () => {\r\n const { repo, deleteLabelDropUC } = makeTestRig();\r\n\r\n const spy = jest.spyOn(repo, \"deleteItem\");\r\n\r\n deleteLabelDropUC.deleteLabelDrop(\"id1\");\r\n expect(spy).toHaveBeenCalledWith(\"id1\");\r\n });\r\n\r\n it(\"Dispatches a state change\", () => {\r\n const { deleteLabelDropUC, mockDispatchStateChange } = makeTestRig();\r\n\r\n deleteLabelDropUC.deleteLabelDrop(\"id1\");\r\n\r\n expect(mockDispatchStateChange.doDispatch).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Clears the editing id\", () => {\r\n const { deleteLabelDropUC, repo } = makeTestRig();\r\n\r\n repo.editingID = \"id1\";\r\n deleteLabelDropUC.deleteLabelDrop(\"id1\");\r\n\r\n expect(repo.editingID).toBeUndefined();\r\n });\r\n\r\n it(\"Can undo and redo the delete\", () => {\r\n const { deleteLabelDropUC, undo, mockDispatchStateChange, repo } =\r\n makeTestRig();\r\n\r\n deleteLabelDropUC.deleteLabelDrop(\"id1\");\r\n expect(repo.hasForAppObject(\"id1\")).toEqual(false);\r\n\r\n mockDispatchStateChange.doDispatch.mockClear();\r\n\r\n undo.doUndo();\r\n\r\n expect(repo.hasForAppObject(\"id1\")).toEqual(true);\r\n expect(repo.getForAppObject(\"id1\")?.label).toEqual(\"Label\");\r\n expect(repo.getForAppObject(\"id1\")?.targetIds).toEqual([\"obj1\"]);\r\n expect(mockDispatchStateChange.doDispatch).toHaveBeenCalledTimes(1);\r\n\r\n undo.doRedo();\r\n\r\n expect(repo.hasForAppObject(\"id1\")).toEqual(false);\r\n expect(mockDispatchStateChange.doDispatch).toHaveBeenCalledTimes(2);\r\n });\r\n});\r\n"]}
1
+ {"version":3,"file":"DeleteLabelDropUC.test.js","sourceRoot":"","sources":["../../../../src/LabelDrop/UseCases/DeleteLabelDropUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport { makeMockDispatchStateChange } from \"../../Dispatcher/Mocks/MockDispatchStateChange\";\r\nimport { makeUndoRedoEntity } from \"../../UndoRedo/Entities/UndoRedoEntity\";\r\nimport { makeLabelDropRepo } from \"../Entities/LabelDropRepo\";\r\nimport { DeleteLabelDropUC, makeDeleteLabelDropUC } from \"./DeleteLabelDropUC\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n const registerSpy = jest.spyOn(appObjects, \"registerSingleton\");\r\n\r\n const undo = makeUndoRedoEntity(appObjects.getOrCreate(\"Undo\"));\r\n const mockDispatchStateChange = makeMockDispatchStateChange(appObjects);\r\n const doDispatchMock = jest.fn();\r\n mockDispatchStateChange.doDispatch = doDispatchMock;\r\n\r\n const labelDropAO = appObjects.getOrCreate(\"repo\");\r\n const repo = makeLabelDropRepo(labelDropAO);\r\n const dropItem = repo.makeLabelDropItem(\"id1\");\r\n dropItem.label = \"Label\";\r\n dropItem.targetIds = [\"obj1\"];\r\n\r\n const deleteLabelDropUC = makeDeleteLabelDropUC(labelDropAO);\r\n\r\n return {\r\n appObjects,\r\n repo,\r\n deleteLabelDropUC,\r\n registerSpy,\r\n doDispatchMock,\r\n undo,\r\n dropItem,\r\n };\r\n}\r\n\r\ndescribe(\"Delete Label drop UC\", () => {\r\n it(\"Get it UC\", () => {\r\n const { appObjects, deleteLabelDropUC } = makeTestRig();\r\n\r\n expect(DeleteLabelDropUC.get(appObjects)).toEqual(deleteLabelDropUC);\r\n });\r\n\r\n it(\"Registers as the singleton\", () => {\r\n const { deleteLabelDropUC, registerSpy } = makeTestRig();\r\n\r\n expect(registerSpy).toHaveBeenCalledWith(deleteLabelDropUC);\r\n });\r\n\r\n it(\"Deletes a label drop\", () => {\r\n const { repo, deleteLabelDropUC } = makeTestRig();\r\n\r\n const spy = jest.spyOn(repo, \"deleteItem\");\r\n\r\n deleteLabelDropUC.deleteLabelDrop(\"id1\");\r\n expect(spy).toHaveBeenCalledWith(\"id1\");\r\n });\r\n\r\n it(\"Dispatches a state change\", () => {\r\n const { deleteLabelDropUC, doDispatchMock } = makeTestRig();\r\n\r\n deleteLabelDropUC.deleteLabelDrop(\"id1\");\r\n\r\n expect(doDispatchMock).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Clears the editing id\", () => {\r\n const { deleteLabelDropUC, repo } = makeTestRig();\r\n\r\n repo.editingID = \"id1\";\r\n deleteLabelDropUC.deleteLabelDrop(\"id1\");\r\n\r\n expect(repo.editingID).toBeUndefined();\r\n });\r\n\r\n it(\"Can undo and redo the delete\", () => {\r\n const { deleteLabelDropUC, undo, doDispatchMock, repo } = makeTestRig();\r\n\r\n deleteLabelDropUC.deleteLabelDrop(\"id1\");\r\n expect(repo.hasForAppObject(\"id1\")).toEqual(false);\r\n\r\n doDispatchMock.mockClear();\r\n\r\n undo.doUndo();\r\n\r\n expect(repo.hasForAppObject(\"id1\")).toEqual(true);\r\n expect(repo.getForAppObject(\"id1\")?.label).toEqual(\"Label\");\r\n expect(repo.getForAppObject(\"id1\")?.targetIds).toEqual([\"obj1\"]);\r\n expect(doDispatchMock).toHaveBeenCalledTimes(1);\r\n\r\n undo.doRedo();\r\n\r\n expect(repo.hasForAppObject(\"id1\")).toEqual(false);\r\n expect(doDispatchMock).toHaveBeenCalledTimes(2);\r\n });\r\n});\r\n"]}
@@ -13,7 +13,9 @@ function makeTestRig() {
13
13
  const labelDrop = makeLabelDropRepo(labelDropAO);
14
14
  const changeObserver = jest.fn();
15
15
  labelDrop.addChangeObserver(changeObserver);
16
- const mockPick = makeMockSceneRayPickUC(appObjects);
16
+ const mockRayPick = makeMockSceneRayPickUC(appObjects);
17
+ const mockPick = jest.fn().mockReturnValue({ appObjectID: "obj" });
18
+ mockRayPick.sceneRayPick = mockPick;
17
19
  const dragLabelDropUC = makeDragLabelDropUC(labelDropAO);
18
20
  challenge.selectedChallenge = "LABEL_DROP";
19
21
  baseApp.isAuthoring = false;
@@ -63,7 +65,7 @@ describe("Drag Label Drop UC", () => {
63
65
  });
64
66
  it("Submits the object hit when released", () => {
65
67
  const { dragLabelDropUC, labelDrop, mockPick } = makeTestRig();
66
- mockPick.sceneRayPick.mockReturnValue({
68
+ mockPick.mockReturnValue({
67
69
  worldPickPoint: new Vector3(1, 2, 3),
68
70
  hit: true,
69
71
  normal: new Vector3(4, 5, 6),
@@ -79,7 +81,7 @@ describe("Drag Label Drop UC", () => {
79
81
  it("submits a label drop answer if an app object is hit", async () => {
80
82
  jest.useFakeTimers();
81
83
  const { dragLabelDropUC, labelDrop, mockPick } = makeTestRig();
82
- mockPick.sceneRayPick.mockReturnValue({
84
+ mockPick.mockReturnValue({
83
85
  worldPickPoint: new Vector3(1, 2, 3),
84
86
  hit: true,
85
87
  normal: new Vector3(4, 5, 6),
@@ -94,7 +96,7 @@ describe("Drag Label Drop UC", () => {
94
96
  });
95
97
  it("Does not submit a label drop answer if an app object is not hit", async () => {
96
98
  const { dragLabelDropUC, labelDrop, mockPick } = makeTestRig();
97
- mockPick.sceneRayPick.mockReturnValue({
99
+ mockPick.mockReturnValue({
98
100
  worldPickPoint: new Vector3(1, 2, 3),
99
101
  hit: false,
100
102
  normal: new Vector3(4, 5, 6),
@@ -106,7 +108,7 @@ describe("Drag Label Drop UC", () => {
106
108
  });
107
109
  it("Does not submit if no object hit on release", () => {
108
110
  const { dragLabelDropUC, labelDrop, mockPick } = makeTestRig();
109
- mockPick.sceneRayPick.mockReturnValue({
111
+ mockPick.mockReturnValue({
110
112
  worldPickPoint: new Vector3(1, 2, 3),
111
113
  hit: false,
112
114
  normal: new Vector3(4, 5, 6),
@@ -120,7 +122,7 @@ describe("Drag Label Drop UC", () => {
120
122
  it("Does not wait to animate if no object is hit", async () => {
121
123
  jest.useFakeTimers();
122
124
  const { dragLabelDropUC, labelDrop, mockPick } = makeTestRig();
123
- mockPick.sceneRayPick.mockReturnValue({
125
+ mockPick.mockReturnValue({
124
126
  worldPickPoint: new Vector3(1, 2, 3),
125
127
  hit: false,
126
128
  normal: new Vector3(4, 5, 6),
@@ -1 +1 @@
1
- {"version":3,"file":"DragLabelDropUC.test.js","sourceRoot":"","sources":["../../../../src/LabelDrop/UseCases/DragLabelDropUC.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,EACL,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IAEvC,MAAM,SAAS,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,gBAAgB,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;IAEpE,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAExD,MAAM,SAAS,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IACjD,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACjC,SAAS,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAE5C,MAAM,QAAQ,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAEpD,MAAM,eAAe,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAEzD,SAAS,CAAC,iBAAiB,GAAG,YAAY,CAAC;IAC3C,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;IAE5B,OAAO;QACL,UAAU;QACV,SAAS;QACT,eAAe;QACf,cAAc;QACd,OAAO;QACP,SAAS;QACT,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,GAAG,WAAW,EAAE,CAAC;QACrD,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,aAAa,EAAE,CAAC;QAE7C,eAAe,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACrD,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5C,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC7D,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,WAAW,EAAE,CAAC;QAChE,SAAS,CAAC,iBAAiB,GAAG,MAAM,CAAC;QAErC,eAAe,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAClD,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,aAAa,EAAE,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,WAAW,EAAE,CAAC;QAC9D,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;QAE3B,eAAe,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAClD,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,aAAa,EAAE,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,GAAG,WAAW,EAAE,CAAC;QAErD,eAAe,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACjD,eAAe,CAAC,aAAa,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACjD,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,GAAG,WAAW,EAAE,CAAC;QACrD,SAAS,CAAC,cAAc,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAE1C,eAAe,CAAC,aAAa,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACjD,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,WAAW,EAAE,CAAC;QAE/D,QAAQ,CAAC,YAAY,CAAC,eAAe,CAAC;YACpC,cAAc,EAAE,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACpC,GAAG,EAAE,IAAI;YACT,MAAM,EAAE,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC5B,cAAc,EAAE;gBACd,WAAW,EAAE,SAAS;aACvB;SACF,CAAC,CAAC;QAEH,eAAe,CAAC,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACzD,SAAS,CAAC,eAAe,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACtC,eAAe,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC;QAElD,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,oBAAoB,CACpD,YAAY,EACZ,SAAS,CACV,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACnE,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,WAAW,EAAE,CAAC;QAE/D,QAAQ,CAAC,YAAY,CAAC,eAAe,CAAC;YACpC,cAAc,EAAE,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACpC,GAAG,EAAE,IAAI;YACT,MAAM,EAAE,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC5B,cAAc,EAAE;gBACd,WAAW,EAAE,SAAS;aACvB;SACF,CAAC,CAAC;QAEH,SAAS,CAAC,eAAe,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAEtC,eAAe,CAAC,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAEzD,eAAe,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC;QAElD,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;QAC/E,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,WAAW,EAAE,CAAC;QAE/D,QAAQ,CAAC,YAAY,CAAC,eAAe,CAAC;YACpC,cAAc,EAAE,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACpC,GAAG,EAAE,KAAK;YACV,MAAM,EAAE,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SAC7B,CAAC,CAAC;QAEH,SAAS,CAAC,eAAe,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAEtC,eAAe,CAAC,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAEzD,eAAe,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC;QAElD,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,WAAW,EAAE,CAAC;QAE/D,QAAQ,CAAC,YAAY,CAAC,eAAe,CAAC;YACpC,cAAc,EAAE,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACpC,GAAG,EAAE,KAAK;YACV,MAAM,EAAE,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC5B,cAAc,EAAE,EAAE;SACnB,CAAC,CAAC;QAEH,eAAe,CAAC,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACzD,SAAS,CAAC,eAAe,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACtC,eAAe,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC;QAElD,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC5D,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,WAAW,EAAE,CAAC;QAE/D,QAAQ,CAAC,YAAY,CAAC,eAAe,CAAC;YACpC,cAAc,EAAE,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACpC,GAAG,EAAE,KAAK;YACV,MAAM,EAAE,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SAC7B,CAAC,CAAC;QAEH,eAAe,CAAC,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAEzD,eAAe,CAAC,eAAe,EAAE,CAAC;QAElC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE/B,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport { ParametricLine, Vector2, Vector3 } from \"@vived/core\";\r\nimport { makeMockSceneRayPickUC } from \"../../Babylon/Mocks/MockSceneRayPickUC\";\r\nimport { makeBaseAppState } from \"../../BaseApp\";\r\nimport { makeChallengeEntityMock } from \"../../Challenge/Mocks/ChallengeEntityMock\";\r\nimport {\r\n LabelDropDragMode,\r\n makeLabelDropRepo,\r\n} from \"../Entities/LabelDropRepo\";\r\nimport { makeDragLabelDropUC } from \"./DragLabelDropUC\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n\r\n const challenge = makeChallengeEntityMock(appObjects);\r\n const baseApp = makeBaseAppState(appObjects.getOrCreate(\"BaseApp\"));\r\n\r\n const labelDropAO = appObjects.getOrCreate(\"labelDrop\");\r\n\r\n const labelDrop = makeLabelDropRepo(labelDropAO);\r\n const changeObserver = jest.fn();\r\n labelDrop.addChangeObserver(changeObserver);\r\n\r\n const mockPick = makeMockSceneRayPickUC(appObjects);\r\n\r\n const dragLabelDropUC = makeDragLabelDropUC(labelDropAO);\r\n\r\n challenge.selectedChallenge = \"LABEL_DROP\";\r\n baseApp.isAuthoring = false;\r\n\r\n return {\r\n appObjects,\r\n labelDrop,\r\n dragLabelDropUC,\r\n changeObserver,\r\n baseApp,\r\n challenge,\r\n mockPick,\r\n };\r\n}\r\n\r\ndescribe(\"Drag Label Drop UC\", () => {\r\n it(\"initializes id, screenMode, position, and alpha\", () => {\r\n const { dragLabelDropUC, labelDrop } = makeTestRig();\r\n expect(labelDrop.draggingID).toBeUndefined();\r\n\r\n dragLabelDropUC.initialize(\"id1\", new Vector2(1, 2));\r\n expect(labelDrop.draggingID).toEqual(\"id1\");\r\n expect(labelDrop.dragMode).toEqual(LabelDropDragMode.SCREEN);\r\n expect(labelDrop.dragAlpha).toEqual(1);\r\n expect(labelDrop.screenPosition).toEqual(new Vector2(1, 2));\r\n });\r\n\r\n it(\"Does not initialize if challenge is not label drop\", () => {\r\n const { dragLabelDropUC, labelDrop, challenge } = makeTestRig();\r\n challenge.selectedChallenge = \"NONE\";\r\n\r\n dragLabelDropUC.initialize(\"id1\", Vector2.Zero());\r\n expect(labelDrop.draggingID).toBeUndefined();\r\n });\r\n\r\n it(\"Does not initialize if authoring\", () => {\r\n const { dragLabelDropUC, labelDrop, baseApp } = makeTestRig();\r\n baseApp.isAuthoring = true;\r\n\r\n dragLabelDropUC.initialize(\"id1\", Vector2.Zero());\r\n expect(labelDrop.draggingID).toBeUndefined();\r\n });\r\n\r\n it(\"Can set the 2D position\", () => {\r\n const { dragLabelDropUC, labelDrop } = makeTestRig();\r\n\r\n dragLabelDropUC.initialize(\"id\", Vector2.Zero());\r\n dragLabelDropUC.setPosition2D(new Vector2(1, 2));\r\n expect(labelDrop.screenPosition).toEqual(new Vector2(1, 2));\r\n });\r\n\r\n it(\"Does not set the 2D position if it did not initialize\", () => {\r\n const { dragLabelDropUC, labelDrop } = makeTestRig();\r\n labelDrop.screenPosition = Vector2.Zero();\r\n\r\n dragLabelDropUC.setPosition2D(new Vector2(1, 2));\r\n expect(labelDrop.screenPosition).not.toEqual(new Vector2(1, 2));\r\n });\r\n\r\n it(\"Submits the object hit when released\", () => {\r\n const { dragLabelDropUC, labelDrop, mockPick } = makeTestRig();\r\n\r\n mockPick.sceneRayPick.mockReturnValue({\r\n worldPickPoint: new Vector3(1, 2, 3),\r\n hit: true,\r\n normal: new Vector3(4, 5, 6),\r\n objectPickMeta: {\r\n appObjectID: \"appObj1\",\r\n },\r\n });\r\n\r\n dragLabelDropUC.initialize(\"labelDrop1\", Vector2.Zero());\r\n labelDrop.submitLabelDrop = jest.fn();\r\n dragLabelDropUC.release(ParametricLine.Forward());\r\n\r\n expect(labelDrop.submitLabelDrop).toHaveBeenCalledWith(\r\n \"labelDrop1\",\r\n \"appObj1\"\r\n );\r\n });\r\n\r\n it(\"submits a label drop answer if an app object is hit\", async () => {\r\n jest.useFakeTimers();\r\n\r\n const { dragLabelDropUC, labelDrop, mockPick } = makeTestRig();\r\n\r\n mockPick.sceneRayPick.mockReturnValue({\r\n worldPickPoint: new Vector3(1, 2, 3),\r\n hit: true,\r\n normal: new Vector3(4, 5, 6),\r\n objectPickMeta: {\r\n appObjectID: \"appObj1\",\r\n },\r\n });\r\n\r\n labelDrop.submitLabelDrop = jest.fn();\r\n\r\n dragLabelDropUC.initialize(\"labelDrop1\", Vector2.Zero());\r\n\r\n dragLabelDropUC.release(ParametricLine.Forward());\r\n\r\n expect(labelDrop.submitLabelDrop).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not submit a label drop answer if an app object is not hit\", async () => {\r\n const { dragLabelDropUC, labelDrop, mockPick } = makeTestRig();\r\n\r\n mockPick.sceneRayPick.mockReturnValue({\r\n worldPickPoint: new Vector3(1, 2, 3),\r\n hit: false,\r\n normal: new Vector3(4, 5, 6),\r\n });\r\n\r\n labelDrop.submitLabelDrop = jest.fn();\r\n\r\n dragLabelDropUC.initialize(\"labelDrop1\", Vector2.Zero());\r\n\r\n dragLabelDropUC.release(ParametricLine.Forward());\r\n\r\n expect(labelDrop.submitLabelDrop).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not submit if no object hit on release\", () => {\r\n const { dragLabelDropUC, labelDrop, mockPick } = makeTestRig();\r\n\r\n mockPick.sceneRayPick.mockReturnValue({\r\n worldPickPoint: new Vector3(1, 2, 3),\r\n hit: false,\r\n normal: new Vector3(4, 5, 6),\r\n objectPickMeta: {},\r\n });\r\n\r\n dragLabelDropUC.initialize(\"labelDrop1\", Vector2.Zero());\r\n labelDrop.submitLabelDrop = jest.fn();\r\n dragLabelDropUC.release(ParametricLine.Forward());\r\n\r\n expect(labelDrop.submitLabelDrop).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not wait to animate if no object is hit\", async () => {\r\n jest.useFakeTimers();\r\n\r\n const { dragLabelDropUC, labelDrop, mockPick } = makeTestRig();\r\n\r\n mockPick.sceneRayPick.mockReturnValue({\r\n worldPickPoint: new Vector3(1, 2, 3),\r\n hit: false,\r\n normal: new Vector3(4, 5, 6),\r\n });\r\n\r\n dragLabelDropUC.initialize(\"labelDrop1\", Vector2.Zero());\r\n\r\n dragLabelDropUC.onFinishRelease();\r\n\r\n jest.advanceTimersByTime(1000);\r\n\r\n expect(labelDrop.dragAlpha).toEqual(0);\r\n });\r\n});\r\n"]}
1
+ {"version":3,"file":"DragLabelDropUC.test.js","sourceRoot":"","sources":["../../../../src/LabelDrop/UseCases/DragLabelDropUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport { ParametricLine, Vector2, Vector3 } from \"@vived/core\";\r\nimport { makeMockSceneRayPickUC } from \"../../Babylon/Mocks/MockSceneRayPickUC\";\r\nimport { makeBaseAppState } from \"../../BaseApp\";\r\nimport { makeChallengeEntityMock } from \"../../Challenge/Mocks/ChallengeEntityMock\";\r\nimport {\r\n LabelDropDragMode,\r\n makeLabelDropRepo,\r\n} from \"../Entities/LabelDropRepo\";\r\nimport { makeDragLabelDropUC } from \"./DragLabelDropUC\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n\r\n const challenge = makeChallengeEntityMock(appObjects);\r\n const baseApp = makeBaseAppState(appObjects.getOrCreate(\"BaseApp\"));\r\n\r\n const labelDropAO = appObjects.getOrCreate(\"labelDrop\");\r\n\r\n const labelDrop = makeLabelDropRepo(labelDropAO);\r\n const changeObserver = jest.fn();\r\n labelDrop.addChangeObserver(changeObserver);\r\n\r\n const mockRayPick = makeMockSceneRayPickUC(appObjects);\r\n const mockPick = jest.fn().mockReturnValue({ appObjectID: \"obj\" });\r\n mockRayPick.sceneRayPick = mockPick;\r\n\r\n const dragLabelDropUC = makeDragLabelDropUC(labelDropAO);\r\n\r\n challenge.selectedChallenge = \"LABEL_DROP\";\r\n baseApp.isAuthoring = false;\r\n\r\n return {\r\n appObjects,\r\n labelDrop,\r\n dragLabelDropUC,\r\n changeObserver,\r\n baseApp,\r\n challenge,\r\n mockPick,\r\n };\r\n}\r\n\r\ndescribe(\"Drag Label Drop UC\", () => {\r\n it(\"initializes id, screenMode, position, and alpha\", () => {\r\n const { dragLabelDropUC, labelDrop } = makeTestRig();\r\n expect(labelDrop.draggingID).toBeUndefined();\r\n\r\n dragLabelDropUC.initialize(\"id1\", new Vector2(1, 2));\r\n expect(labelDrop.draggingID).toEqual(\"id1\");\r\n expect(labelDrop.dragMode).toEqual(LabelDropDragMode.SCREEN);\r\n expect(labelDrop.dragAlpha).toEqual(1);\r\n expect(labelDrop.screenPosition).toEqual(new Vector2(1, 2));\r\n });\r\n\r\n it(\"Does not initialize if challenge is not label drop\", () => {\r\n const { dragLabelDropUC, labelDrop, challenge } = makeTestRig();\r\n challenge.selectedChallenge = \"NONE\";\r\n\r\n dragLabelDropUC.initialize(\"id1\", Vector2.Zero());\r\n expect(labelDrop.draggingID).toBeUndefined();\r\n });\r\n\r\n it(\"Does not initialize if authoring\", () => {\r\n const { dragLabelDropUC, labelDrop, baseApp } = makeTestRig();\r\n baseApp.isAuthoring = true;\r\n\r\n dragLabelDropUC.initialize(\"id1\", Vector2.Zero());\r\n expect(labelDrop.draggingID).toBeUndefined();\r\n });\r\n\r\n it(\"Can set the 2D position\", () => {\r\n const { dragLabelDropUC, labelDrop } = makeTestRig();\r\n\r\n dragLabelDropUC.initialize(\"id\", Vector2.Zero());\r\n dragLabelDropUC.setPosition2D(new Vector2(1, 2));\r\n expect(labelDrop.screenPosition).toEqual(new Vector2(1, 2));\r\n });\r\n\r\n it(\"Does not set the 2D position if it did not initialize\", () => {\r\n const { dragLabelDropUC, labelDrop } = makeTestRig();\r\n labelDrop.screenPosition = Vector2.Zero();\r\n\r\n dragLabelDropUC.setPosition2D(new Vector2(1, 2));\r\n expect(labelDrop.screenPosition).not.toEqual(new Vector2(1, 2));\r\n });\r\n\r\n it(\"Submits the object hit when released\", () => {\r\n const { dragLabelDropUC, labelDrop, mockPick } = makeTestRig();\r\n\r\n mockPick.mockReturnValue({\r\n worldPickPoint: new Vector3(1, 2, 3),\r\n hit: true,\r\n normal: new Vector3(4, 5, 6),\r\n objectPickMeta: {\r\n appObjectID: \"appObj1\",\r\n },\r\n });\r\n\r\n dragLabelDropUC.initialize(\"labelDrop1\", Vector2.Zero());\r\n labelDrop.submitLabelDrop = jest.fn();\r\n dragLabelDropUC.release(ParametricLine.Forward());\r\n\r\n expect(labelDrop.submitLabelDrop).toHaveBeenCalledWith(\r\n \"labelDrop1\",\r\n \"appObj1\"\r\n );\r\n });\r\n\r\n it(\"submits a label drop answer if an app object is hit\", async () => {\r\n jest.useFakeTimers();\r\n\r\n const { dragLabelDropUC, labelDrop, mockPick } = makeTestRig();\r\n\r\n mockPick.mockReturnValue({\r\n worldPickPoint: new Vector3(1, 2, 3),\r\n hit: true,\r\n normal: new Vector3(4, 5, 6),\r\n objectPickMeta: {\r\n appObjectID: \"appObj1\",\r\n },\r\n });\r\n\r\n labelDrop.submitLabelDrop = jest.fn();\r\n\r\n dragLabelDropUC.initialize(\"labelDrop1\", Vector2.Zero());\r\n\r\n dragLabelDropUC.release(ParametricLine.Forward());\r\n\r\n expect(labelDrop.submitLabelDrop).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not submit a label drop answer if an app object is not hit\", async () => {\r\n const { dragLabelDropUC, labelDrop, mockPick } = makeTestRig();\r\n\r\n mockPick.mockReturnValue({\r\n worldPickPoint: new Vector3(1, 2, 3),\r\n hit: false,\r\n normal: new Vector3(4, 5, 6),\r\n });\r\n\r\n labelDrop.submitLabelDrop = jest.fn();\r\n\r\n dragLabelDropUC.initialize(\"labelDrop1\", Vector2.Zero());\r\n\r\n dragLabelDropUC.release(ParametricLine.Forward());\r\n\r\n expect(labelDrop.submitLabelDrop).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not submit if no object hit on release\", () => {\r\n const { dragLabelDropUC, labelDrop, mockPick } = makeTestRig();\r\n\r\n mockPick.mockReturnValue({\r\n worldPickPoint: new Vector3(1, 2, 3),\r\n hit: false,\r\n normal: new Vector3(4, 5, 6),\r\n objectPickMeta: {},\r\n });\r\n\r\n dragLabelDropUC.initialize(\"labelDrop1\", Vector2.Zero());\r\n labelDrop.submitLabelDrop = jest.fn();\r\n dragLabelDropUC.release(ParametricLine.Forward());\r\n\r\n expect(labelDrop.submitLabelDrop).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not wait to animate if no object is hit\", async () => {\r\n jest.useFakeTimers();\r\n\r\n const { dragLabelDropUC, labelDrop, mockPick } = makeTestRig();\r\n\r\n mockPick.mockReturnValue({\r\n worldPickPoint: new Vector3(1, 2, 3),\r\n hit: false,\r\n normal: new Vector3(4, 5, 6),\r\n });\r\n\r\n dragLabelDropUC.initialize(\"labelDrop1\", Vector2.Zero());\r\n\r\n dragLabelDropUC.onFinishRelease();\r\n\r\n jest.advanceTimersByTime(1000);\r\n\r\n expect(labelDrop.dragAlpha).toEqual(0);\r\n });\r\n});\r\n"]}