@vived/app 5.0.5 → 5.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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/Entities/CalloutEntity.js +1 -0
  12. package/dist/cjs/Callouts/Entities/CalloutEntity.js.map +1 -1
  13. package/dist/cjs/Callouts/Entities/CalloutEntity.test.js +1 -1
  14. package/dist/cjs/Callouts/Entities/CalloutEntity.test.js.map +1 -1
  15. package/dist/cjs/Callouts/UC/CreateCalloutUndoRedo.test.js +7 -4
  16. package/dist/cjs/Callouts/UC/CreateCalloutUndoRedo.test.js.map +1 -1
  17. package/dist/cjs/Callouts/UC/DeleteAllCalloutsUC.test.js +7 -4
  18. package/dist/cjs/Callouts/UC/DeleteAllCalloutsUC.test.js.map +1 -1
  19. package/dist/cjs/Callouts/UC/DeleteAllCalloutsUndoRedo.test.js +13 -7
  20. package/dist/cjs/Callouts/UC/DeleteAllCalloutsUndoRedo.test.js.map +1 -1
  21. package/dist/cjs/Callouts/UC/DeleteCallout.test.js +5 -2
  22. package/dist/cjs/Callouts/UC/DeleteCallout.test.js.map +1 -1
  23. package/dist/cjs/Callouts/UC/DeleteCalloutUndoRedo.test.js +9 -7
  24. package/dist/cjs/Callouts/UC/DeleteCalloutUndoRedo.test.js.map +1 -1
  25. package/dist/cjs/Callouts/UC/SetCalloutSizeUC.test.js +7 -5
  26. package/dist/cjs/Callouts/UC/SetCalloutSizeUC.test.js.map +1 -1
  27. package/dist/cjs/Callouts/UC/SetCalloutSizeUndoRedo.test.js +10 -6
  28. package/dist/cjs/Callouts/UC/SetCalloutSizeUndoRedo.test.js.map +1 -1
  29. package/dist/cjs/Callouts/UC/TryAddCallout.test.js +5 -4
  30. package/dist/cjs/Callouts/UC/TryAddCallout.test.js.map +1 -1
  31. package/dist/cjs/Callouts/UC/TryPanLabelUC.test.js +3 -2
  32. package/dist/cjs/Callouts/UC/TryPanLabelUC.test.js.map +1 -1
  33. package/dist/cjs/Challenge/UCs/SetChallengeUC.test.js +11 -9
  34. package/dist/cjs/Challenge/UCs/SetChallengeUC.test.js.map +1 -1
  35. package/dist/cjs/ChannelModel/UC/ClearAllColorOverlayUndoRedo.test.js +13 -7
  36. package/dist/cjs/ChannelModel/UC/ClearAllColorOverlayUndoRedo.test.js.map +1 -1
  37. package/dist/cjs/ChannelModel/UC/ClearModelObjectOverlaysUC.test.js +7 -4
  38. package/dist/cjs/ChannelModel/UC/ClearModelObjectOverlaysUC.test.js.map +1 -1
  39. package/dist/cjs/ChannelModel/UC/SelectChannelModelUC.test.js +5 -2
  40. package/dist/cjs/ChannelModel/UC/SelectChannelModelUC.test.js.map +1 -1
  41. package/dist/cjs/ChannelModel/UC/StickAllChannelModelObjectsUC.test.js +10 -8
  42. package/dist/cjs/ChannelModel/UC/StickAllChannelModelObjectsUC.test.js.map +1 -1
  43. package/dist/cjs/ChannelModel/UC/UnhideAllAppObjectsUndoRedo.test.js +9 -7
  44. package/dist/cjs/ChannelModel/UC/UnhideAllAppObjectsUndoRedo.test.js.map +1 -1
  45. package/dist/cjs/ChannelModel/UC/UnhideAllChannelModelObjectsUC.test.js +7 -5
  46. package/dist/cjs/ChannelModel/UC/UnhideAllChannelModelObjectsUC.test.js.map +1 -1
  47. package/dist/cjs/Dispatcher/Mocks/MockDispatchStateChange.js +3 -3
  48. package/dist/cjs/Dispatcher/Mocks/MockDispatchStateChange.js.map +1 -1
  49. package/dist/cjs/Environment/UCs/SetEnvironmentIntensityUC.test.js +11 -9
  50. package/dist/cjs/Environment/UCs/SetEnvironmentIntensityUC.test.js.map +1 -1
  51. package/dist/cjs/Environment/UCs/SetTexturalEnvironmentUC.test.js +9 -7
  52. package/dist/cjs/Environment/UCs/SetTexturalEnvironmentUC.test.js.map +1 -1
  53. package/dist/cjs/Hideable/UCs/HideUC.test.js +10 -8
  54. package/dist/cjs/Hideable/UCs/HideUC.test.js.map +1 -1
  55. package/dist/cjs/Hideable/UCs/TryHideWithPickUC.test.js +7 -6
  56. package/dist/cjs/Hideable/UCs/TryHideWithPickUC.test.js.map +1 -1
  57. package/dist/cjs/HoverLabel/UseCases/TryShowHoverLabel.test.js +12 -11
  58. package/dist/cjs/HoverLabel/UseCases/TryShowHoverLabel.test.js.map +1 -1
  59. package/dist/cjs/Label/UC/ClearCustomLabelUC.test.js +9 -4
  60. package/dist/cjs/Label/UC/ClearCustomLabelUC.test.js.map +1 -1
  61. package/dist/cjs/Label/UC/ClearCustomLabelUndoRedo.test.js +10 -6
  62. package/dist/cjs/Label/UC/ClearCustomLabelUndoRedo.test.js.map +1 -1
  63. package/dist/cjs/Label/UC/SetCustomLabelUC.test.js +9 -4
  64. package/dist/cjs/Label/UC/SetCustomLabelUC.test.js.map +1 -1
  65. package/dist/cjs/Label/UC/SetCustomLabelUndoRedo.test.js +10 -6
  66. package/dist/cjs/Label/UC/SetCustomLabelUndoRedo.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/Entities/CalloutEntity.js +5 -4
  192. package/dist/esm/Callouts/Entities/CalloutEntity.js.map +1 -1
  193. package/dist/esm/Callouts/Entities/CalloutEntity.test.js +1 -1
  194. package/dist/esm/Callouts/Entities/CalloutEntity.test.js.map +1 -1
  195. package/dist/esm/Callouts/UC/CreateCalloutUndoRedo.test.js +7 -4
  196. package/dist/esm/Callouts/UC/CreateCalloutUndoRedo.test.js.map +1 -1
  197. package/dist/esm/Callouts/UC/DeleteAllCalloutsUC.test.js +7 -4
  198. package/dist/esm/Callouts/UC/DeleteAllCalloutsUC.test.js.map +1 -1
  199. package/dist/esm/Callouts/UC/DeleteAllCalloutsUndoRedo.test.js +13 -7
  200. package/dist/esm/Callouts/UC/DeleteAllCalloutsUndoRedo.test.js.map +1 -1
  201. package/dist/esm/Callouts/UC/DeleteCallout.test.js +5 -2
  202. package/dist/esm/Callouts/UC/DeleteCallout.test.js.map +1 -1
  203. package/dist/esm/Callouts/UC/DeleteCalloutUndoRedo.test.js +9 -7
  204. package/dist/esm/Callouts/UC/DeleteCalloutUndoRedo.test.js.map +1 -1
  205. package/dist/esm/Callouts/UC/SetCalloutSizeUC.test.js +7 -5
  206. package/dist/esm/Callouts/UC/SetCalloutSizeUC.test.js.map +1 -1
  207. package/dist/esm/Callouts/UC/SetCalloutSizeUndoRedo.test.js +10 -6
  208. package/dist/esm/Callouts/UC/SetCalloutSizeUndoRedo.test.js.map +1 -1
  209. package/dist/esm/Callouts/UC/TryAddCallout.test.js +5 -4
  210. package/dist/esm/Callouts/UC/TryAddCallout.test.js.map +1 -1
  211. package/dist/esm/Callouts/UC/TryPanLabelUC.test.js +3 -2
  212. package/dist/esm/Callouts/UC/TryPanLabelUC.test.js.map +1 -1
  213. package/dist/esm/Challenge/UCs/SetChallengeUC.test.js +11 -9
  214. package/dist/esm/Challenge/UCs/SetChallengeUC.test.js.map +1 -1
  215. package/dist/esm/ChannelModel/UC/ClearAllColorOverlayUndoRedo.test.js +13 -7
  216. package/dist/esm/ChannelModel/UC/ClearAllColorOverlayUndoRedo.test.js.map +1 -1
  217. package/dist/esm/ChannelModel/UC/ClearModelObjectOverlaysUC.test.js +7 -4
  218. package/dist/esm/ChannelModel/UC/ClearModelObjectOverlaysUC.test.js.map +1 -1
  219. package/dist/esm/ChannelModel/UC/SelectChannelModelUC.test.js +5 -2
  220. package/dist/esm/ChannelModel/UC/SelectChannelModelUC.test.js.map +1 -1
  221. package/dist/esm/ChannelModel/UC/StickAllChannelModelObjectsUC.test.js +10 -8
  222. package/dist/esm/ChannelModel/UC/StickAllChannelModelObjectsUC.test.js.map +1 -1
  223. package/dist/esm/ChannelModel/UC/UnhideAllAppObjectsUndoRedo.test.js +9 -7
  224. package/dist/esm/ChannelModel/UC/UnhideAllAppObjectsUndoRedo.test.js.map +1 -1
  225. package/dist/esm/ChannelModel/UC/UnhideAllChannelModelObjectsUC.test.js +7 -5
  226. package/dist/esm/ChannelModel/UC/UnhideAllChannelModelObjectsUC.test.js.map +1 -1
  227. package/dist/esm/Dispatcher/Mocks/MockDispatchStateChange.js +3 -3
  228. package/dist/esm/Dispatcher/Mocks/MockDispatchStateChange.js.map +1 -1
  229. package/dist/esm/Environment/UCs/SetEnvironmentIntensityUC.test.js +11 -9
  230. package/dist/esm/Environment/UCs/SetEnvironmentIntensityUC.test.js.map +1 -1
  231. package/dist/esm/Environment/UCs/SetTexturalEnvironmentUC.test.js +9 -7
  232. package/dist/esm/Environment/UCs/SetTexturalEnvironmentUC.test.js.map +1 -1
  233. package/dist/esm/Hideable/UCs/HideUC.test.js +10 -8
  234. package/dist/esm/Hideable/UCs/HideUC.test.js.map +1 -1
  235. package/dist/esm/Hideable/UCs/TryHideWithPickUC.test.js +7 -6
  236. package/dist/esm/Hideable/UCs/TryHideWithPickUC.test.js.map +1 -1
  237. package/dist/esm/HoverLabel/UseCases/TryShowHoverLabel.test.js +12 -11
  238. package/dist/esm/HoverLabel/UseCases/TryShowHoverLabel.test.js.map +1 -1
  239. package/dist/esm/Label/UC/ClearCustomLabelUC.test.js +9 -4
  240. package/dist/esm/Label/UC/ClearCustomLabelUC.test.js.map +1 -1
  241. package/dist/esm/Label/UC/ClearCustomLabelUndoRedo.test.js +10 -6
  242. package/dist/esm/Label/UC/ClearCustomLabelUndoRedo.test.js.map +1 -1
  243. package/dist/esm/Label/UC/SetCustomLabelUC.test.js +9 -4
  244. package/dist/esm/Label/UC/SetCustomLabelUC.test.js.map +1 -1
  245. package/dist/esm/Label/UC/SetCustomLabelUndoRedo.test.js +10 -6
  246. package/dist/esm/Label/UC/SetCustomLabelUndoRedo.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/Callouts/Entities/CalloutEntity.d.ts.map +1 -1
  364. package/dist/types/Dispatcher/Mocks/MockDispatchStateChange.d.ts +3 -3
  365. package/dist/types/Dispatcher/Mocks/MockDispatchStateChange.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
@@ -6,7 +6,9 @@ const UC_1 = require("../UC");
6
6
  class MockSceneRayPickUC extends UC_1.SceneRayPickUC {
7
7
  constructor(appObject) {
8
8
  super(appObject, UC_1.SceneRayPickUC.type);
9
- this.sceneRayPick = jest.fn();
9
+ this.sceneRayPick = () => {
10
+ return undefined;
11
+ };
10
12
  }
11
13
  }
12
14
  exports.MockSceneRayPickUC = MockSceneRayPickUC;
@@ -1 +1 @@
1
- {"version":3,"file":"MockSceneRayPickUC.js","sourceRoot":"","sources":["../../../../src/Babylon/Mocks/MockSceneRayPickUC.ts"],"names":[],"mappings":";;;AAWA,wDAEC;AAZD,8BAAuC;AAEvC,MAAa,kBAAmB,SAAQ,mBAAc;IAGpD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,mBAAc,CAAC,IAAI,CAAC,CAAC;QAHxC,iBAAY,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IAIzB,CAAC;CACF;AAND,gDAMC;AAED,SAAgB,sBAAsB,CAAC,UAAyB;IAC9D,OAAO,IAAI,kBAAkB,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;AACnE,CAAC","sourcesContent":["import { AppObject, AppObjectRepo } from \"@vived/core\";\r\nimport { SceneRayPickUC } from \"../UC\";\r\n\r\nexport class MockSceneRayPickUC extends SceneRayPickUC {\r\n sceneRayPick = jest.fn();\r\n\r\n constructor(appObject: AppObject) {\r\n super(appObject, SceneRayPickUC.type);\r\n }\r\n}\r\n\r\nexport function makeMockSceneRayPickUC(appObjects: AppObjectRepo) {\r\n return new MockSceneRayPickUC(appObjects.getOrCreate(\"Babylon\"));\r\n}\r\n"]}
1
+ {"version":3,"file":"MockSceneRayPickUC.js","sourceRoot":"","sources":["../../../../src/Babylon/Mocks/MockSceneRayPickUC.ts"],"names":[],"mappings":";;;AAaA,wDAEC;AAdD,8BAAuC;AAEvC,MAAa,kBAAmB,SAAQ,mBAAc;IAKpD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,mBAAc,CAAC,IAAI,CAAC,CAAC;QALxC,iBAAY,GAAG,GAAG,EAAE;YAClB,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC;IAIF,CAAC;CACF;AARD,gDAQC;AAED,SAAgB,sBAAsB,CAAC,UAAyB;IAC9D,OAAO,IAAI,kBAAkB,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;AACnE,CAAC","sourcesContent":["import { AppObject, AppObjectRepo } from \"@vived/core\";\r\nimport { SceneRayPickUC } from \"../UC\";\r\n\r\nexport class MockSceneRayPickUC extends SceneRayPickUC {\r\n sceneRayPick = () => {\r\n return undefined;\r\n };\r\n\r\n constructor(appObject: AppObject) {\r\n super(appObject, SceneRayPickUC.type);\r\n }\r\n}\r\n\r\nexport function makeMockSceneRayPickUC(appObjects: AppObjectRepo):MockSceneRayPickUC {\r\n return new MockSceneRayPickUC(appObjects.getOrCreate(\"Babylon\"));\r\n}\r\n"]}
@@ -18,6 +18,7 @@ describe("Dispatch State Change", () => {
18
18
  });
19
19
  it("Finds and uses the SceneRayPickUC", () => {
20
20
  const { appObjects, mockPickUC } = makeTestRig();
21
+ mockPickUC.sceneRayPick = jest.fn();
21
22
  const ray = core_1.ParametricLine.Forward();
22
23
  (0, SceneRayPickUC_1.sceneRayPick)(ray, appObjects);
23
24
  expect(mockPickUC.sceneRayPick).toHaveBeenCalledWith(ray);
@@ -1 +1 @@
1
- {"version":3,"file":"SceneRayPickUC.test.js","sourceRoot":"","sources":["../../../../src/Babylon/UC/SceneRayPickUC.test.ts"],"names":[],"mappings":";;AAAA,sCAAgE;AAChE,oCAAkD;AAClD,qDAAgE;AAEhE,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,IAAA,wBAAiB,GAAE,CAAC;IACvC,MAAM,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,IAAA,8BAAsB,EAAC,UAAU,CAAC,CAAC;IAEtD,MAAM,iBAAiB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACpC,UAAU,CAAC,aAAa,GAAG,iBAAiB,CAAC;IAE7C,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC;AAC3D,CAAC;AAED,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE;QACrB,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QACjD,MAAM,CAAC,+BAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QAEjD,MAAM,GAAG,GAAG,qBAAc,CAAC,OAAO,EAAE,CAAC;QACrC,IAAA,6BAAY,EAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAE9B,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,EAAE,GAAG,WAAW,EAAE,CAAC;QACpE,UAAU,CAAC,OAAO,EAAE,CAAC;QAErB,MAAM,GAAG,GAAG,qBAAc,CAAC,OAAO,EAAE,CAAC;QACrC,IAAA,6BAAY,EAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAE9B,MAAM,CAAC,iBAAiB,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { makeAppObjectRepo, ParametricLine } from \"@vived/core\";\r\nimport { makeMockSceneRayPickUC } from \"../Mocks\";\r\nimport { sceneRayPick, SceneRayPickUC } from \"./SceneRayPickUC\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n const ao = appObjects.getOrCreate(\"AO\");\r\n const mockPickUC = makeMockSceneRayPickUC(appObjects);\r\n\r\n const mockSubmitWarning = jest.fn();\r\n appObjects.submitWarning = mockSubmitWarning;\r\n\r\n return { appObjects, ao, mockPickUC, mockSubmitWarning };\r\n}\r\n\r\ndescribe(\"Dispatch State Change\", () => {\r\n it(\"Gets the UC\", () => {\r\n const { mockPickUC, appObjects } = makeTestRig();\r\n expect(SceneRayPickUC.get(appObjects)).toEqual(mockPickUC);\r\n });\r\n\r\n it(\"Finds and uses the SceneRayPickUC\", () => {\r\n const { appObjects, mockPickUC } = makeTestRig();\r\n\r\n const ray = ParametricLine.Forward();\r\n sceneRayPick(ray, appObjects);\r\n\r\n expect(mockPickUC.sceneRayPick).toHaveBeenCalledWith(ray);\r\n });\r\n\r\n it(\"Warns if it can't find SceneRayPickUC\", () => {\r\n const { mockPickUC, appObjects, mockSubmitWarning } = makeTestRig();\r\n mockPickUC.dispose();\r\n\r\n const ray = ParametricLine.Forward();\r\n sceneRayPick(ray, appObjects);\r\n\r\n expect(mockSubmitWarning).toHaveBeenCalled();\r\n });\r\n});\r\n"]}
1
+ {"version":3,"file":"SceneRayPickUC.test.js","sourceRoot":"","sources":["../../../../src/Babylon/UC/SceneRayPickUC.test.ts"],"names":[],"mappings":";;AAAA,sCAAgE;AAChE,oCAAkD;AAClD,qDAAgE;AAEhE,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,IAAA,wBAAiB,GAAE,CAAC;IACvC,MAAM,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,IAAA,8BAAsB,EAAC,UAAU,CAAC,CAAC;IAEtD,MAAM,iBAAiB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACpC,UAAU,CAAC,aAAa,GAAG,iBAAiB,CAAC;IAE7C,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC;AAC3D,CAAC;AAED,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE;QACrB,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QACjD,MAAM,CAAC,+BAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QACjD,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACpC,MAAM,GAAG,GAAG,qBAAc,CAAC,OAAO,EAAE,CAAC;QACrC,IAAA,6BAAY,EAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAE9B,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,EAAE,GAAG,WAAW,EAAE,CAAC;QACpE,UAAU,CAAC,OAAO,EAAE,CAAC;QAErB,MAAM,GAAG,GAAG,qBAAc,CAAC,OAAO,EAAE,CAAC;QACrC,IAAA,6BAAY,EAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAE9B,MAAM,CAAC,iBAAiB,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { makeAppObjectRepo, ParametricLine } from \"@vived/core\";\r\nimport { makeMockSceneRayPickUC } from \"../Mocks\";\r\nimport { sceneRayPick, SceneRayPickUC } from \"./SceneRayPickUC\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n const ao = appObjects.getOrCreate(\"AO\");\r\n const mockPickUC = makeMockSceneRayPickUC(appObjects);\r\n\r\n const mockSubmitWarning = jest.fn();\r\n appObjects.submitWarning = mockSubmitWarning;\r\n\r\n return { appObjects, ao, mockPickUC, mockSubmitWarning };\r\n}\r\n\r\ndescribe(\"Dispatch State Change\", () => {\r\n it(\"Gets the UC\", () => {\r\n const { mockPickUC, appObjects } = makeTestRig();\r\n expect(SceneRayPickUC.get(appObjects)).toEqual(mockPickUC);\r\n });\r\n\r\n it(\"Finds and uses the SceneRayPickUC\", () => {\r\n const { appObjects, mockPickUC } = makeTestRig();\r\n mockPickUC.sceneRayPick = jest.fn();\r\n const ray = ParametricLine.Forward();\r\n sceneRayPick(ray, appObjects);\r\n\r\n expect(mockPickUC.sceneRayPick).toHaveBeenCalledWith(ray);\r\n });\r\n\r\n it(\"Warns if it can't find SceneRayPickUC\", () => {\r\n const { mockPickUC, appObjects, mockSubmitWarning } = makeTestRig();\r\n mockPickUC.dispose();\r\n\r\n const ray = ParametricLine.Forward();\r\n sceneRayPick(ray, appObjects);\r\n\r\n expect(mockSubmitWarning).toHaveBeenCalled();\r\n });\r\n});\r\n"]}
@@ -2,7 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const core_1 = require("@vived/core");
4
4
  const Dispatcher_1 = require("../../Dispatcher");
5
- const MockDispatchStateChange_1 = require("../../Dispatcher/Mocks/MockDispatchStateChange");
6
5
  const UndoRedoEntity_1 = require("../../UndoRedo/Entities/UndoRedoEntity");
7
6
  const BaseAppState_1 = require("../Entity/BaseAppState");
8
7
  const EditSlideTextUC_1 = require("./EditSlideTextUC");
@@ -12,12 +11,15 @@ function makeTestRig() {
12
11
  const appState = (0, BaseAppState_1.makeBaseAppState)(app);
13
12
  const editSlideTextUC = (0, EditSlideTextUC_1.makeEditSlideTextUC)(app);
14
13
  (0, UndoRedoEntity_1.makeUndoRedoEntity)(app);
15
- const mockDispatchStateChange = new MockDispatchStateChange_1.MockDispatchStateChange(app);
14
+ const mockDispatchStateChange = (0, Dispatcher_1.makeMockDispatchStateChange)(appObjects);
15
+ const doDispatchMock = jest.fn();
16
+ mockDispatchStateChange.doDispatch = doDispatchMock;
16
17
  const mockShowMarkDownEditor = (0, Dispatcher_1.makeMockShowMarkdownEditor)(appObjects);
17
18
  return {
18
19
  appState,
19
20
  editSlideTextUC,
20
21
  mockDispatchStateChange,
22
+ doDispatchMock,
21
23
  mockShowMarkDownEditor,
22
24
  appObjects,
23
25
  };
@@ -29,10 +31,10 @@ describe("EditSlideText UC", () => {
29
31
  expect(mockShowMarkDownEditor.showMarkdownEditor).toHaveBeenCalled();
30
32
  });
31
33
  it("Doesn't Dispatch state change when the slide text was not changed", () => {
32
- const { appState, editSlideTextUC, mockDispatchStateChange } = makeTestRig();
34
+ const { appState, editSlideTextUC, doDispatchMock } = makeTestRig();
33
35
  appState.slideText = "Slide Text";
34
36
  editSlideTextUC.submitCallback("Slide Text");
35
- expect(mockDispatchStateChange.doDispatch).not.toHaveBeenCalled();
37
+ expect(doDispatchMock).not.toHaveBeenCalled();
36
38
  });
37
39
  it("Stores new slide text when the slide text was changed", () => {
38
40
  const { appState, editSlideTextUC } = makeTestRig();
@@ -41,10 +43,10 @@ describe("EditSlideText UC", () => {
41
43
  expect(appState.slideText).toEqual("New slide Text");
42
44
  });
43
45
  it("Dispatches state change when the slide text was changed", () => {
44
- const { appState, editSlideTextUC, mockDispatchStateChange } = makeTestRig();
46
+ const { appState, editSlideTextUC, doDispatchMock } = makeTestRig();
45
47
  appState.slideText = "Slide Text";
46
48
  editSlideTextUC.submitCallback("New slide Text");
47
- expect(mockDispatchStateChange.doDispatch).toHaveBeenCalled();
49
+ expect(doDispatchMock).toHaveBeenCalled();
48
50
  });
49
51
  });
50
52
  //# sourceMappingURL=EditSlideTextUC.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EditSlideTextUC.test.js","sourceRoot":"","sources":["../../../../src/BaseApp/UC/EditSlideTextUC.test.ts"],"names":[],"mappings":";;AAAA,sCAAgD;AAChD,iDAA8D;AAC9D,4FAAyF;AACzF,2EAA4E;AAC5E,yDAA0D;AAC1D,uDAAwD;AAExD,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,IAAA,wBAAiB,GAAE,CAAC;IACvC,MAAM,GAAG,GAAG,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,IAAA,+BAAgB,EAAC,GAAG,CAAC,CAAC;IACvC,MAAM,eAAe,GAAG,IAAA,qCAAmB,EAAC,GAAG,CAAC,CAAC;IACjD,IAAA,mCAAkB,EAAC,GAAG,CAAC,CAAC;IAExB,MAAM,uBAAuB,GAAG,IAAI,iDAAuB,CAAC,GAAG,CAAC,CAAC;IAEjE,MAAM,sBAAsB,GAAG,IAAA,uCAA0B,EAAC,UAAU,CAAC,CAAC;IAEtE,OAAO;QACL,QAAQ;QACR,eAAe;QACf,uBAAuB;QACvB,sBAAsB;QACtB,UAAU;KACX,CAAC;AACJ,CAAC;AAED,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,EAAE,eAAe,EAAE,sBAAsB,EAAE,GAAG,WAAW,EAAE,CAAC;QAElE,eAAe,CAAC,aAAa,EAAE,CAAC;QAEhC,MAAM,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;QAC3E,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,uBAAuB,EAAE,GAC1D,WAAW,EAAE,CAAC;QAEhB,QAAQ,CAAC,SAAS,GAAG,YAAY,CAAC;QAClC,eAAe,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QAE7C,MAAM,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,WAAW,EAAE,CAAC;QAEpD,QAAQ,CAAC,SAAS,GAAG,YAAY,CAAC;QAClC,eAAe,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;QAEjD,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,uBAAuB,EAAE,GAC1D,WAAW,EAAE,CAAC;QAEhB,QAAQ,CAAC,SAAS,GAAG,YAAY,CAAC;QAClC,eAAe,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;QAEjD,MAAM,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAChE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport { makeMockShowMarkdownEditor } from \"../../Dispatcher\";\r\nimport { MockDispatchStateChange } from \"../../Dispatcher/Mocks/MockDispatchStateChange\";\r\nimport { makeUndoRedoEntity } from \"../../UndoRedo/Entities/UndoRedoEntity\";\r\nimport { makeBaseAppState } from \"../Entity/BaseAppState\";\r\nimport { makeEditSlideTextUC } from \"./EditSlideTextUC\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n const app = appObjects.getOrCreate(\"App\");\r\n const appState = makeBaseAppState(app);\r\n const editSlideTextUC = makeEditSlideTextUC(app);\r\n makeUndoRedoEntity(app);\r\n\r\n const mockDispatchStateChange = new MockDispatchStateChange(app);\r\n\r\n const mockShowMarkDownEditor = makeMockShowMarkdownEditor(appObjects);\r\n\r\n return {\r\n appState,\r\n editSlideTextUC,\r\n mockDispatchStateChange,\r\n mockShowMarkDownEditor,\r\n appObjects,\r\n };\r\n}\r\n\r\ndescribe(\"EditSlideText UC\", () => {\r\n it(\"Dispatches showMarkDownEditor\", () => {\r\n const { editSlideTextUC, mockShowMarkDownEditor } = makeTestRig();\r\n\r\n editSlideTextUC.editSlideText();\r\n\r\n expect(mockShowMarkDownEditor.showMarkdownEditor).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Doesn't Dispatch state change when the slide text was not changed\", () => {\r\n const { appState, editSlideTextUC, mockDispatchStateChange } =\r\n makeTestRig();\r\n\r\n appState.slideText = \"Slide Text\";\r\n editSlideTextUC.submitCallback(\"Slide Text\");\r\n\r\n expect(mockDispatchStateChange.doDispatch).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Stores new slide text when the slide text was changed\", () => {\r\n const { appState, editSlideTextUC } = makeTestRig();\r\n\r\n appState.slideText = \"Slide Text\";\r\n editSlideTextUC.submitCallback(\"New slide Text\");\r\n\r\n expect(appState.slideText).toEqual(\"New slide Text\");\r\n });\r\n\r\n it(\"Dispatches state change when the slide text was changed\", () => {\r\n const { appState, editSlideTextUC, mockDispatchStateChange } =\r\n makeTestRig();\r\n\r\n appState.slideText = \"Slide Text\";\r\n editSlideTextUC.submitCallback(\"New slide Text\");\r\n\r\n expect(mockDispatchStateChange.doDispatch).toHaveBeenCalled();\r\n });\r\n});\r\n"]}
1
+ {"version":3,"file":"EditSlideTextUC.test.js","sourceRoot":"","sources":["../../../../src/BaseApp/UC/EditSlideTextUC.test.ts"],"names":[],"mappings":";;AAAA,sCAAgD;AAChD,iDAG0B;AAC1B,2EAA4E;AAC5E,yDAA0D;AAC1D,uDAAwD;AAExD,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,IAAA,wBAAiB,GAAE,CAAC;IACvC,MAAM,GAAG,GAAG,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,IAAA,+BAAgB,EAAC,GAAG,CAAC,CAAC;IACvC,MAAM,eAAe,GAAG,IAAA,qCAAmB,EAAC,GAAG,CAAC,CAAC;IACjD,IAAA,mCAAkB,EAAC,GAAG,CAAC,CAAC;IAExB,MAAM,uBAAuB,GAAG,IAAA,wCAA2B,EAAC,UAAU,CAAC,CAAC;IACxE,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACjC,uBAAuB,CAAC,UAAU,GAAG,cAAc,CAAC;IAEpD,MAAM,sBAAsB,GAAG,IAAA,uCAA0B,EAAC,UAAU,CAAC,CAAC;IAEtE,OAAO;QACL,QAAQ;QACR,eAAe;QACf,uBAAuB;QACvB,cAAc;QACd,sBAAsB;QACtB,UAAU;KACX,CAAC;AACJ,CAAC;AAED,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,EAAE,eAAe,EAAE,sBAAsB,EAAE,GAAG,WAAW,EAAE,CAAC;QAElE,eAAe,CAAC,aAAa,EAAE,CAAC;QAEhC,MAAM,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;QAC3E,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,cAAc,EAAE,GAAG,WAAW,EAAE,CAAC;QAEpE,QAAQ,CAAC,SAAS,GAAG,YAAY,CAAC;QAClC,eAAe,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QAE7C,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,WAAW,EAAE,CAAC;QAEpD,QAAQ,CAAC,SAAS,GAAG,YAAY,CAAC;QAClC,eAAe,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;QAEjD,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,cAAc,EAAE,GAAG,WAAW,EAAE,CAAC;QAEpE,QAAQ,CAAC,SAAS,GAAG,YAAY,CAAC;QAClC,eAAe,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;QAEjD,MAAM,CAAC,cAAc,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport {\r\n makeMockDispatchStateChange,\r\n makeMockShowMarkdownEditor,\r\n} from \"../../Dispatcher\";\r\nimport { makeUndoRedoEntity } from \"../../UndoRedo/Entities/UndoRedoEntity\";\r\nimport { makeBaseAppState } from \"../Entity/BaseAppState\";\r\nimport { makeEditSlideTextUC } from \"./EditSlideTextUC\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n const app = appObjects.getOrCreate(\"App\");\r\n const appState = makeBaseAppState(app);\r\n const editSlideTextUC = makeEditSlideTextUC(app);\r\n makeUndoRedoEntity(app);\r\n\r\n const mockDispatchStateChange = makeMockDispatchStateChange(appObjects);\r\n const doDispatchMock = jest.fn();\r\n mockDispatchStateChange.doDispatch = doDispatchMock;\r\n\r\n const mockShowMarkDownEditor = makeMockShowMarkdownEditor(appObjects);\r\n\r\n return {\r\n appState,\r\n editSlideTextUC,\r\n mockDispatchStateChange,\r\n doDispatchMock,\r\n mockShowMarkDownEditor,\r\n appObjects,\r\n };\r\n}\r\n\r\ndescribe(\"EditSlideText UC\", () => {\r\n it(\"Dispatches showMarkDownEditor\", () => {\r\n const { editSlideTextUC, mockShowMarkDownEditor } = makeTestRig();\r\n\r\n editSlideTextUC.editSlideText();\r\n\r\n expect(mockShowMarkDownEditor.showMarkdownEditor).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Doesn't Dispatch state change when the slide text was not changed\", () => {\r\n const { appState, editSlideTextUC, doDispatchMock } = makeTestRig();\r\n\r\n appState.slideText = \"Slide Text\";\r\n editSlideTextUC.submitCallback(\"Slide Text\");\r\n\r\n expect(doDispatchMock).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Stores new slide text when the slide text was changed\", () => {\r\n const { appState, editSlideTextUC } = makeTestRig();\r\n\r\n appState.slideText = \"Slide Text\";\r\n editSlideTextUC.submitCallback(\"New slide Text\");\r\n\r\n expect(appState.slideText).toEqual(\"New slide Text\");\r\n });\r\n\r\n it(\"Dispatches state change when the slide text was changed\", () => {\r\n const { appState, editSlideTextUC, doDispatchMock } = makeTestRig();\r\n\r\n appState.slideText = \"Slide Text\";\r\n editSlideTextUC.submitCallback(\"New slide Text\");\r\n\r\n expect(doDispatchMock).toHaveBeenCalled();\r\n });\r\n});\r\n"]}
@@ -3,15 +3,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const core_1 = require("@vived/core");
4
4
  const UndoRedoEditSlideText_1 = require("./UndoRedoEditSlideText");
5
5
  const MockUndoRedo_1 = require("../../UndoRedo/Mocks/MockUndoRedo");
6
- const MockDispatchStateChange_1 = require("../../Dispatcher/Mocks/MockDispatchStateChange");
6
+ const Dispatcher_1 = require("../../Dispatcher");
7
7
  const BaseAppState_1 = require("../Entity/BaseAppState");
8
8
  function makeTestRig() {
9
9
  const appObjects = (0, core_1.makeAppObjectRepo)();
10
10
  const ao = appObjects.getOrCreate("App");
11
11
  const mockUndo = new MockUndoRedo_1.MockUndoRedo(ao);
12
- const mockDispatcher = new MockDispatchStateChange_1.MockDispatchStateChange(ao);
12
+ // Override the submitAction with a jest.fn()
13
+ mockUndo.submitAction = jest.fn();
14
+ const mockDispatcher = (0, Dispatcher_1.makeMockDispatchStateChange)(appObjects);
15
+ const doDispatchMock = jest.fn();
16
+ mockDispatcher.doDispatch = doDispatchMock;
13
17
  const baseApp = (0, BaseAppState_1.makeBaseAppState)(ao);
14
- return { mockUndo, mockDispatcher, baseApp, appObjects };
18
+ return { mockUndo, mockDispatcher, doDispatchMock, baseApp, appObjects };
15
19
  }
16
20
  describe("Edit slide text Undo Redo action", () => {
17
21
  it("Submits itself to the entity", () => {
@@ -42,13 +46,13 @@ describe("Edit slide text Undo Redo action", () => {
42
46
  expect(baseApp.slideText).toEqual("Final Text");
43
47
  });
44
48
  it("Dispatches state changes for both the undo and redo action", () => {
45
- const { appObjects, baseApp, mockDispatcher } = makeTestRig();
49
+ const { appObjects, baseApp, doDispatchMock } = makeTestRig();
46
50
  baseApp.slideText = "Final Text";
47
51
  const action = new UndoRedoEditSlideText_1.UndoRedoEditSlideText("Initial Text", appObjects);
48
52
  action.undoAction();
49
- expect(mockDispatcher.doDispatch).toHaveBeenCalledTimes(1);
53
+ expect(doDispatchMock).toHaveBeenCalledTimes(1);
50
54
  action.redoAction();
51
- expect(mockDispatcher.doDispatch).toHaveBeenCalledTimes(2);
55
+ expect(doDispatchMock).toHaveBeenCalledTimes(2);
52
56
  });
53
57
  });
54
58
  //# sourceMappingURL=UndoRedoEditSlideText.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UndoRedoEditSlideText.test.js","sourceRoot":"","sources":["../../../../src/BaseApp/UC/UndoRedoEditSlideText.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport { UndoRedoEditSlideText } from \"./UndoRedoEditSlideText\";\r\nimport { MockUndoRedo } from \"../../UndoRedo/Mocks/MockUndoRedo\";\r\nimport { MockDispatchStateChange } from \"../../Dispatcher/Mocks/MockDispatchStateChange\";\r\nimport { makeBaseAppState } from \"../Entity/BaseAppState\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n const ao = appObjects.getOrCreate(\"App\");\r\n const mockUndo = new MockUndoRedo(ao);\r\n const mockDispatcher = new MockDispatchStateChange(ao);\r\n const baseApp = makeBaseAppState(ao);\r\n\r\n return { mockUndo, mockDispatcher, baseApp, appObjects };\r\n}\r\n\r\ndescribe(\"Edit slide text Undo Redo action\", () => {\r\n it(\"Submits itself to the entity\", () => {\r\n const { mockUndo, appObjects, baseApp } = makeTestRig();\r\n\r\n baseApp.slideText = \"Final Text\";\r\n const action = new UndoRedoEditSlideText(\"Initial Text\", appObjects);\r\n expect(mockUndo.submitAction).toHaveBeenCalledWith(action);\r\n });\r\n\r\n it(\"Does not submit if there is no change\", () => {\r\n const { mockUndo, appObjects, baseApp } = makeTestRig();\r\n\r\n baseApp.slideText = \"Final Text\";\r\n new UndoRedoEditSlideText(\"Final Text\", appObjects);\r\n expect(mockUndo.submitAction).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Undo sets the text to the initial text\", () => {\r\n const { appObjects, baseApp } = makeTestRig();\r\n\r\n baseApp.slideText = \"Final Text\";\r\n const action = new UndoRedoEditSlideText(\"Initial Text\", appObjects);\r\n\r\n action.undoAction();\r\n\r\n expect(baseApp.slideText).toEqual(\"Initial Text\");\r\n });\r\n\r\n it(\"Redo sets the text to the final text\", () => {\r\n const { appObjects, baseApp } = makeTestRig();\r\n\r\n baseApp.slideText = \"Final Text\";\r\n const action = new UndoRedoEditSlideText(\"Initial Text\", appObjects);\r\n\r\n action.undoAction();\r\n action.redoAction();\r\n\r\n expect(baseApp.slideText).toEqual(\"Final Text\");\r\n });\r\n\r\n it(\"Dispatches state changes for both the undo and redo action\", () => {\r\n const { appObjects, baseApp, mockDispatcher } = makeTestRig();\r\n\r\n baseApp.slideText = \"Final Text\";\r\n const action = new UndoRedoEditSlideText(\"Initial Text\", appObjects);\r\n\r\n action.undoAction();\r\n expect(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":"UndoRedoEditSlideText.test.js","sourceRoot":"","sources":["../../../../src/BaseApp/UC/UndoRedoEditSlideText.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport { UndoRedoEditSlideText } from \"./UndoRedoEditSlideText\";\r\nimport { MockUndoRedo } from \"../../UndoRedo/Mocks/MockUndoRedo\";\r\nimport { makeMockDispatchStateChange } from \"../../Dispatcher\";\r\nimport { makeBaseAppState } from \"../Entity/BaseAppState\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n const ao = appObjects.getOrCreate(\"App\");\r\n const mockUndo = new MockUndoRedo(ao);\r\n // Override the submitAction with a jest.fn()\r\n mockUndo.submitAction = jest.fn();\r\n const mockDispatcher = makeMockDispatchStateChange(appObjects);\r\n const doDispatchMock = jest.fn();\r\n mockDispatcher.doDispatch = doDispatchMock;\r\n const baseApp = makeBaseAppState(ao);\r\n\r\n return { mockUndo, mockDispatcher, doDispatchMock, baseApp, appObjects };\r\n}\r\n\r\ndescribe(\"Edit slide text Undo Redo action\", () => {\r\n it(\"Submits itself to the entity\", () => {\r\n const { mockUndo, appObjects, baseApp } = makeTestRig();\r\n\r\n baseApp.slideText = \"Final Text\";\r\n const action = new UndoRedoEditSlideText(\"Initial Text\", appObjects);\r\n expect(mockUndo.submitAction).toHaveBeenCalledWith(action);\r\n });\r\n\r\n it(\"Does not submit if there is no change\", () => {\r\n const { mockUndo, appObjects, baseApp } = makeTestRig();\r\n\r\n baseApp.slideText = \"Final Text\";\r\n new UndoRedoEditSlideText(\"Final Text\", appObjects);\r\n expect(mockUndo.submitAction).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Undo sets the text to the initial text\", () => {\r\n const { appObjects, baseApp } = makeTestRig();\r\n\r\n baseApp.slideText = \"Final Text\";\r\n const action = new UndoRedoEditSlideText(\"Initial Text\", appObjects);\r\n\r\n action.undoAction();\r\n\r\n expect(baseApp.slideText).toEqual(\"Initial Text\");\r\n });\r\n\r\n it(\"Redo sets the text to the final text\", () => {\r\n const { appObjects, baseApp } = makeTestRig();\r\n\r\n baseApp.slideText = \"Final Text\";\r\n const action = new UndoRedoEditSlideText(\"Initial Text\", appObjects);\r\n\r\n action.undoAction();\r\n action.redoAction();\r\n\r\n expect(baseApp.slideText).toEqual(\"Final Text\");\r\n });\r\n\r\n it(\"Dispatches state changes for both the undo and redo action\", () => {\r\n const { appObjects, baseApp, doDispatchMock } = makeTestRig();\r\n\r\n baseApp.slideText = \"Final Text\";\r\n const action = new UndoRedoEditSlideText(\"Initial Text\", appObjects);\r\n\r\n action.undoAction();\r\n expect(doDispatchMock).toHaveBeenCalledTimes(1);\r\n\r\n action.redoAction();\r\n expect(doDispatchMock).toHaveBeenCalledTimes(2);\r\n });\r\n});\r\n"]}
@@ -8,10 +8,11 @@ function makeTestRig() {
8
8
  const appObjects = (0, core_1.makeAppObjectRepo)();
9
9
  const app = appObjects.getOrCreate("app");
10
10
  const baseApp = (0, Entity_1.makeBaseAppState)(appObjects.getOrCreate("Base App"));
11
- const mockDispatch = (0, MockDispatchStateChange_1.makeMockDispatchStateChange)(appObjects);
11
+ const doDispatchMock = jest.fn();
12
+ (0, MockDispatchStateChange_1.makeMockDispatchStateChange)(appObjects).doDispatch = doDispatchMock;
12
13
  const updateSizeUC = (0, UpdateContentSizeUC_1.makeUpdateContentSizeUC)(app);
13
14
  const updateSize = updateSizeUC.updateContentSize;
14
- return { baseApp, updateSize, mockDispatch };
15
+ return { baseApp, updateSize, doDispatchMock };
15
16
  }
16
17
  describe("Update Content Size", () => {
17
18
  it("Sets the value in the entity", () => {
@@ -21,16 +22,17 @@ describe("Update Content Size", () => {
21
22
  expect(baseApp.slideInfoContentHeight).toEqual(15);
22
23
  });
23
24
  it("Dispatches a state change", () => {
24
- const { baseApp, updateSize, mockDispatch } = makeTestRig();
25
+ const { baseApp, updateSize, doDispatchMock } = makeTestRig();
25
26
  baseApp.slideInfoContentHeight = 10;
26
27
  updateSize(15);
27
- expect(mockDispatch.doDispatch).toHaveBeenCalled();
28
+ expect(doDispatchMock).toHaveBeenCalled();
28
29
  });
29
30
  it("Does not dispatches if there is no change.", () => {
30
- const { baseApp, updateSize, mockDispatch } = makeTestRig();
31
+ const { baseApp, updateSize, doDispatchMock } = makeTestRig();
32
+ doDispatchMock.mockClear(); // Clear previous mock calls
31
33
  baseApp.slideInfoContentHeight = 10;
32
34
  updateSize(10);
33
- expect(mockDispatch.doDispatch).not.toHaveBeenCalled();
35
+ expect(doDispatchMock).not.toHaveBeenCalled();
34
36
  });
35
37
  it("Rounds the size up", () => {
36
38
  const { baseApp, updateSize } = makeTestRig();
@@ -1 +1 @@
1
- {"version":3,"file":"UpdateContentSizeUC.test.js","sourceRoot":"","sources":["../../../../src/BaseApp/UC/UpdateContentSizeUC.test.ts"],"names":[],"mappings":";;AAAA,sCAAgD;AAChD,4FAA6F;AAC7F,sCAA6C;AAC7C,+DAAgE;AAEhE,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,IAAA,wBAAiB,GAAE,CAAC;IACvC,MAAM,GAAG,GAAG,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,IAAA,yBAAgB,EAAC,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC;IACrE,MAAM,YAAY,GAAG,IAAA,qDAA2B,EAAC,UAAU,CAAC,CAAC;IAE7D,MAAM,YAAY,GAAG,IAAA,6CAAuB,EAAC,GAAG,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,YAAY,CAAC,iBAAiB,CAAC;IAElD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC;AAC/C,CAAC;AAED,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QAE9C,OAAO,CAAC,sBAAsB,GAAG,EAAE,CAAC;QAEpC,UAAU,CAAC,EAAE,CAAC,CAAC;QAEf,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,WAAW,EAAE,CAAC;QAE5D,OAAO,CAAC,sBAAsB,GAAG,EAAE,CAAC;QAEpC,UAAU,CAAC,EAAE,CAAC,CAAC;QAEf,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,WAAW,EAAE,CAAC;QAE5D,OAAO,CAAC,sBAAsB,GAAG,EAAE,CAAC;QAEpC,UAAU,CAAC,EAAE,CAAC,CAAC;QAEf,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC5B,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QAE9C,UAAU,CAAC,IAAI,CAAC,CAAC;QAEjB,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport { makeMockDispatchStateChange } from \"../../Dispatcher/Mocks/MockDispatchStateChange\";\r\nimport { makeBaseAppState } from \"../Entity\";\r\nimport { makeUpdateContentSizeUC } from \"./UpdateContentSizeUC\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n const app = appObjects.getOrCreate(\"app\");\r\n const baseApp = makeBaseAppState(appObjects.getOrCreate(\"Base App\"));\r\n const mockDispatch = makeMockDispatchStateChange(appObjects);\r\n\r\n const updateSizeUC = makeUpdateContentSizeUC(app);\r\n const updateSize = updateSizeUC.updateContentSize;\r\n\r\n return { baseApp, updateSize, mockDispatch };\r\n}\r\n\r\ndescribe(\"Update Content Size\", () => {\r\n it(\"Sets the value in the entity\", () => {\r\n const { baseApp, updateSize } = makeTestRig();\r\n\r\n baseApp.slideInfoContentHeight = 10;\r\n\r\n updateSize(15);\r\n\r\n expect(baseApp.slideInfoContentHeight).toEqual(15);\r\n });\r\n\r\n it(\"Dispatches a state change\", () => {\r\n const { baseApp, updateSize, mockDispatch } = makeTestRig();\r\n\r\n baseApp.slideInfoContentHeight = 10;\r\n\r\n updateSize(15);\r\n\r\n expect(mockDispatch.doDispatch).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not dispatches if there is no change.\", () => {\r\n const { baseApp, updateSize, mockDispatch } = makeTestRig();\r\n\r\n baseApp.slideInfoContentHeight = 10;\r\n\r\n updateSize(10);\r\n\r\n expect(mockDispatch.doDispatch).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Rounds the size up\", () => {\r\n const { baseApp, updateSize } = makeTestRig();\r\n\r\n updateSize(15.1);\r\n\r\n expect(baseApp.slideInfoContentHeight).toEqual(16);\r\n });\r\n});\r\n"]}
1
+ {"version":3,"file":"UpdateContentSizeUC.test.js","sourceRoot":"","sources":["../../../../src/BaseApp/UC/UpdateContentSizeUC.test.ts"],"names":[],"mappings":";;AAAA,sCAAgD;AAChD,4FAA6F;AAC7F,sCAA6C;AAC7C,+DAAgE;AAEhE,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,IAAA,wBAAiB,GAAE,CAAC;IACvC,MAAM,GAAG,GAAG,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,IAAA,yBAAgB,EAAC,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC;IAErE,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACjC,IAAA,qDAA2B,EAAC,UAAU,CAAC,CAAC,UAAU,GAAG,cAAc,CAAA;IAEnE,MAAM,YAAY,GAAG,IAAA,6CAAuB,EAAC,GAAG,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,YAAY,CAAC,iBAAiB,CAAC;IAElD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC;AACjD,CAAC;AAED,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QAE9C,OAAO,CAAC,sBAAsB,GAAG,EAAE,CAAC;QAEpC,UAAU,CAAC,EAAE,CAAC,CAAC;QAEf,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,WAAW,EAAE,CAAC;QAC9D,OAAO,CAAC,sBAAsB,GAAG,EAAE,CAAC;QAEpC,UAAU,CAAC,EAAE,CAAC,CAAC;QAEf,MAAM,CAAC,cAAc,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,WAAW,EAAE,CAAC;QAC9D,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,4BAA4B;QAExD,OAAO,CAAC,sBAAsB,GAAG,EAAE,CAAC;QAEpC,UAAU,CAAC,EAAE,CAAC,CAAC;QAEf,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC5B,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QAE9C,UAAU,CAAC,IAAI,CAAC,CAAC;QAEjB,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport { makeMockDispatchStateChange } from \"../../Dispatcher/Mocks/MockDispatchStateChange\";\r\nimport { makeBaseAppState } from \"../Entity\";\r\nimport { makeUpdateContentSizeUC } from \"./UpdateContentSizeUC\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n const app = appObjects.getOrCreate(\"app\");\r\n const baseApp = makeBaseAppState(appObjects.getOrCreate(\"Base App\"));\r\n\r\n const doDispatchMock = jest.fn();\r\n makeMockDispatchStateChange(appObjects).doDispatch = doDispatchMock\r\n\r\n const updateSizeUC = makeUpdateContentSizeUC(app);\r\n const updateSize = updateSizeUC.updateContentSize;\r\n\r\n return { baseApp, updateSize, doDispatchMock };\r\n}\r\n\r\ndescribe(\"Update Content Size\", () => {\r\n it(\"Sets the value in the entity\", () => {\r\n const { baseApp, updateSize } = makeTestRig();\r\n\r\n baseApp.slideInfoContentHeight = 10;\r\n\r\n updateSize(15);\r\n\r\n expect(baseApp.slideInfoContentHeight).toEqual(15);\r\n });\r\n\r\n it(\"Dispatches a state change\", () => {\r\n const { baseApp, updateSize, doDispatchMock } = makeTestRig();\r\n baseApp.slideInfoContentHeight = 10;\r\n\r\n updateSize(15);\r\n\r\n expect(doDispatchMock).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not dispatches if there is no change.\", () => {\r\n const { baseApp, updateSize, doDispatchMock } = makeTestRig();\r\n doDispatchMock.mockClear(); // Clear previous mock calls\r\n\r\n baseApp.slideInfoContentHeight = 10;\r\n\r\n updateSize(10);\r\n\r\n expect(doDispatchMock).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Rounds the size up\", () => {\r\n const { baseApp, updateSize } = makeTestRig();\r\n\r\n updateSize(15.1);\r\n\r\n expect(baseApp.slideInfoContentHeight).toEqual(16);\r\n });\r\n});\r\n"]}
@@ -133,6 +133,7 @@ class CalloutImp extends CalloutEntity {
133
133
  this.rootTransform.addChangeObserver(this.notifyOnChange);
134
134
  const labelAO = appObject.appObjectRepo.getOrCreate(myID + "_label");
135
135
  this.labelTransform = (0, Transform3D_1.makeTransform3D)(labelAO);
136
+ this.labelTransform.localRotation = core_1.Quaternion.FromYawPitchRoll(core_1.Angle.FromDegrees(180), core_1.Angle.FromDegrees(0), core_1.Angle.FromDegrees(0));
136
137
  this.labelTransform.addChangeObserver(this.notifyOnChange);
137
138
  }
138
139
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CalloutEntity.js","sourceRoot":"","sources":["../../../../src/Callouts/Entities/CalloutEntity.ts"],"names":[],"mappings":"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","sourcesContent":["import {\r\n AppObject,\r\n AppObjectEntity,\r\n AppObjectRepo,\r\n Quaternion,\r\n QuaternionDTO,\r\n\r\n\r\n RangedNumber, Vector3,\r\n Vector3DTO\r\n} from \"@vived/core\";\r\nimport { Hideable } from \"../../Hideable/Entities/Hideable\";\r\nimport { LabelEntity } from \"../../Label/Entities/LabelEntity\";\r\nimport {\r\n OverlayColor,\r\n OverlayColorEnums\r\n} from \"../../OverlayColor/Entities/OverlayColor\";\r\nimport {\r\n makeSelectable,\r\n Selectable\r\n} from \"../../Selection/Entities/Selectable\";\r\nimport {\r\n makeTransform3D,\r\n Transform3D\r\n} from \"../../Transform3D/Entities/Transform3D\";\r\nimport { CalloutRepo } from \"./CalloutRepo\";\r\n\r\nexport const CALLOUT_MINIMUM_SIZE: number = 0.3;\r\nexport const CALLOUT_MAXIMUM_SIZE: number = 1.3;\r\n\r\nexport type CalloutOffsetDirection = \"LEFT\" | \"RIGHT\" | \"UP\" | \"DOWN\";\r\n\r\nexport interface CalloutDTO {\r\n id: string;\r\n rootPosition: Vector3DTO;\r\n rootRotation: QuaternionDTO;\r\n labelPosition: Vector3DTO;\r\n size: number;\r\n parentID: string;\r\n label: string;\r\n defaultLabel: string;\r\n color: string;\r\n}\r\n\r\nexport abstract class CalloutEntity extends AppObjectEntity {\r\n static readonly type = \"CALLOUT\";\r\n\r\n static get(appObj: AppObject): CalloutEntity | undefined {\r\n return appObj.getComponent<CalloutEntity>(this.type);\r\n }\r\n\r\n static getById(\r\n id: string,\r\n appObjects: AppObjectRepo\r\n ): CalloutEntity | undefined {\r\n return appObjects.get(id)?.getComponent<CalloutEntity>(this.type);\r\n }\r\n\r\n abstract get id(): string;\r\n abstract inRepo?: CalloutRepo;\r\n\r\n abstract readonly label: LabelEntity;\r\n abstract readonly rootTransform: Transform3D;\r\n abstract readonly labelTransform: Transform3D;\r\n abstract readonly hideable: Hideable;\r\n abstract readonly selectable: Selectable;\r\n abstract readonly overlayColor: OverlayColor;\r\n abstract readonly rangedSize: RangedNumber;\r\n\r\n abstract get size(): number;\r\n abstract set size(val: number);\r\n\r\n abstract get rootPosition(): Vector3;\r\n abstract set rootPosition(p: Vector3);\r\n\r\n abstract get rootRotation(): Quaternion;\r\n abstract set rootRotation(r: Quaternion);\r\n\r\n abstract get labelPosition(): Vector3;\r\n abstract set labelPosition(p: Vector3);\r\n\r\n abstract get labelRotation(): Quaternion;\r\n abstract set labelRotation(r: Quaternion);\r\n\r\n abstract get data(): CalloutDTO;\r\n abstract set data(dto: CalloutDTO);\r\n\r\n abstract get offsetDirection(): CalloutOffsetDirection;\r\n}\r\n\r\nexport function makeCalloutEntity(appObject: AppObject): CalloutEntity {\r\n return new CalloutImp(appObject);\r\n}\r\n\r\nclass CalloutImp extends CalloutEntity {\r\n readonly label: LabelEntity;\r\n readonly hideable: Hideable;\r\n readonly selectable: Selectable;\r\n readonly rootTransform: Transform3D;\r\n readonly labelTransform: Transform3D;\r\n readonly overlayColor: OverlayColor;\r\n readonly rangedSize: RangedNumber;\r\n\r\n get id() {\r\n return this.appObject.id;\r\n }\r\n\r\n get size(): number {\r\n return this.rangedSize.val;\r\n }\r\n set size(val: number) {\r\n this.rangedSize.val = val;\r\n }\r\n\r\n get rootPosition(): Vector3 {\r\n return this.rootTransform.localPosition;\r\n }\r\n set rootPosition(p: Vector3) {\r\n this.rootTransform.localPosition = p;\r\n }\r\n\r\n get rootRotation(): Quaternion {\r\n return this.rootTransform.localRotation;\r\n }\r\n set rootRotation(r: Quaternion) {\r\n this.rootTransform.localRotation = r;\r\n }\r\n\r\n get labelPosition(): Vector3 {\r\n return this.labelTransform.localPosition;\r\n }\r\n set labelPosition(p: Vector3) {\r\n this.labelTransform.localPosition = p;\r\n }\r\n\r\n get labelRotation(): Quaternion {\r\n return this.labelTransform.localRotation;\r\n }\r\n set labelRotation(r: Quaternion) {\r\n this.labelTransform.localRotation = r;\r\n }\r\n\r\n get offsetDirection(): CalloutOffsetDirection {\r\n const worldStartPos = this.rootTransform.worldPosition;\r\n const worldEndPos = this.labelTransform.worldPosition;\r\n const delta = Vector3.Subtract(worldEndPos, worldStartPos);\r\n\r\n let offsetDirection: CalloutOffsetDirection = \"LEFT\";\r\n if (Math.abs(delta.y) > Math.abs(delta.x)) {\r\n if (delta.y < 0) offsetDirection = \"DOWN\";\r\n else offsetDirection = \"UP\";\r\n } else {\r\n if (delta.x < 0) offsetDirection = \"LEFT\";\r\n else offsetDirection = \"RIGHT\";\r\n }\r\n\r\n return offsetDirection;\r\n }\r\n\r\n inRepo?: CalloutRepo;\r\n\r\n get data(): CalloutDTO {\r\n return {\r\n id: this.appObject.id,\r\n parentID: this.inRepo ? this.inRepo.appObject.id : \"\",\r\n rootPosition: this.rootPosition.dto,\r\n rootRotation: this.rootRotation.dto,\r\n labelPosition: this.labelPosition.dto,\r\n size: this.size,\r\n label: this.label.custom,\r\n defaultLabel: this.label.default,\r\n color: this.overlayColor.overlayColor,\r\n };\r\n }\r\n\r\n set data(dto: CalloutDTO) {\r\n this.rootPosition = Vector3.FromDTO(dto.rootPosition);\r\n this.rootRotation = Quaternion.FromDTO(dto.rootRotation);\r\n this.labelPosition = Vector3.FromDTO(dto.labelPosition);\r\n this.size = dto.size;\r\n this.label.custom = dto.label;\r\n this.label.default = dto.defaultLabel;\r\n const overlayColor = dto.color as OverlayColorEnums;\r\n this.overlayColor.overlayColor = overlayColor ?? OverlayColorEnums.WHITE;\r\n }\r\n\r\n dispose = () => {\r\n super.dispose();\r\n this.label.dispose();\r\n this.hideable.dispose();\r\n this.selectable.dispose();\r\n this.overlayColor.dispose();\r\n this.labelTransform.appObject.dispose();\r\n this.rootTransform.appObject.dispose();\r\n\r\n if (this.inRepo) {\r\n this.inRepo.removeForAppObject(this.appObject.id);\r\n }\r\n };\r\n\r\n constructor(appObject: AppObject) {\r\n super(appObject, CalloutEntity.type);\r\n\r\n this.label = LabelEntity.addIfMissing(appObject);\r\n this.label.addChangeObserver(this.notifyOnChange);\r\n\r\n this.hideable = Hideable.addIfMissing(appObject);\r\n this.hideable.addChangeObserver(this.notifyOnChange);\r\n\r\n this.overlayColor = OverlayColor.addIfMissing(appObject);\r\n this.overlayColor.addChangeObserver(this.notifyOnChange);\r\n\r\n this.selectable = makeSelectable(appObject);\r\n this.selectable.addChangeObserver(this.notifyOnChange);\r\n\r\n this.rangedSize = new RangedNumber(\r\n {\r\n min: CALLOUT_MINIMUM_SIZE,\r\n max: CALLOUT_MAXIMUM_SIZE,\r\n initialValue:\r\n CALLOUT_MINIMUM_SIZE +\r\n 0.5 * (CALLOUT_MAXIMUM_SIZE - CALLOUT_MINIMUM_SIZE),\r\n },\r\n this.notifyOnChange\r\n );\r\n\r\n const myID = appObject.id;\r\n const rootAO = appObject.appObjectRepo.getOrCreate(myID + \"_root\");\r\n this.rootTransform = makeTransform3D(rootAO);\r\n this.rootTransform.addChangeObserver(this.notifyOnChange);\r\n\r\n const labelAO = appObject.appObjectRepo.getOrCreate(myID + \"_label\");\r\n this.labelTransform = makeTransform3D(labelAO);\r\n this.labelTransform.addChangeObserver(this.notifyOnChange);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"CalloutEntity.js","sourceRoot":"","sources":["../../../../src/Callouts/Entities/CalloutEntity.ts"],"names":[],"mappings":"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","sourcesContent":["import {\r\n Angle,\r\n AppObject,\r\n AppObjectEntity,\r\n AppObjectRepo,\r\n Quaternion,\r\n QuaternionDTO,\r\n RangedNumber,\r\n Vector3,\r\n Vector3DTO,\r\n} from \"@vived/core\";\r\nimport { Hideable } from \"../../Hideable/Entities/Hideable\";\r\nimport { LabelEntity } from \"../../Label/Entities/LabelEntity\";\r\nimport {\r\n OverlayColor,\r\n OverlayColorEnums,\r\n} from \"../../OverlayColor/Entities/OverlayColor\";\r\nimport {\r\n makeSelectable,\r\n Selectable,\r\n} from \"../../Selection/Entities/Selectable\";\r\nimport {\r\n makeTransform3D,\r\n Transform3D,\r\n} from \"../../Transform3D/Entities/Transform3D\";\r\nimport { CalloutRepo } from \"./CalloutRepo\";\r\n\r\nexport const CALLOUT_MINIMUM_SIZE: number = 0.3;\r\nexport const CALLOUT_MAXIMUM_SIZE: number = 1.3;\r\n\r\nexport type CalloutOffsetDirection = \"LEFT\" | \"RIGHT\" | \"UP\" | \"DOWN\";\r\n\r\nexport interface CalloutDTO {\r\n id: string;\r\n rootPosition: Vector3DTO;\r\n rootRotation: QuaternionDTO;\r\n labelPosition: Vector3DTO;\r\n size: number;\r\n parentID: string;\r\n label: string;\r\n defaultLabel: string;\r\n color: string;\r\n}\r\n\r\nexport abstract class CalloutEntity extends AppObjectEntity {\r\n static readonly type = \"CALLOUT\";\r\n\r\n static get(appObj: AppObject): CalloutEntity | undefined {\r\n return appObj.getComponent<CalloutEntity>(this.type);\r\n }\r\n\r\n static getById(\r\n id: string,\r\n appObjects: AppObjectRepo\r\n ): CalloutEntity | undefined {\r\n return appObjects.get(id)?.getComponent<CalloutEntity>(this.type);\r\n }\r\n\r\n abstract get id(): string;\r\n abstract inRepo?: CalloutRepo;\r\n\r\n abstract readonly label: LabelEntity;\r\n abstract readonly rootTransform: Transform3D;\r\n abstract readonly labelTransform: Transform3D;\r\n abstract readonly hideable: Hideable;\r\n abstract readonly selectable: Selectable;\r\n abstract readonly overlayColor: OverlayColor;\r\n abstract readonly rangedSize: RangedNumber;\r\n\r\n abstract get size(): number;\r\n abstract set size(val: number);\r\n\r\n abstract get rootPosition(): Vector3;\r\n abstract set rootPosition(p: Vector3);\r\n\r\n abstract get rootRotation(): Quaternion;\r\n abstract set rootRotation(r: Quaternion);\r\n\r\n abstract get labelPosition(): Vector3;\r\n abstract set labelPosition(p: Vector3);\r\n\r\n abstract get labelRotation(): Quaternion;\r\n abstract set labelRotation(r: Quaternion);\r\n\r\n abstract get data(): CalloutDTO;\r\n abstract set data(dto: CalloutDTO);\r\n\r\n abstract get offsetDirection(): CalloutOffsetDirection;\r\n}\r\n\r\nexport function makeCalloutEntity(appObject: AppObject): CalloutEntity {\r\n return new CalloutImp(appObject);\r\n}\r\n\r\nclass CalloutImp extends CalloutEntity {\r\n readonly label: LabelEntity;\r\n readonly hideable: Hideable;\r\n readonly selectable: Selectable;\r\n readonly rootTransform: Transform3D;\r\n readonly labelTransform: Transform3D;\r\n readonly overlayColor: OverlayColor;\r\n readonly rangedSize: RangedNumber;\r\n\r\n get id() {\r\n return this.appObject.id;\r\n }\r\n\r\n get size(): number {\r\n return this.rangedSize.val;\r\n }\r\n set size(val: number) {\r\n this.rangedSize.val = val;\r\n }\r\n\r\n get rootPosition(): Vector3 {\r\n return this.rootTransform.localPosition;\r\n }\r\n set rootPosition(p: Vector3) {\r\n this.rootTransform.localPosition = p;\r\n }\r\n\r\n get rootRotation(): Quaternion {\r\n return this.rootTransform.localRotation;\r\n }\r\n set rootRotation(r: Quaternion) {\r\n this.rootTransform.localRotation = r;\r\n }\r\n\r\n get labelPosition(): Vector3 {\r\n return this.labelTransform.localPosition;\r\n }\r\n set labelPosition(p: Vector3) {\r\n this.labelTransform.localPosition = p;\r\n }\r\n\r\n get labelRotation(): Quaternion {\r\n return this.labelTransform.localRotation;\r\n }\r\n set labelRotation(r: Quaternion) {\r\n this.labelTransform.localRotation = r;\r\n }\r\n\r\n get offsetDirection(): CalloutOffsetDirection {\r\n const worldStartPos = this.rootTransform.worldPosition;\r\n const worldEndPos = this.labelTransform.worldPosition;\r\n const delta = Vector3.Subtract(worldEndPos, worldStartPos);\r\n\r\n let offsetDirection: CalloutOffsetDirection = \"LEFT\";\r\n if (Math.abs(delta.y) > Math.abs(delta.x)) {\r\n if (delta.y < 0) offsetDirection = \"DOWN\";\r\n else offsetDirection = \"UP\";\r\n } else {\r\n if (delta.x < 0) offsetDirection = \"LEFT\";\r\n else offsetDirection = \"RIGHT\";\r\n }\r\n\r\n return offsetDirection;\r\n }\r\n\r\n inRepo?: CalloutRepo;\r\n\r\n get data(): CalloutDTO {\r\n return {\r\n id: this.appObject.id,\r\n parentID: this.inRepo ? this.inRepo.appObject.id : \"\",\r\n rootPosition: this.rootPosition.dto,\r\n rootRotation: this.rootRotation.dto,\r\n labelPosition: this.labelPosition.dto,\r\n size: this.size,\r\n label: this.label.custom,\r\n defaultLabel: this.label.default,\r\n color: this.overlayColor.overlayColor,\r\n };\r\n }\r\n\r\n set data(dto: CalloutDTO) {\r\n this.rootPosition = Vector3.FromDTO(dto.rootPosition);\r\n this.rootRotation = Quaternion.FromDTO(dto.rootRotation);\r\n this.labelPosition = Vector3.FromDTO(dto.labelPosition);\r\n this.size = dto.size;\r\n this.label.custom = dto.label;\r\n this.label.default = dto.defaultLabel;\r\n const overlayColor = dto.color as OverlayColorEnums;\r\n this.overlayColor.overlayColor = overlayColor ?? OverlayColorEnums.WHITE;\r\n }\r\n\r\n dispose = () => {\r\n super.dispose();\r\n this.label.dispose();\r\n this.hideable.dispose();\r\n this.selectable.dispose();\r\n this.overlayColor.dispose();\r\n this.labelTransform.appObject.dispose();\r\n this.rootTransform.appObject.dispose();\r\n\r\n if (this.inRepo) {\r\n this.inRepo.removeForAppObject(this.appObject.id);\r\n }\r\n };\r\n\r\n constructor(appObject: AppObject) {\r\n super(appObject, CalloutEntity.type);\r\n\r\n this.label = LabelEntity.addIfMissing(appObject);\r\n this.label.addChangeObserver(this.notifyOnChange);\r\n\r\n this.hideable = Hideable.addIfMissing(appObject);\r\n this.hideable.addChangeObserver(this.notifyOnChange);\r\n\r\n this.overlayColor = OverlayColor.addIfMissing(appObject);\r\n this.overlayColor.addChangeObserver(this.notifyOnChange);\r\n\r\n this.selectable = makeSelectable(appObject);\r\n this.selectable.addChangeObserver(this.notifyOnChange);\r\n\r\n this.rangedSize = new RangedNumber(\r\n {\r\n min: CALLOUT_MINIMUM_SIZE,\r\n max: CALLOUT_MAXIMUM_SIZE,\r\n initialValue:\r\n CALLOUT_MINIMUM_SIZE +\r\n 0.5 * (CALLOUT_MAXIMUM_SIZE - CALLOUT_MINIMUM_SIZE),\r\n },\r\n this.notifyOnChange\r\n );\r\n\r\n const myID = appObject.id;\r\n const rootAO = appObject.appObjectRepo.getOrCreate(myID + \"_root\");\r\n this.rootTransform = makeTransform3D(rootAO);\r\n this.rootTransform.addChangeObserver(this.notifyOnChange);\r\n\r\n const labelAO = appObject.appObjectRepo.getOrCreate(myID + \"_label\");\r\n this.labelTransform = makeTransform3D(labelAO);\r\n this.labelTransform.localRotation = Quaternion.FromYawPitchRoll(\r\n Angle.FromDegrees(180),\r\n Angle.FromDegrees(0),\r\n Angle.FromDegrees(0)\r\n );\r\n this.labelTransform.addChangeObserver(this.notifyOnChange);\r\n }\r\n}\r\n"]}
@@ -114,7 +114,7 @@ describe("Callout Entity", () => {
114
114
  });
115
115
  it("Sets and gets the labelRotation", () => {
116
116
  const { callout, observer } = makeTestRig();
117
- expect(core_1.Quaternion.Close(callout.labelRotation, core_1.Quaternion.Identity())).toEqual(true);
117
+ expect(core_1.Quaternion.Close(callout.labelRotation, core_1.Quaternion.FromYawPitchRoll(core_1.Angle.FromDegrees(180), core_1.Angle.FromDegrees(0), core_1.Angle.FromDegrees(0)))).toEqual(true);
118
118
  const newQ = core_1.Quaternion.FromYawPitchRoll(core_1.Angle.FromDegrees(10), core_1.Angle.FromDegrees(20), core_1.Angle.FromDegrees(30));
119
119
  callout.labelRotation = newQ;
120
120
  expect(core_1.Quaternion.Close(callout.labelRotation, newQ)).toEqual(true);
@@ -1 +1 @@
1
- {"version":3,"file":"CalloutEntity.test.js","sourceRoot":"","sources":["../../../../src/Callouts/Entities/CalloutEntity.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { Angle, makeAppObjectRepo, Quaternion, Vector3 } from \"@vived/core\";\r\nimport { OverlayColorEnums } from \"../../OverlayColor/Entities/OverlayColor\";\r\nimport { CalloutEntity, makeCalloutEntity } from \"./CalloutEntity\";\r\nimport { makeCalloutRepoEntity } from \"./CalloutRepo\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n\r\n const calloutAO = appObjects.getOrCreate(\"calloutID\");\r\n const callout = makeCalloutEntity(calloutAO);\r\n const observer = jest.fn();\r\n callout.addChangeObserver(observer);\r\n\r\n const repoAO = appObjects.getOrCreate(\"repo\");\r\n const repo = makeCalloutRepoEntity(repoAO);\r\n repo.add(callout);\r\n callout.inRepo = repo;\r\n\r\n return { callout, appObjects, observer, repo };\r\n}\r\n\r\ndescribe(\"Callout Entity\", () => {\r\n it(\"Gets the entoty for the App Object\", () => {\r\n const { callout, appObjects } = makeTestRig();\r\n\r\n expect(CalloutEntity.getById(\"calloutID\", appObjects)).toEqual(callout);\r\n });\r\n\r\n it(\"Notifies when the Label changes\", () => {\r\n const { callout, observer } = makeTestRig();\r\n observer.mockClear();\r\n callout.label.notifyOnChange();\r\n\r\n expect(observer).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Disposes the label\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.label.dispose = jest.fn();\r\n\r\n callout.dispose();\r\n\r\n expect(callout.label.dispose).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Notifies when the hideable changes\", () => {\r\n const { callout, observer } = makeTestRig();\r\n observer.mockClear();\r\n\r\n callout.hideable.notifyOnChange();\r\n\r\n expect(observer).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Disposes the hideable\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.hideable.dispose = jest.fn();\r\n\r\n callout.dispose();\r\n\r\n expect(callout.hideable.dispose).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Notifies when the selectable changes\", () => {\r\n const { callout, observer } = makeTestRig();\r\n observer.mockClear();\r\n\r\n callout.selectable.notifyOnChange();\r\n\r\n expect(observer).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Disposes the selectable\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.selectable.dispose = jest.fn();\r\n\r\n callout.dispose();\r\n\r\n expect(callout.selectable.dispose).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Removes itself from the repo\", () => {\r\n const { callout, repo } = makeTestRig();\r\n\r\n expect(repo.hasForAppObject(callout.appObject.id)).toEqual(true);\r\n\r\n callout.dispose();\r\n\r\n expect(repo.hasForAppObject(callout.appObject.id)).toEqual(false);\r\n });\r\n\r\n it(\"Notifies when the root transform changes\", () => {\r\n const { callout, observer } = makeTestRig();\r\n observer.mockClear();\r\n\r\n callout.rootTransform.notifyOnChange();\r\n\r\n expect(observer).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Disposes the root rootTransform\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.rootTransform.dispose = jest.fn();\r\n\r\n callout.dispose();\r\n\r\n expect(callout.rootTransform.dispose).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Notifies when the label transform changes\", () => {\r\n const { callout, observer } = makeTestRig();\r\n observer.mockClear();\r\n\r\n callout.labelTransform.notifyOnChange();\r\n\r\n expect(observer).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Disposes the label rootTransform\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.labelTransform.dispose = jest.fn();\r\n\r\n callout.dispose();\r\n\r\n expect(callout.labelTransform.dispose).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Sets and gets the rootPosition\", () => {\r\n const { callout, observer } = makeTestRig();\r\n\r\n expect(callout.rootPosition).toEqual(Vector3.Zero());\r\n\r\n callout.rootPosition = new Vector3(1, 2, 3);\r\n\r\n expect(callout.rootPosition).toEqual(new Vector3(1, 2, 3));\r\n expect(callout.rootTransform.localPosition).toEqual(new Vector3(1, 2, 3));\r\n expect(observer).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Sets and gets the rootRotation\", () => {\r\n const { callout, observer } = makeTestRig();\r\n\r\n expect(\r\n Quaternion.Close(callout.rootRotation, Quaternion.Identity())\r\n ).toEqual(true);\r\n const newQ = Quaternion.FromYawPitchRoll(\r\n Angle.FromDegrees(10),\r\n Angle.FromDegrees(20),\r\n Angle.FromDegrees(30)\r\n );\r\n\r\n callout.rootRotation = newQ;\r\n\r\n expect(Quaternion.Close(callout.rootRotation, newQ)).toEqual(true);\r\n expect(Quaternion.Close(callout.rootTransform.localRotation, newQ)).toEqual(\r\n true\r\n );\r\n expect(observer).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Sets and gets the labelPosition\", () => {\r\n const { callout, observer } = makeTestRig();\r\n\r\n expect(callout.labelPosition).toEqual(Vector3.Zero());\r\n\r\n callout.labelPosition = new Vector3(1, 2, 3);\r\n\r\n expect(callout.labelPosition).toEqual(new Vector3(1, 2, 3));\r\n expect(callout.labelTransform.localPosition).toEqual(new Vector3(1, 2, 3));\r\n expect(observer).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Sets and gets the labelRotation\", () => {\r\n const { callout, observer } = makeTestRig();\r\n\r\n expect(\r\n Quaternion.Close(callout.labelRotation, Quaternion.Identity())\r\n ).toEqual(true);\r\n const newQ = Quaternion.FromYawPitchRoll(\r\n Angle.FromDegrees(10),\r\n Angle.FromDegrees(20),\r\n Angle.FromDegrees(30)\r\n );\r\n\r\n callout.labelRotation = newQ;\r\n\r\n expect(Quaternion.Close(callout.labelRotation, newQ)).toEqual(true);\r\n expect(\r\n Quaternion.Close(callout.labelTransform.localRotation, newQ)\r\n ).toEqual(true);\r\n expect(observer).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Sets the dto id\", () => {\r\n const { callout } = makeTestRig();\r\n expect(callout.data.id).toEqual(\"calloutID\");\r\n });\r\n\r\n it(\"Sets the dto parent\", () => {\r\n const { callout } = makeTestRig();\r\n expect(callout.data.parentID).toEqual(\"repo\");\r\n });\r\n\r\n it(\"Sets the dto root position\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.rootPosition = new Vector3(1, 2, 3);\r\n\r\n expect(callout.data.rootPosition).toEqual(callout.rootPosition.dto);\r\n });\r\n\r\n it(\"Sets the dto root rotation\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.rootRotation = Quaternion.FromYawPitchRoll(\r\n Angle.FromDegrees(10),\r\n Angle.FromDegrees(20),\r\n Angle.FromDegrees(30)\r\n );\r\n\r\n expect(callout.data.rootRotation).toEqual(callout.rootRotation.dto);\r\n });\r\n\r\n it(\"Sets the dto label position\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.labelPosition = new Vector3(1, 2, 3);\r\n\r\n expect(callout.data.labelPosition).toEqual(callout.labelPosition.dto);\r\n });\r\n\r\n it(\"Sets the dto label\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.label.custom = \"custom label\";\r\n\r\n expect(callout.data.label).toEqual(\"custom label\");\r\n });\r\n\r\n it(\"Sets the dto default label\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.label.default = \"default label\";\r\n\r\n expect(callout.data.defaultLabel).toEqual(\"default label\");\r\n });\r\n\r\n it(\"Sets the dto color\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.overlayColor.overlayColor = OverlayColorEnums.RED;\r\n\r\n expect(callout.data.color).toEqual(\"Red\");\r\n });\r\n\r\n it(\"Applies the dto root position\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.data = {\r\n id: \"calloutID\",\r\n parentID: \"repo\",\r\n rootPosition: new Vector3(1, 2, 3).dto,\r\n rootRotation: Quaternion.FromYawPitchRoll(\r\n Angle.FromDegrees(10),\r\n Angle.FromDegrees(20),\r\n Angle.FromDegrees(30)\r\n ).dto,\r\n labelPosition: new Vector3(4, 5, 6).dto,\r\n defaultLabel: \"default label\",\r\n label: \"custom label\",\r\n size: 5,\r\n color: \"Red\",\r\n };\r\n\r\n expect(callout.rootPosition).toEqual(new Vector3(1, 2, 3));\r\n });\r\n\r\n it(\"Applies the dto root rotation\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.data = {\r\n id: \"calloutID\",\r\n parentID: \"repo\",\r\n rootPosition: new Vector3(1, 2, 3).dto,\r\n rootRotation: Quaternion.FromYawPitchRoll(\r\n Angle.FromDegrees(10),\r\n Angle.FromDegrees(20),\r\n Angle.FromDegrees(30)\r\n ).dto,\r\n labelPosition: new Vector3(4, 5, 6).dto,\r\n defaultLabel: \"default label\",\r\n label: \"custom label\",\r\n size: 5,\r\n color: \"Red\",\r\n };\r\n\r\n expect(\r\n Quaternion.Close(\r\n callout.rootRotation,\r\n Quaternion.FromYawPitchRoll(\r\n Angle.FromDegrees(10),\r\n Angle.FromDegrees(20),\r\n Angle.FromDegrees(30)\r\n )\r\n )\r\n ).toEqual(true);\r\n });\r\n\r\n it(\"Applies the dto label position\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.data = {\r\n id: \"calloutID\",\r\n parentID: \"repo\",\r\n rootPosition: new Vector3(1, 2, 3).dto,\r\n rootRotation: Quaternion.FromYawPitchRoll(\r\n Angle.FromDegrees(10),\r\n Angle.FromDegrees(20),\r\n Angle.FromDegrees(30)\r\n ).dto,\r\n labelPosition: new Vector3(4, 5, 6).dto,\r\n defaultLabel: \"default label\",\r\n label: \"custom label\",\r\n size: 5,\r\n color: \"Red\",\r\n };\r\n\r\n expect(callout.labelPosition).toEqual(new Vector3(4, 5, 6));\r\n });\r\n\r\n it(\"Applies the dto label\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.data = {\r\n id: \"calloutID\",\r\n parentID: \"repo\",\r\n rootPosition: new Vector3(1, 2, 3).dto,\r\n rootRotation: Quaternion.FromYawPitchRoll(\r\n Angle.FromDegrees(10),\r\n Angle.FromDegrees(20),\r\n Angle.FromDegrees(30)\r\n ).dto,\r\n labelPosition: new Vector3(4, 5, 6).dto,\r\n defaultLabel: \"default label\",\r\n label: \"custom label\",\r\n size: 5,\r\n color: \"Red\",\r\n };\r\n\r\n expect(callout.label.custom).toEqual(\"custom label\");\r\n });\r\n\r\n it(\"Applies the dto default label\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.data = {\r\n id: \"calloutID\",\r\n parentID: \"repo\",\r\n rootPosition: new Vector3(1, 2, 3).dto,\r\n rootRotation: Quaternion.FromYawPitchRoll(\r\n Angle.FromDegrees(10),\r\n Angle.FromDegrees(20),\r\n Angle.FromDegrees(30)\r\n ).dto,\r\n labelPosition: new Vector3(4, 5, 6).dto,\r\n defaultLabel: \"default label\",\r\n label: \"custom label\",\r\n size: 5,\r\n color: \"Red\",\r\n };\r\n\r\n expect(callout.label.default).toEqual(\"default label\");\r\n });\r\n\r\n it(\"Applies the dto color\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.data = {\r\n id: \"calloutID\",\r\n parentID: \"repo\",\r\n rootPosition: new Vector3(1, 2, 3).dto,\r\n rootRotation: Quaternion.FromYawPitchRoll(\r\n Angle.FromDegrees(10),\r\n Angle.FromDegrees(20),\r\n Angle.FromDegrees(30)\r\n ).dto,\r\n labelPosition: new Vector3(4, 5, 6).dto,\r\n defaultLabel: \"default label\",\r\n label: \"custom label\",\r\n size: 5,\r\n color: \"Red\",\r\n };\r\n\r\n expect(callout.overlayColor.overlayColor).toEqual(OverlayColorEnums.RED);\r\n });\r\n});\r\n"]}
1
+ {"version":3,"file":"CalloutEntity.test.js","sourceRoot":"","sources":["../../../../src/Callouts/Entities/CalloutEntity.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { Angle, makeAppObjectRepo, Quaternion, Vector3 } from \"@vived/core\";\r\nimport { OverlayColorEnums } from \"../../OverlayColor/Entities/OverlayColor\";\r\nimport { CalloutEntity, makeCalloutEntity } from \"./CalloutEntity\";\r\nimport { makeCalloutRepoEntity } from \"./CalloutRepo\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n\r\n const calloutAO = appObjects.getOrCreate(\"calloutID\");\r\n const callout = makeCalloutEntity(calloutAO);\r\n const observer = jest.fn();\r\n callout.addChangeObserver(observer);\r\n\r\n const repoAO = appObjects.getOrCreate(\"repo\");\r\n const repo = makeCalloutRepoEntity(repoAO);\r\n repo.add(callout);\r\n callout.inRepo = repo;\r\n\r\n return { callout, appObjects, observer, repo };\r\n}\r\n\r\ndescribe(\"Callout Entity\", () => {\r\n it(\"Gets the entoty for the App Object\", () => {\r\n const { callout, appObjects } = makeTestRig();\r\n\r\n expect(CalloutEntity.getById(\"calloutID\", appObjects)).toEqual(callout);\r\n });\r\n\r\n it(\"Notifies when the Label changes\", () => {\r\n const { callout, observer } = makeTestRig();\r\n observer.mockClear();\r\n callout.label.notifyOnChange();\r\n\r\n expect(observer).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Disposes the label\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.label.dispose = jest.fn();\r\n\r\n callout.dispose();\r\n\r\n expect(callout.label.dispose).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Notifies when the hideable changes\", () => {\r\n const { callout, observer } = makeTestRig();\r\n observer.mockClear();\r\n\r\n callout.hideable.notifyOnChange();\r\n\r\n expect(observer).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Disposes the hideable\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.hideable.dispose = jest.fn();\r\n\r\n callout.dispose();\r\n\r\n expect(callout.hideable.dispose).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Notifies when the selectable changes\", () => {\r\n const { callout, observer } = makeTestRig();\r\n observer.mockClear();\r\n\r\n callout.selectable.notifyOnChange();\r\n\r\n expect(observer).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Disposes the selectable\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.selectable.dispose = jest.fn();\r\n\r\n callout.dispose();\r\n\r\n expect(callout.selectable.dispose).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Removes itself from the repo\", () => {\r\n const { callout, repo } = makeTestRig();\r\n\r\n expect(repo.hasForAppObject(callout.appObject.id)).toEqual(true);\r\n\r\n callout.dispose();\r\n\r\n expect(repo.hasForAppObject(callout.appObject.id)).toEqual(false);\r\n });\r\n\r\n it(\"Notifies when the root transform changes\", () => {\r\n const { callout, observer } = makeTestRig();\r\n observer.mockClear();\r\n\r\n callout.rootTransform.notifyOnChange();\r\n\r\n expect(observer).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Disposes the root rootTransform\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.rootTransform.dispose = jest.fn();\r\n\r\n callout.dispose();\r\n\r\n expect(callout.rootTransform.dispose).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Notifies when the label transform changes\", () => {\r\n const { callout, observer } = makeTestRig();\r\n observer.mockClear();\r\n\r\n callout.labelTransform.notifyOnChange();\r\n\r\n expect(observer).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Disposes the label rootTransform\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.labelTransform.dispose = jest.fn();\r\n\r\n callout.dispose();\r\n\r\n expect(callout.labelTransform.dispose).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Sets and gets the rootPosition\", () => {\r\n const { callout, observer } = makeTestRig();\r\n\r\n expect(callout.rootPosition).toEqual(Vector3.Zero());\r\n\r\n callout.rootPosition = new Vector3(1, 2, 3);\r\n\r\n expect(callout.rootPosition).toEqual(new Vector3(1, 2, 3));\r\n expect(callout.rootTransform.localPosition).toEqual(new Vector3(1, 2, 3));\r\n expect(observer).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Sets and gets the rootRotation\", () => {\r\n const { callout, observer } = makeTestRig();\r\n\r\n expect(\r\n Quaternion.Close(callout.rootRotation, Quaternion.Identity())\r\n ).toEqual(true);\r\n const newQ = Quaternion.FromYawPitchRoll(\r\n Angle.FromDegrees(10),\r\n Angle.FromDegrees(20),\r\n Angle.FromDegrees(30)\r\n );\r\n\r\n callout.rootRotation = newQ;\r\n\r\n expect(Quaternion.Close(callout.rootRotation, newQ)).toEqual(true);\r\n expect(Quaternion.Close(callout.rootTransform.localRotation, newQ)).toEqual(\r\n true\r\n );\r\n expect(observer).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Sets and gets the labelPosition\", () => {\r\n const { callout, observer } = makeTestRig();\r\n\r\n expect(callout.labelPosition).toEqual(Vector3.Zero());\r\n\r\n callout.labelPosition = new Vector3(1, 2, 3);\r\n\r\n expect(callout.labelPosition).toEqual(new Vector3(1, 2, 3));\r\n expect(callout.labelTransform.localPosition).toEqual(new Vector3(1, 2, 3));\r\n expect(observer).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Sets and gets the labelRotation\", () => {\r\n const { callout, observer } = makeTestRig();\r\n\r\n expect(\r\n Quaternion.Close(\r\n callout.labelRotation,\r\n Quaternion.FromYawPitchRoll(\r\n Angle.FromDegrees(180),\r\n Angle.FromDegrees(0),\r\n Angle.FromDegrees(0)\r\n )\r\n )\r\n ).toEqual(true);\r\n const newQ = Quaternion.FromYawPitchRoll(\r\n Angle.FromDegrees(10),\r\n Angle.FromDegrees(20),\r\n Angle.FromDegrees(30)\r\n );\r\n\r\n callout.labelRotation = newQ;\r\n\r\n expect(Quaternion.Close(callout.labelRotation, newQ)).toEqual(true);\r\n expect(\r\n Quaternion.Close(callout.labelTransform.localRotation, newQ)\r\n ).toEqual(true);\r\n expect(observer).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Sets the dto id\", () => {\r\n const { callout } = makeTestRig();\r\n expect(callout.data.id).toEqual(\"calloutID\");\r\n });\r\n\r\n it(\"Sets the dto parent\", () => {\r\n const { callout } = makeTestRig();\r\n expect(callout.data.parentID).toEqual(\"repo\");\r\n });\r\n\r\n it(\"Sets the dto root position\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.rootPosition = new Vector3(1, 2, 3);\r\n\r\n expect(callout.data.rootPosition).toEqual(callout.rootPosition.dto);\r\n });\r\n\r\n it(\"Sets the dto root rotation\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.rootRotation = Quaternion.FromYawPitchRoll(\r\n Angle.FromDegrees(10),\r\n Angle.FromDegrees(20),\r\n Angle.FromDegrees(30)\r\n );\r\n\r\n expect(callout.data.rootRotation).toEqual(callout.rootRotation.dto);\r\n });\r\n\r\n it(\"Sets the dto label position\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.labelPosition = new Vector3(1, 2, 3);\r\n\r\n expect(callout.data.labelPosition).toEqual(callout.labelPosition.dto);\r\n });\r\n\r\n it(\"Sets the dto label\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.label.custom = \"custom label\";\r\n\r\n expect(callout.data.label).toEqual(\"custom label\");\r\n });\r\n\r\n it(\"Sets the dto default label\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.label.default = \"default label\";\r\n\r\n expect(callout.data.defaultLabel).toEqual(\"default label\");\r\n });\r\n\r\n it(\"Sets the dto color\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.overlayColor.overlayColor = OverlayColorEnums.RED;\r\n\r\n expect(callout.data.color).toEqual(\"Red\");\r\n });\r\n\r\n it(\"Applies the dto root position\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.data = {\r\n id: \"calloutID\",\r\n parentID: \"repo\",\r\n rootPosition: new Vector3(1, 2, 3).dto,\r\n rootRotation: Quaternion.FromYawPitchRoll(\r\n Angle.FromDegrees(10),\r\n Angle.FromDegrees(20),\r\n Angle.FromDegrees(30)\r\n ).dto,\r\n labelPosition: new Vector3(4, 5, 6).dto,\r\n defaultLabel: \"default label\",\r\n label: \"custom label\",\r\n size: 5,\r\n color: \"Red\",\r\n };\r\n\r\n expect(callout.rootPosition).toEqual(new Vector3(1, 2, 3));\r\n });\r\n\r\n it(\"Applies the dto root rotation\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.data = {\r\n id: \"calloutID\",\r\n parentID: \"repo\",\r\n rootPosition: new Vector3(1, 2, 3).dto,\r\n rootRotation: Quaternion.FromYawPitchRoll(\r\n Angle.FromDegrees(10),\r\n Angle.FromDegrees(20),\r\n Angle.FromDegrees(30)\r\n ).dto,\r\n labelPosition: new Vector3(4, 5, 6).dto,\r\n defaultLabel: \"default label\",\r\n label: \"custom label\",\r\n size: 5,\r\n color: \"Red\",\r\n };\r\n\r\n expect(\r\n Quaternion.Close(\r\n callout.rootRotation,\r\n Quaternion.FromYawPitchRoll(\r\n Angle.FromDegrees(10),\r\n Angle.FromDegrees(20),\r\n Angle.FromDegrees(30)\r\n )\r\n )\r\n ).toEqual(true);\r\n });\r\n\r\n it(\"Applies the dto label position\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.data = {\r\n id: \"calloutID\",\r\n parentID: \"repo\",\r\n rootPosition: new Vector3(1, 2, 3).dto,\r\n rootRotation: Quaternion.FromYawPitchRoll(\r\n Angle.FromDegrees(10),\r\n Angle.FromDegrees(20),\r\n Angle.FromDegrees(30)\r\n ).dto,\r\n labelPosition: new Vector3(4, 5, 6).dto,\r\n defaultLabel: \"default label\",\r\n label: \"custom label\",\r\n size: 5,\r\n color: \"Red\",\r\n };\r\n\r\n expect(callout.labelPosition).toEqual(new Vector3(4, 5, 6));\r\n });\r\n\r\n it(\"Applies the dto label\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.data = {\r\n id: \"calloutID\",\r\n parentID: \"repo\",\r\n rootPosition: new Vector3(1, 2, 3).dto,\r\n rootRotation: Quaternion.FromYawPitchRoll(\r\n Angle.FromDegrees(10),\r\n Angle.FromDegrees(20),\r\n Angle.FromDegrees(30)\r\n ).dto,\r\n labelPosition: new Vector3(4, 5, 6).dto,\r\n defaultLabel: \"default label\",\r\n label: \"custom label\",\r\n size: 5,\r\n color: \"Red\",\r\n };\r\n\r\n expect(callout.label.custom).toEqual(\"custom label\");\r\n });\r\n\r\n it(\"Applies the dto default label\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.data = {\r\n id: \"calloutID\",\r\n parentID: \"repo\",\r\n rootPosition: new Vector3(1, 2, 3).dto,\r\n rootRotation: Quaternion.FromYawPitchRoll(\r\n Angle.FromDegrees(10),\r\n Angle.FromDegrees(20),\r\n Angle.FromDegrees(30)\r\n ).dto,\r\n labelPosition: new Vector3(4, 5, 6).dto,\r\n defaultLabel: \"default label\",\r\n label: \"custom label\",\r\n size: 5,\r\n color: \"Red\",\r\n };\r\n\r\n expect(callout.label.default).toEqual(\"default label\");\r\n });\r\n\r\n it(\"Applies the dto color\", () => {\r\n const { callout } = makeTestRig();\r\n\r\n callout.data = {\r\n id: \"calloutID\",\r\n parentID: \"repo\",\r\n rootPosition: new Vector3(1, 2, 3).dto,\r\n rootRotation: Quaternion.FromYawPitchRoll(\r\n Angle.FromDegrees(10),\r\n Angle.FromDegrees(20),\r\n Angle.FromDegrees(30)\r\n ).dto,\r\n labelPosition: new Vector3(4, 5, 6).dto,\r\n defaultLabel: \"default label\",\r\n label: \"custom label\",\r\n size: 5,\r\n color: \"Red\",\r\n };\r\n\r\n expect(callout.overlayColor.overlayColor).toEqual(OverlayColorEnums.RED);\r\n });\r\n});\r\n"]}
@@ -35,10 +35,11 @@ describe("Create Callout Undo Redo", () => {
35
35
  });
36
36
  it("Undo dispatches a state change", () => {
37
37
  const { appObjects, mockDispatchStateChange, data } = makeTestRig();
38
- mockDispatchStateChange.doDispatch.mockClear();
38
+ const mockDoDispatch = jest.fn();
39
+ mockDispatchStateChange.doDispatch = mockDoDispatch;
39
40
  const action = new CreateCalloutUndoRedo_1.CreateCalloutUndoRedo(data, appObjects);
40
41
  action.undoAction();
41
- expect(mockDispatchStateChange.doDispatch).toHaveBeenCalled();
42
+ expect(mockDoDispatch).toHaveBeenCalled();
42
43
  });
43
44
  it("Redoes create callout", () => {
44
45
  const { appObjects, data, repo } = makeTestRig();
@@ -60,11 +61,13 @@ describe("Create Callout Undo Redo", () => {
60
61
  });
61
62
  it("Redo dispatches a state change", () => {
62
63
  const { appObjects, mockDispatchStateChange, data } = makeTestRig();
64
+ const mockDoDispatch = jest.fn();
65
+ mockDispatchStateChange.doDispatch = mockDoDispatch;
63
66
  const action = new CreateCalloutUndoRedo_1.CreateCalloutUndoRedo(data, appObjects);
64
67
  action.undoAction();
65
- mockDispatchStateChange.doDispatch.mockClear();
68
+ mockDoDispatch.mockClear();
66
69
  action.redoAction();
67
- expect(mockDispatchStateChange.doDispatch).toHaveBeenCalled();
70
+ expect(mockDoDispatch).toHaveBeenCalled();
68
71
  });
69
72
  });
70
73
  //# sourceMappingURL=CreateCalloutUndoRedo.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CreateCalloutUndoRedo.test.js","sourceRoot":"","sources":["../../../../src/Callouts/UC/CreateCalloutUndoRedo.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { Angle, makeAppObjectRepo, Quaternion, Vector3 } from \"@vived/core\";\r\nimport { makeMockDispatchStateChange } from \"../../Dispatcher/Mocks/MockDispatchStateChange\";\r\nimport { OverlayColorEnums } from \"../../OverlayColor/Entities/OverlayColor\";\r\nimport { makeMockUndoRedo } from \"../../UndoRedo/Mocks/MockUndoRedo\";\r\nimport { makeCalloutRepoEntity } from \"../Entities/CalloutRepo\";\r\nimport { CreateCalloutUndoRedo } from \"./CreateCalloutUndoRedo\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n const mockDispatchStateChange = makeMockDispatchStateChange(appObjects);\r\n\r\n const repoAO = appObjects.getOrCreate(\"repoID\");\r\n const repo = makeCalloutRepoEntity(repoAO);\r\n\r\n const newCallout = repo.makeCallout(\"calloutID\");\r\n newCallout.rootPosition = new Vector3(1, 2, 3);\r\n newCallout.rootRotation = Quaternion.FromAngleAxis(\r\n new Vector3(1, 2, 3),\r\n Angle.FromDegrees(12)\r\n );\r\n newCallout.size = 1.23;\r\n newCallout.overlayColor.overlayColor = OverlayColorEnums.PINK;\r\n\r\n const data = newCallout.data;\r\n\r\n makeMockUndoRedo(appObjects);\r\n\r\n return {\r\n mockDispatchStateChange,\r\n data,\r\n appObjects,\r\n repo,\r\n };\r\n}\r\n\r\ndescribe(\"Create Callout Undo Redo\", () => {\r\n it(\"Undo deletes the callout\", () => {\r\n const { appObjects, repo, data } = makeTestRig();\r\n expect(repo.hasForAppObject(\"calloutID\")).toEqual(true);\r\n\r\n const action = new CreateCalloutUndoRedo(data, appObjects);\r\n action.undoAction();\r\n\r\n expect(repo.hasForAppObject(\"calloutID\")).toEqual(false);\r\n });\r\n\r\n it(\"Undo dispatches a state change\", () => {\r\n const { appObjects, mockDispatchStateChange, data } = makeTestRig();\r\n\r\n mockDispatchStateChange.doDispatch.mockClear();\r\n\r\n const action = new CreateCalloutUndoRedo(data, appObjects);\r\n action.undoAction();\r\n\r\n expect(mockDispatchStateChange.doDispatch).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Redoes create callout\", () => {\r\n const { appObjects, data, repo } = makeTestRig();\r\n\r\n const action = new CreateCalloutUndoRedo(data, appObjects);\r\n action.undoAction();\r\n expect(repo.hasForAppObject(\"calloutID\")).toEqual(false);\r\n action.redoAction();\r\n\r\n expect(repo.hasForAppObject(\"calloutID\")).toEqual(true);\r\n });\r\n\r\n it(\"Redoes applies the data\", () => {\r\n const { appObjects, data, repo } = makeTestRig();\r\n\r\n const action = new CreateCalloutUndoRedo(data, appObjects);\r\n action.undoAction();\r\n action.redoAction();\r\n\r\n const callout = repo.getForAppObject(\"calloutID\");\r\n expect(callout?.data.color).toEqual(data.color);\r\n expect(callout?.data.size).toEqual(data.size);\r\n expect(callout?.data.rootPosition).toEqual(data.rootPosition);\r\n });\r\n\r\n it(\"Redo dispatches a state change\", () => {\r\n const { appObjects, mockDispatchStateChange, data } = makeTestRig();\r\n\r\n const action = new CreateCalloutUndoRedo(data, appObjects);\r\n action.undoAction();\r\n mockDispatchStateChange.doDispatch.mockClear();\r\n action.redoAction();\r\n\r\n expect(mockDispatchStateChange.doDispatch).toHaveBeenCalled();\r\n });\r\n});\r\n"]}
1
+ {"version":3,"file":"CreateCalloutUndoRedo.test.js","sourceRoot":"","sources":["../../../../src/Callouts/UC/CreateCalloutUndoRedo.test.ts"],"names":[],"mappings":";;AAAA,sCAA4E;AAC5E,4FAA6F;AAC7F,2EAA6E;AAC7E,oEAAqE;AACrE,yDAAgE;AAChE,mEAAgE;AAEhE,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,IAAA,wBAAiB,GAAE,CAAC;IACvC,MAAM,uBAAuB,GAAG,IAAA,qDAA2B,EAAC,UAAU,CAAC,CAAC;IAExE,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,IAAA,mCAAqB,EAAC,MAAM,CAAC,CAAC;IAE3C,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IACjD,UAAU,CAAC,YAAY,GAAG,IAAI,cAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/C,UAAU,CAAC,YAAY,GAAG,iBAAU,CAAC,aAAa,CAChD,IAAI,cAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACpB,YAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CACtB,CAAC;IACF,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC;IACvB,UAAU,CAAC,YAAY,CAAC,YAAY,GAAG,gCAAiB,CAAC,IAAI,CAAC;IAE9D,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;IAE7B,IAAA,+BAAgB,EAAC,UAAU,CAAC,CAAC;IAE7B,OAAO;QACL,uBAAuB;QACvB,IAAI;QACJ,UAAU;QACV,IAAI;KACL,CAAC;AACJ,CAAC;AAED,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,WAAW,EAAE,CAAC;QACjD,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAExD,MAAM,MAAM,GAAG,IAAI,6CAAqB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC3D,MAAM,CAAC,UAAU,EAAE,CAAC;QAEpB,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,EAAE,UAAU,EAAE,uBAAuB,EAAE,IAAI,EAAE,GAAG,WAAW,EAAE,CAAC;QACpE,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACjC,uBAAuB,CAAC,UAAU,GAAG,cAAc,CAAC;QAEpD,MAAM,MAAM,GAAG,IAAI,6CAAqB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC3D,MAAM,CAAC,UAAU,EAAE,CAAC;QAEpB,MAAM,CAAC,cAAc,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;QAC/B,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,WAAW,EAAE,CAAC;QAEjD,MAAM,MAAM,GAAG,IAAI,6CAAqB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC3D,MAAM,CAAC,UAAU,EAAE,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACzD,MAAM,CAAC,UAAU,EAAE,CAAC;QAEpB,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,WAAW,EAAE,CAAC;QAEjD,MAAM,MAAM,GAAG,IAAI,6CAAqB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC3D,MAAM,CAAC,UAAU,EAAE,CAAC;QACpB,MAAM,CAAC,UAAU,EAAE,CAAC;QAEpB,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QAClD,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,EAAE,UAAU,EAAE,uBAAuB,EAAE,IAAI,EAAE,GAAG,WAAW,EAAE,CAAC;QACpE,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACjC,uBAAuB,CAAC,UAAU,GAAG,cAAc,CAAC;QAEpD,MAAM,MAAM,GAAG,IAAI,6CAAqB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC3D,MAAM,CAAC,UAAU,EAAE,CAAC;QACpB,cAAc,CAAC,SAAS,EAAE,CAAC;QAC3B,MAAM,CAAC,UAAU,EAAE,CAAC;QAEpB,MAAM,CAAC,cAAc,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { Angle, makeAppObjectRepo, Quaternion, Vector3 } from \"@vived/core\";\r\nimport { makeMockDispatchStateChange } from \"../../Dispatcher/Mocks/MockDispatchStateChange\";\r\nimport { OverlayColorEnums } from \"../../OverlayColor/Entities/OverlayColor\";\r\nimport { makeMockUndoRedo } from \"../../UndoRedo/Mocks/MockUndoRedo\";\r\nimport { makeCalloutRepoEntity } from \"../Entities/CalloutRepo\";\r\nimport { CreateCalloutUndoRedo } from \"./CreateCalloutUndoRedo\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n const mockDispatchStateChange = makeMockDispatchStateChange(appObjects);\r\n\r\n const repoAO = appObjects.getOrCreate(\"repoID\");\r\n const repo = makeCalloutRepoEntity(repoAO);\r\n\r\n const newCallout = repo.makeCallout(\"calloutID\");\r\n newCallout.rootPosition = new Vector3(1, 2, 3);\r\n newCallout.rootRotation = Quaternion.FromAngleAxis(\r\n new Vector3(1, 2, 3),\r\n Angle.FromDegrees(12)\r\n );\r\n newCallout.size = 1.23;\r\n newCallout.overlayColor.overlayColor = OverlayColorEnums.PINK;\r\n\r\n const data = newCallout.data;\r\n\r\n makeMockUndoRedo(appObjects);\r\n\r\n return {\r\n mockDispatchStateChange,\r\n data,\r\n appObjects,\r\n repo,\r\n };\r\n}\r\n\r\ndescribe(\"Create Callout Undo Redo\", () => {\r\n it(\"Undo deletes the callout\", () => {\r\n const { appObjects, repo, data } = makeTestRig();\r\n expect(repo.hasForAppObject(\"calloutID\")).toEqual(true);\r\n\r\n const action = new CreateCalloutUndoRedo(data, appObjects);\r\n action.undoAction();\r\n\r\n expect(repo.hasForAppObject(\"calloutID\")).toEqual(false);\r\n });\r\n\r\n it(\"Undo dispatches a state change\", () => {\r\n const { appObjects, mockDispatchStateChange, data } = makeTestRig();\r\n const mockDoDispatch = jest.fn();\r\n mockDispatchStateChange.doDispatch = mockDoDispatch;\r\n\r\n const action = new CreateCalloutUndoRedo(data, appObjects);\r\n action.undoAction();\r\n\r\n expect(mockDoDispatch).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Redoes create callout\", () => {\r\n const { appObjects, data, repo } = makeTestRig();\r\n\r\n const action = new CreateCalloutUndoRedo(data, appObjects);\r\n action.undoAction();\r\n expect(repo.hasForAppObject(\"calloutID\")).toEqual(false);\r\n action.redoAction();\r\n\r\n expect(repo.hasForAppObject(\"calloutID\")).toEqual(true);\r\n });\r\n\r\n it(\"Redoes applies the data\", () => {\r\n const { appObjects, data, repo } = makeTestRig();\r\n\r\n const action = new CreateCalloutUndoRedo(data, appObjects);\r\n action.undoAction();\r\n action.redoAction();\r\n\r\n const callout = repo.getForAppObject(\"calloutID\");\r\n expect(callout?.data.color).toEqual(data.color);\r\n expect(callout?.data.size).toEqual(data.size);\r\n expect(callout?.data.rootPosition).toEqual(data.rootPosition);\r\n });\r\n\r\n it(\"Redo dispatches a state change\", () => {\r\n const { appObjects, mockDispatchStateChange, data } = makeTestRig();\r\n const mockDoDispatch = jest.fn();\r\n mockDispatchStateChange.doDispatch = mockDoDispatch;\r\n\r\n const action = new CreateCalloutUndoRedo(data, appObjects);\r\n action.undoAction();\r\n mockDoDispatch.mockClear();\r\n action.redoAction();\r\n\r\n expect(mockDoDispatch).toHaveBeenCalled();\r\n });\r\n});\r\n"]}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const core_1 = require("@vived/core");
4
- const MockDispatchStateChange_1 = require("../../Dispatcher/Mocks/MockDispatchStateChange");
4
+ const Dispatcher_1 = require("../../Dispatcher");
5
5
  const CalloutRepo_1 = require("../Entities/CalloutRepo");
6
6
  const DeleteAllCalloutsUC_1 = require("./DeleteAllCalloutsUC");
7
7
  const DeleteAllCalloutsUndoRedo_1 = require("./DeleteAllCalloutsUndoRedo");
@@ -9,7 +9,9 @@ jest.mock("./DeleteAllCalloutsUndoRedo");
9
9
  function makeTestRig() {
10
10
  const appObjects = (0, core_1.makeAppObjectRepo)();
11
11
  const appAO = appObjects.getOrCreate("App");
12
- const mockDispatcher = new MockDispatchStateChange_1.MockDispatchStateChange(appAO);
12
+ const mockDispatcher = (0, Dispatcher_1.makeMockDispatchStateChange)(appObjects);
13
+ const doDispatchMock = jest.fn();
14
+ mockDispatcher.doDispatch = doDispatchMock;
13
15
  const deleteAllCalloutsUC = (0, DeleteAllCalloutsUC_1.makeDeleteAllCalloutsUC)(appAO);
14
16
  const repo1 = (0, CalloutRepo_1.makeCalloutRepoEntity)(appObjects.getOrCreate("parent1"));
15
17
  const repo2 = (0, CalloutRepo_1.makeCalloutRepoEntity)(appObjects.getOrCreate("parent2"));
@@ -19,6 +21,7 @@ function makeTestRig() {
19
21
  appAO,
20
22
  deleteAllCalloutsUC,
21
23
  mockDispatcher,
24
+ doDispatchMock,
22
25
  repo1,
23
26
  repo2,
24
27
  };
@@ -31,9 +34,9 @@ describe("Delete All Callouts UC", () => {
31
34
  expect(repo2.getAll().length).toEqual(0);
32
35
  });
33
36
  it("Dispatches state change", () => {
34
- const { deleteAllCalloutsUC, mockDispatcher } = makeTestRig();
37
+ const { deleteAllCalloutsUC, doDispatchMock } = makeTestRig();
35
38
  deleteAllCalloutsUC.deleteAllCallouts();
36
- expect(mockDispatcher.doDispatch).toHaveBeenCalled();
39
+ expect(doDispatchMock).toHaveBeenCalled();
37
40
  });
38
41
  it("Creates an undo", () => {
39
42
  const { deleteAllCalloutsUC } = makeTestRig();
@@ -1 +1 @@
1
- {"version":3,"file":"DeleteAllCalloutsUC.test.js","sourceRoot":"","sources":["../../../../src/Callouts/UC/DeleteAllCalloutsUC.test.ts"],"names":[],"mappings":";;AAAA,sCAAgD;AAChD,4FAAyF;AACzF,yDAAgE;AAChE,+DAAgE;AAChE,2EAAwE;AAExE,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;AAEzC,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,IAAA,wBAAiB,GAAE,CAAC;IACvC,MAAM,KAAK,GAAG,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,cAAc,GAAG,IAAI,iDAAuB,CAAC,KAAK,CAAC,CAAC;IAE1D,MAAM,mBAAmB,GAAG,IAAA,6CAAuB,EAAC,KAAK,CAAC,CAAC;IAE3D,MAAM,KAAK,GAAG,IAAA,mCAAqB,EAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;IACvE,MAAM,KAAK,GAAG,IAAA,mCAAqB,EAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;IAEvE,KAAK,CAAC,WAAW,EAAE,CAAC;IACpB,KAAK,CAAC,WAAW,EAAE,CAAC;IAEpB,OAAO;QACL,KAAK;QACL,mBAAmB;QACnB,cAAc;QACd,KAAK;QACL,KAAK;KACN,CAAC;AACJ,CAAC;AAED,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,MAAM,EAAE,mBAAmB,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,WAAW,EAAE,CAAC;QAE5D,mBAAmB,CAAC,iBAAiB,EAAE,CAAC;QAExC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,MAAM,EAAE,mBAAmB,EAAE,cAAc,EAAE,GAAG,WAAW,EAAE,CAAC;QAE9D,mBAAmB,CAAC,iBAAiB,EAAE,CAAC;QAExC,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iBAAiB,EAAE,GAAG,EAAE;QACzB,MAAM,EAAE,mBAAmB,EAAE,GAAG,WAAW,EAAE,CAAC;QAE9C,mBAAmB,CAAC,iBAAiB,EAAE,CAAC;QAExC,MAAM,CAAC,qDAAyB,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACvD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport { MockDispatchStateChange } from \"../../Dispatcher/Mocks/MockDispatchStateChange\";\r\nimport { makeCalloutRepoEntity } from \"../Entities/CalloutRepo\";\r\nimport { makeDeleteAllCalloutsUC } from \"./DeleteAllCalloutsUC\";\r\nimport { DeleteAllCalloutsUndoRedo } from \"./DeleteAllCalloutsUndoRedo\";\r\n\r\njest.mock(\"./DeleteAllCalloutsUndoRedo\");\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n const appAO = appObjects.getOrCreate(\"App\");\r\n const mockDispatcher = new MockDispatchStateChange(appAO);\r\n\r\n const deleteAllCalloutsUC = makeDeleteAllCalloutsUC(appAO);\r\n\r\n const repo1 = makeCalloutRepoEntity(appObjects.getOrCreate(\"parent1\"));\r\n const repo2 = makeCalloutRepoEntity(appObjects.getOrCreate(\"parent2\"));\r\n\r\n repo1.makeCallout();\r\n repo2.makeCallout();\r\n\r\n return {\r\n appAO,\r\n deleteAllCalloutsUC,\r\n mockDispatcher,\r\n repo1,\r\n repo2,\r\n };\r\n}\r\n\r\ndescribe(\"Delete All Callouts UC\", () => {\r\n it(\"Deletes all callouts UC\", () => {\r\n const { deleteAllCalloutsUC, repo1, repo2 } = makeTestRig();\r\n\r\n deleteAllCalloutsUC.deleteAllCallouts();\r\n\r\n expect(repo1.getAll().length).toEqual(0);\r\n expect(repo2.getAll().length).toEqual(0);\r\n });\r\n\r\n it(\"Dispatches state change\", () => {\r\n const { deleteAllCalloutsUC, mockDispatcher } = makeTestRig();\r\n\r\n deleteAllCalloutsUC.deleteAllCallouts();\r\n\r\n expect(mockDispatcher.doDispatch).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Creates an undo\", () => {\r\n const { deleteAllCalloutsUC } = makeTestRig();\r\n\r\n deleteAllCalloutsUC.deleteAllCallouts();\r\n\r\n expect(DeleteAllCalloutsUndoRedo).toHaveBeenCalled();\r\n });\r\n});\r\n"]}
1
+ {"version":3,"file":"DeleteAllCalloutsUC.test.js","sourceRoot":"","sources":["../../../../src/Callouts/UC/DeleteAllCalloutsUC.test.ts"],"names":[],"mappings":";;AAAA,sCAAgD;AAChD,iDAA+D;AAC/D,yDAAgE;AAChE,+DAAgE;AAChE,2EAAwE;AAExE,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;AAEzC,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,IAAA,wBAAiB,GAAE,CAAC;IACvC,MAAM,KAAK,GAAG,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,cAAc,GAAG,IAAA,wCAA2B,EAAC,UAAU,CAAC,CAAC;IAC/D,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACjC,cAAc,CAAC,UAAU,GAAG,cAAc,CAAC;IAE3C,MAAM,mBAAmB,GAAG,IAAA,6CAAuB,EAAC,KAAK,CAAC,CAAC;IAE3D,MAAM,KAAK,GAAG,IAAA,mCAAqB,EAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;IACvE,MAAM,KAAK,GAAG,IAAA,mCAAqB,EAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;IAEvE,KAAK,CAAC,WAAW,EAAE,CAAC;IACpB,KAAK,CAAC,WAAW,EAAE,CAAC;IAEpB,OAAO;QACL,KAAK;QACL,mBAAmB;QACnB,cAAc;QACd,cAAc;QACd,KAAK;QACL,KAAK;KACN,CAAC;AACJ,CAAC;AAED,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,MAAM,EAAE,mBAAmB,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,WAAW,EAAE,CAAC;QAE5D,mBAAmB,CAAC,iBAAiB,EAAE,CAAC;QAExC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,MAAM,EAAE,mBAAmB,EAAE,cAAc,EAAE,GAAG,WAAW,EAAE,CAAC;QAE9D,mBAAmB,CAAC,iBAAiB,EAAE,CAAC;QAExC,MAAM,CAAC,cAAc,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iBAAiB,EAAE,GAAG,EAAE;QACzB,MAAM,EAAE,mBAAmB,EAAE,GAAG,WAAW,EAAE,CAAC;QAE9C,mBAAmB,CAAC,iBAAiB,EAAE,CAAC;QAExC,MAAM,CAAC,qDAAyB,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACvD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport { makeMockDispatchStateChange } from \"../../Dispatcher\";\r\nimport { makeCalloutRepoEntity } from \"../Entities/CalloutRepo\";\r\nimport { makeDeleteAllCalloutsUC } from \"./DeleteAllCalloutsUC\";\r\nimport { DeleteAllCalloutsUndoRedo } from \"./DeleteAllCalloutsUndoRedo\";\r\n\r\njest.mock(\"./DeleteAllCalloutsUndoRedo\");\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n const appAO = appObjects.getOrCreate(\"App\");\r\n const mockDispatcher = makeMockDispatchStateChange(appObjects);\r\n const doDispatchMock = jest.fn();\r\n mockDispatcher.doDispatch = doDispatchMock;\r\n\r\n const deleteAllCalloutsUC = makeDeleteAllCalloutsUC(appAO);\r\n\r\n const repo1 = makeCalloutRepoEntity(appObjects.getOrCreate(\"parent1\"));\r\n const repo2 = makeCalloutRepoEntity(appObjects.getOrCreate(\"parent2\"));\r\n\r\n repo1.makeCallout();\r\n repo2.makeCallout();\r\n\r\n return {\r\n appAO,\r\n deleteAllCalloutsUC,\r\n mockDispatcher,\r\n doDispatchMock,\r\n repo1,\r\n repo2,\r\n };\r\n}\r\n\r\ndescribe(\"Delete All Callouts UC\", () => {\r\n it(\"Deletes all callouts UC\", () => {\r\n const { deleteAllCalloutsUC, repo1, repo2 } = makeTestRig();\r\n\r\n deleteAllCalloutsUC.deleteAllCallouts();\r\n\r\n expect(repo1.getAll().length).toEqual(0);\r\n expect(repo2.getAll().length).toEqual(0);\r\n });\r\n\r\n it(\"Dispatches state change\", () => {\r\n const { deleteAllCalloutsUC, doDispatchMock } = makeTestRig();\r\n\r\n deleteAllCalloutsUC.deleteAllCallouts();\r\n\r\n expect(doDispatchMock).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Creates an undo\", () => {\r\n const { deleteAllCalloutsUC } = makeTestRig();\r\n\r\n deleteAllCalloutsUC.deleteAllCallouts();\r\n\r\n expect(DeleteAllCalloutsUndoRedo).toHaveBeenCalled();\r\n });\r\n});\r\n"]}