@sprucelabs/spruce-test-fixtures 45.2.7 → 46.0.0

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 (269) hide show
  1. package/build/__tests__/behavioral/CanUseStoresSetupInBeforeEach.test.d.ts +7 -0
  2. package/build/__tests__/behavioral/CanUseStoresSetupInBeforeEach.test.js +41 -0
  3. package/build/__tests__/behavioral/DatabaseFixture.test.d.ts +7 -0
  4. package/build/__tests__/behavioral/DatabaseFixture.test.js +59 -0
  5. package/build/__tests__/behavioral/DbResetsAsExpected.test.d.ts +5 -0
  6. package/build/__tests__/behavioral/DbResetsAsExpected.test.js +34 -0
  7. package/build/__tests__/behavioral/DecoratoringEmitToPassThroughProxy.test.d.ts +15 -0
  8. package/build/__tests__/behavioral/DecoratoringEmitToPassThroughProxy.test.js +109 -0
  9. package/build/__tests__/behavioral/DelaysConnectWhenOnlyUsingLoginDecorator.test.d.ts +4 -0
  10. package/build/__tests__/behavioral/DelaysConnectWhenOnlyUsingLoginDecorator.test.js +34 -0
  11. package/build/__tests__/behavioral/DisablingSchemaValidationOnTest.test.d.ts +5 -0
  12. package/build/__tests__/behavioral/DisablingSchemaValidationOnTest.test.js +26 -0
  13. package/build/__tests__/behavioral/DoesntResetAccountIfOnlySeedingLocally.test.d.ts +8 -0
  14. package/build/__tests__/behavioral/DoesntResetAccountIfOnlySeedingLocally.test.js +65 -0
  15. package/build/__tests__/behavioral/DummyStore.d.ts +55 -0
  16. package/build/__tests__/behavioral/DummyStore.js +36 -0
  17. package/build/__tests__/behavioral/FakingEventResponses.test.d.ts +12 -0
  18. package/build/__tests__/behavioral/FakingEventResponses.test.js +125 -0
  19. package/build/__tests__/behavioral/FixtureFactory.test.d.ts +7 -0
  20. package/build/__tests__/behavioral/FixtureFactory.test.js +79 -0
  21. package/build/__tests__/behavioral/LocationFixture.test.d.ts +15 -0
  22. package/build/__tests__/behavioral/LocationFixture.test.js +128 -0
  23. package/build/__tests__/behavioral/LoginDecoratorHandlingProxiesForMe.test.d.ts +12 -0
  24. package/build/__tests__/behavioral/LoginDecoratorHandlingProxiesForMe.test.js +92 -0
  25. package/build/__tests__/behavioral/MakingSureLocalEventsAreHandledLocally.test.d.ts +4 -0
  26. package/build/__tests__/behavioral/MakingSureLocalEventsAreHandledLocally.test.js +29 -0
  27. package/build/__tests__/behavioral/MercuryFixture.test.d.ts +19 -0
  28. package/build/__tests__/behavioral/MercuryFixture.test.js +175 -0
  29. package/build/__tests__/behavioral/OrganizationFixture.test.d.ts +31 -0
  30. package/build/__tests__/behavioral/OrganizationFixture.test.js +331 -0
  31. package/build/__tests__/behavioral/PatchingConsoleErrorToErrorStream.test.d.ts +4 -0
  32. package/build/__tests__/behavioral/PatchingConsoleErrorToErrorStream.test.js +21 -0
  33. package/build/__tests__/behavioral/PersonFixture.test.d.ts +22 -0
  34. package/build/__tests__/behavioral/PersonFixture.test.js +224 -0
  35. package/build/__tests__/behavioral/PhoneNumberIncrementor.test.d.ts +11 -0
  36. package/build/__tests__/behavioral/PhoneNumberIncrementor.test.js +95 -0
  37. package/build/__tests__/behavioral/ResettingAccountLocationsInBeforeAll.test.d.ts +8 -0
  38. package/build/__tests__/behavioral/ResettingAccountLocationsInBeforeAll.test.js +60 -0
  39. package/build/__tests__/behavioral/ResettingAccountOrgsInAfterAll.test.d.ts +5 -0
  40. package/build/__tests__/behavioral/ResettingAccountOrgsInAfterAll.test.js +37 -0
  41. package/build/__tests__/behavioral/ResettingAccountOrgsInBeforeAll.test.d.ts +7 -0
  42. package/build/__tests__/behavioral/ResettingAccountOrgsInBeforeAll.test.js +44 -0
  43. package/build/__tests__/behavioral/ResettingFixtureFieldsBeforeEach.test.d.ts +10 -0
  44. package/build/__tests__/behavioral/ResettingFixtureFieldsBeforeEach.test.js +130 -0
  45. package/build/__tests__/behavioral/ResettingLocalEventListeningBeforeSeeding.test.d.ts +7 -0
  46. package/build/__tests__/behavioral/ResettingLocalEventListeningBeforeSeeding.test.js +42 -0
  47. package/build/__tests__/behavioral/RetainsContractWhenLoggingInUsingDecotorator.test.d.ts +6 -0
  48. package/build/__tests__/behavioral/RetainsContractWhenLoggingInUsingDecotorator.test.js +37 -0
  49. package/build/__tests__/behavioral/RoleFixture.test.d.ts +15 -0
  50. package/build/__tests__/behavioral/RoleFixture.test.js +118 -0
  51. package/build/__tests__/behavioral/SeedingData.test.d.ts +24 -0
  52. package/build/__tests__/behavioral/SeedingData.test.js +271 -0
  53. package/build/__tests__/behavioral/SkillFixture.test.d.ts +13 -0
  54. package/build/__tests__/behavioral/SkillFixture.test.js +116 -0
  55. package/build/__tests__/behavioral/StoreFixture.test.d.ts +23 -0
  56. package/build/__tests__/behavioral/StoreFixture.test.js +156 -0
  57. package/build/__tests__/behavioral/faking/AuthenticatingAsAPerson.test.d.ts +9 -0
  58. package/build/__tests__/behavioral/faking/AuthenticatingAsAPerson.test.js +71 -0
  59. package/build/__tests__/behavioral/faking/FakeDecorator.test.d.ts +45 -0
  60. package/build/__tests__/behavioral/faking/FakeDecorator.test.js +418 -0
  61. package/build/__tests__/behavioral/faking/FakeDecoratorSetsPerson.test.d.ts +4 -0
  62. package/build/__tests__/behavioral/faking/FakeDecoratorSetsPerson.test.js +23 -0
  63. package/build/__tests__/behavioral/faking/FakeDecoratorWhoAmI.test.d.ts +4 -0
  64. package/build/__tests__/behavioral/faking/FakeDecoratorWhoAmI.test.js +27 -0
  65. package/build/__tests__/behavioral/faking/FakeThemeManager.test.d.ts +8 -0
  66. package/build/__tests__/behavioral/faking/FakeThemeManager.test.js +93 -0
  67. package/build/__tests__/behavioral/faking/FakingAddingPeopleToALocation.test.d.ts +8 -0
  68. package/build/__tests__/behavioral/faking/FakingAddingPeopleToALocation.test.js +56 -0
  69. package/build/__tests__/behavioral/faking/FakingAddingPeopleToAnOrg.test.d.ts +14 -0
  70. package/build/__tests__/behavioral/faking/FakingAddingPeopleToAnOrg.test.js +141 -0
  71. package/build/__tests__/behavioral/faking/FakingInBeforeEach.test.d.ts +6 -0
  72. package/build/__tests__/behavioral/faking/FakingInBeforeEach.test.js +42 -0
  73. package/build/__tests__/behavioral/faking/FakingRoleEvents.test.d.ts +19 -0
  74. package/build/__tests__/behavioral/faking/FakingRoleEvents.test.js +140 -0
  75. package/build/__tests__/behavioral/faking/FakingSkillEvents.test.d.ts +24 -0
  76. package/build/__tests__/behavioral/faking/FakingSkillEvents.test.js +174 -0
  77. package/build/__tests__/behavioral/faking/UpdatePerson.test.d.ts +4 -0
  78. package/build/__tests__/behavioral/faking/UpdatePerson.test.js +32 -0
  79. package/build/__tests__/behavioral/faking/UsingFakeDecorators.test.d.ts +35 -0
  80. package/build/__tests__/behavioral/faking/UsingFakeDecorators.test.js +321 -0
  81. package/build/__tests__/behavioral/faking/UsingFakesOnIncompatibleClass.test.d.ts +4 -0
  82. package/build/__tests__/behavioral/faking/UsingFakesOnIncompatibleClass.test.js +48 -0
  83. package/build/__tests__/behavioral/faking/WhoAmI.test.d.ts +19 -0
  84. package/build/__tests__/behavioral/faking/WhoAmI.test.js +103 -0
  85. package/build/__tests__/behavioral/maps/SpyingMapUtil.test.d.ts +10 -0
  86. package/build/__tests__/behavioral/maps/SpyingMapUtil.test.js +76 -0
  87. package/build/__tests__/behavioral/seeding/UsingDecorators.test.d.ts +37 -0
  88. package/build/__tests__/behavioral/seeding/UsingDecorators.test.js +266 -0
  89. package/build/__tests__/behavioral/seeding/UsingDecoratorsToInstallSkills.test.d.ts +14 -0
  90. package/build/__tests__/behavioral/seeding/UsingDecoratorsToInstallSkills.test.js +113 -0
  91. package/build/__tests__/behavioral/views/CheckingPermissions.test.d.ts +24 -0
  92. package/build/__tests__/behavioral/views/CheckingPermissions.test.js +162 -0
  93. package/build/__tests__/behavioral/views/FakingSkillViewControllers.test.d.ts +12 -0
  94. package/build/__tests__/behavioral/views/FakingSkillViewControllers.test.js +55 -0
  95. package/build/__tests__/behavioral/views/Routing.test.d.ts +31 -0
  96. package/build/__tests__/behavioral/views/Routing.test.js +141 -0
  97. package/build/__tests__/behavioral/views/TestingScope.test.d.ts +9 -0
  98. package/build/__tests__/behavioral/views/TestingScope.test.js +67 -0
  99. package/build/__tests__/behavioral/views/ViewFixture.test.d.ts +102 -0
  100. package/build/__tests__/behavioral/views/ViewFixture.test.js +652 -0
  101. package/build/__tests__/behavioral/views/WorkingWithTimezones.test.d.ts +11 -0
  102. package/build/__tests__/behavioral/views/WorkingWithTimezones.test.js +55 -0
  103. package/build/__tests__/support/AbstractFakeDecoratorTest.d.ts +5 -0
  104. package/build/__tests__/support/AbstractFakeDecoratorTest.js +27 -0
  105. package/build/__tests__/support/EventFaker.d.ts +5 -0
  106. package/build/__tests__/support/EventFaker.js +36 -0
  107. package/build/__tests__/support/FakeThemeManager.d.ts +8 -0
  108. package/build/__tests__/support/FakeThemeManager.js +40 -0
  109. package/build/__tests__/test.types.d.ts +2 -0
  110. package/build/__tests__/test.types.js +2 -0
  111. package/build/__tests__/testDirsAndFiles/one-good-store-skill/build/.spruce/stores/stores.d.ts +5 -0
  112. package/build/__tests__/testDirsAndFiles/one-good-store-skill/build/.spruce/stores/stores.js +9 -0
  113. package/build/__tests__/testDirsAndFiles/one-good-store-skill/build/stores/Good.store.d.ts +51 -0
  114. package/build/__tests__/testDirsAndFiles/one-good-store-skill/build/stores/Good.store.js +33 -0
  115. package/build/__tests__/testDirsAndFiles/one-good-store-skill/src/.spruce/settings.json +6 -0
  116. package/build/__tests__/testDirsAndFiles/skill/build/.spruce/views/views.js +18 -0
  117. package/build/__tests__/testDirsAndFiles/skill/build/skillViewControllers/Book.svc.d.ts +5 -0
  118. package/build/__tests__/testDirsAndFiles/skill/build/skillViewControllers/Book.svc.js +11 -0
  119. package/build/__tests__/testDirsAndFiles/skill/build/skillViewControllers/Spy.svc.d.ts +7 -0
  120. package/build/__tests__/testDirsAndFiles/skill/build/skillViewControllers/Spy.svc.js +19 -0
  121. package/build/__tests__/testDirsAndFiles/skill/build/viewControllers/BookForm.vc.d.ts +8 -0
  122. package/build/__tests__/testDirsAndFiles/skill/build/viewControllers/BookForm.vc.js +31 -0
  123. package/build/__tests__/testDirsAndFiles/skill/package.json +5 -0
  124. package/build/__tests__/testDirsAndFiles/skill/src/.spruce/settings.json +6 -0
  125. package/build/__tests__/testDirsAndFiles/skill/src/.spruce/views/views.d.ts +7 -0
  126. package/build/__tests__/testDirsAndFiles/skill/src/.spruce/views/views.js +16 -0
  127. package/build/__tests__/testDirsAndFiles/skill/src/skillViewControllers/Book.svc.d.ts +5 -0
  128. package/build/__tests__/testDirsAndFiles/skill/src/skillViewControllers/Book.svc.js +11 -0
  129. package/build/__tests__/testDirsAndFiles/skill/src/viewControllers/BookForm.vc.d.ts +8 -0
  130. package/build/__tests__/testDirsAndFiles/skill/src/viewControllers/BookForm.vc.js +31 -0
  131. package/build/esm/__tests__/behavioral/CanUseStoresSetupInBeforeEach.test.d.ts +7 -0
  132. package/build/esm/__tests__/behavioral/CanUseStoresSetupInBeforeEach.test.js +53 -0
  133. package/build/esm/__tests__/behavioral/DatabaseFixture.test.d.ts +7 -0
  134. package/build/esm/__tests__/behavioral/DatabaseFixture.test.js +48 -0
  135. package/build/esm/__tests__/behavioral/DbResetsAsExpected.test.d.ts +5 -0
  136. package/build/esm/__tests__/behavioral/DbResetsAsExpected.test.js +28 -0
  137. package/build/esm/__tests__/behavioral/DecoratoringEmitToPassThroughProxy.test.d.ts +15 -0
  138. package/build/esm/__tests__/behavioral/DecoratoringEmitToPassThroughProxy.test.js +125 -0
  139. package/build/esm/__tests__/behavioral/DelaysConnectWhenOnlyUsingLoginDecorator.test.d.ts +4 -0
  140. package/build/esm/__tests__/behavioral/DelaysConnectWhenOnlyUsingLoginDecorator.test.js +40 -0
  141. package/build/esm/__tests__/behavioral/DisablingSchemaValidationOnTest.test.d.ts +5 -0
  142. package/build/esm/__tests__/behavioral/DisablingSchemaValidationOnTest.test.js +23 -0
  143. package/build/esm/__tests__/behavioral/DoesntResetAccountIfOnlySeedingLocally.test.d.ts +8 -0
  144. package/build/esm/__tests__/behavioral/DoesntResetAccountIfOnlySeedingLocally.test.js +76 -0
  145. package/build/esm/__tests__/behavioral/DummyStore.d.ts +55 -0
  146. package/build/esm/__tests__/behavioral/DummyStore.js +43 -0
  147. package/build/esm/__tests__/behavioral/FakingEventResponses.test.d.ts +12 -0
  148. package/build/esm/__tests__/behavioral/FakingEventResponses.test.js +147 -0
  149. package/build/esm/__tests__/behavioral/FixtureFactory.test.d.ts +7 -0
  150. package/build/esm/__tests__/behavioral/FixtureFactory.test.js +61 -0
  151. package/build/esm/__tests__/behavioral/LocationFixture.test.d.ts +15 -0
  152. package/build/esm/__tests__/behavioral/LocationFixture.test.js +153 -0
  153. package/build/esm/__tests__/behavioral/LoginDecoratorHandlingProxiesForMe.test.d.ts +12 -0
  154. package/build/esm/__tests__/behavioral/LoginDecoratorHandlingProxiesForMe.test.js +110 -0
  155. package/build/esm/__tests__/behavioral/MakingSureLocalEventsAreHandledLocally.test.d.ts +4 -0
  156. package/build/esm/__tests__/behavioral/MakingSureLocalEventsAreHandledLocally.test.js +38 -0
  157. package/build/esm/__tests__/behavioral/MercuryFixture.test.d.ts +19 -0
  158. package/build/esm/__tests__/behavioral/MercuryFixture.test.js +209 -0
  159. package/build/esm/__tests__/behavioral/OrganizationFixture.test.d.ts +31 -0
  160. package/build/esm/__tests__/behavioral/OrganizationFixture.test.js +387 -0
  161. package/build/esm/__tests__/behavioral/PatchingConsoleErrorToErrorStream.test.d.ts +4 -0
  162. package/build/esm/__tests__/behavioral/PatchingConsoleErrorToErrorStream.test.js +18 -0
  163. package/build/esm/__tests__/behavioral/PersonFixture.test.d.ts +22 -0
  164. package/build/esm/__tests__/behavioral/PersonFixture.test.js +231 -0
  165. package/build/esm/__tests__/behavioral/PhoneNumberIncrementor.test.d.ts +11 -0
  166. package/build/esm/__tests__/behavioral/PhoneNumberIncrementor.test.js +112 -0
  167. package/build/esm/__tests__/behavioral/ResettingAccountLocationsInBeforeAll.test.d.ts +8 -0
  168. package/build/esm/__tests__/behavioral/ResettingAccountLocationsInBeforeAll.test.js +80 -0
  169. package/build/esm/__tests__/behavioral/ResettingAccountOrgsInAfterAll.test.d.ts +5 -0
  170. package/build/esm/__tests__/behavioral/ResettingAccountOrgsInAfterAll.test.js +51 -0
  171. package/build/esm/__tests__/behavioral/ResettingAccountOrgsInBeforeAll.test.d.ts +7 -0
  172. package/build/esm/__tests__/behavioral/ResettingAccountOrgsInBeforeAll.test.js +59 -0
  173. package/build/esm/__tests__/behavioral/ResettingFixtureFieldsBeforeEach.test.d.ts +10 -0
  174. package/build/esm/__tests__/behavioral/ResettingFixtureFieldsBeforeEach.test.js +139 -0
  175. package/build/esm/__tests__/behavioral/ResettingLocalEventListeningBeforeSeeding.test.d.ts +7 -0
  176. package/build/esm/__tests__/behavioral/ResettingLocalEventListeningBeforeSeeding.test.js +57 -0
  177. package/build/esm/__tests__/behavioral/RetainsContractWhenLoggingInUsingDecotorator.test.d.ts +6 -0
  178. package/build/esm/__tests__/behavioral/RetainsContractWhenLoggingInUsingDecotorator.test.js +48 -0
  179. package/build/esm/__tests__/behavioral/RoleFixture.test.d.ts +15 -0
  180. package/build/esm/__tests__/behavioral/RoleFixture.test.js +143 -0
  181. package/build/esm/__tests__/behavioral/SeedingData.test.d.ts +24 -0
  182. package/build/esm/__tests__/behavioral/SeedingData.test.js +314 -0
  183. package/build/esm/__tests__/behavioral/SkillFixture.test.d.ts +13 -0
  184. package/build/esm/__tests__/behavioral/SkillFixture.test.js +139 -0
  185. package/build/esm/__tests__/behavioral/StoreFixture.test.d.ts +23 -0
  186. package/build/esm/__tests__/behavioral/StoreFixture.test.js +164 -0
  187. package/build/esm/__tests__/behavioral/faking/AuthenticatingAsAPerson.test.d.ts +9 -0
  188. package/build/esm/__tests__/behavioral/faking/AuthenticatingAsAPerson.test.js +87 -0
  189. package/build/esm/__tests__/behavioral/faking/FakeDecorator.test.d.ts +45 -0
  190. package/build/esm/__tests__/behavioral/faking/FakeDecorator.test.js +479 -0
  191. package/build/esm/__tests__/behavioral/faking/FakeDecoratorSetsPerson.test.d.ts +4 -0
  192. package/build/esm/__tests__/behavioral/faking/FakeDecoratorSetsPerson.test.js +28 -0
  193. package/build/esm/__tests__/behavioral/faking/FakeDecoratorWhoAmI.test.d.ts +4 -0
  194. package/build/esm/__tests__/behavioral/faking/FakeDecoratorWhoAmI.test.js +32 -0
  195. package/build/esm/__tests__/behavioral/faking/FakeThemeManager.test.d.ts +8 -0
  196. package/build/esm/__tests__/behavioral/faking/FakeThemeManager.test.js +82 -0
  197. package/build/esm/__tests__/behavioral/faking/FakingAddingPeopleToALocation.test.d.ts +8 -0
  198. package/build/esm/__tests__/behavioral/faking/FakingAddingPeopleToALocation.test.js +70 -0
  199. package/build/esm/__tests__/behavioral/faking/FakingAddingPeopleToAnOrg.test.d.ts +14 -0
  200. package/build/esm/__tests__/behavioral/faking/FakingAddingPeopleToAnOrg.test.js +165 -0
  201. package/build/esm/__tests__/behavioral/faking/FakingInBeforeEach.test.d.ts +6 -0
  202. package/build/esm/__tests__/behavioral/faking/FakingInBeforeEach.test.js +55 -0
  203. package/build/esm/__tests__/behavioral/faking/FakingRoleEvents.test.d.ts +19 -0
  204. package/build/esm/__tests__/behavioral/faking/FakingRoleEvents.test.js +175 -0
  205. package/build/esm/__tests__/behavioral/faking/FakingSkillEvents.test.d.ts +24 -0
  206. package/build/esm/__tests__/behavioral/faking/FakingSkillEvents.test.js +214 -0
  207. package/build/esm/__tests__/behavioral/faking/UpdatePerson.test.d.ts +4 -0
  208. package/build/esm/__tests__/behavioral/faking/UpdatePerson.test.js +38 -0
  209. package/build/esm/__tests__/behavioral/faking/UsingFakeDecorators.test.d.ts +35 -0
  210. package/build/esm/__tests__/behavioral/faking/UsingFakeDecorators.test.js +360 -0
  211. package/build/esm/__tests__/behavioral/faking/UsingFakesOnIncompatibleClass.test.d.ts +4 -0
  212. package/build/esm/__tests__/behavioral/faking/UsingFakesOnIncompatibleClass.test.js +31 -0
  213. package/build/esm/__tests__/behavioral/faking/WhoAmI.test.d.ts +19 -0
  214. package/build/esm/__tests__/behavioral/faking/WhoAmI.test.js +140 -0
  215. package/build/esm/__tests__/behavioral/maps/SpyingMapUtil.test.d.ts +10 -0
  216. package/build/esm/__tests__/behavioral/maps/SpyingMapUtil.test.js +94 -0
  217. package/build/esm/__tests__/behavioral/seeding/UsingDecorators.test.d.ts +37 -0
  218. package/build/esm/__tests__/behavioral/seeding/UsingDecorators.test.js +322 -0
  219. package/build/esm/__tests__/behavioral/seeding/UsingDecoratorsToInstallSkills.test.d.ts +14 -0
  220. package/build/esm/__tests__/behavioral/seeding/UsingDecoratorsToInstallSkills.test.js +134 -0
  221. package/build/esm/__tests__/behavioral/views/CheckingPermissions.test.d.ts +24 -0
  222. package/build/esm/__tests__/behavioral/views/CheckingPermissions.test.js +200 -0
  223. package/build/esm/__tests__/behavioral/views/FakingSkillViewControllers.test.d.ts +12 -0
  224. package/build/esm/__tests__/behavioral/views/FakingSkillViewControllers.test.js +69 -0
  225. package/build/esm/__tests__/behavioral/views/Routing.test.d.ts +31 -0
  226. package/build/esm/__tests__/behavioral/views/Routing.test.js +169 -0
  227. package/build/esm/__tests__/behavioral/views/TestingScope.test.d.ts +9 -0
  228. package/build/esm/__tests__/behavioral/views/TestingScope.test.js +84 -0
  229. package/build/esm/__tests__/behavioral/views/ViewFixture.test.d.ts +102 -0
  230. package/build/esm/__tests__/behavioral/views/ViewFixture.test.js +731 -0
  231. package/build/esm/__tests__/behavioral/views/WorkingWithTimezones.test.d.ts +11 -0
  232. package/build/esm/__tests__/behavioral/views/WorkingWithTimezones.test.js +63 -0
  233. package/build/esm/__tests__/support/AbstractFakeDecoratorTest.d.ts +5 -0
  234. package/build/esm/__tests__/support/AbstractFakeDecoratorTest.js +34 -0
  235. package/build/esm/__tests__/support/EventFaker.d.ts +5 -0
  236. package/build/esm/__tests__/support/EventFaker.js +45 -0
  237. package/build/esm/__tests__/support/FakeThemeManager.d.ts +8 -0
  238. package/build/esm/__tests__/support/FakeThemeManager.js +37 -0
  239. package/build/esm/__tests__/test.types.d.ts +2 -0
  240. package/build/esm/__tests__/test.types.js +1 -0
  241. package/build/esm/__tests__/testDirsAndFiles/one-good-store-skill/build/stores/Good.store.d.ts +51 -0
  242. package/build/esm/__tests__/testDirsAndFiles/one-good-store-skill/build/stores/Good.store.js +41 -0
  243. package/build/esm/__tests__/testDirsAndFiles/skill/build/skillViewControllers/Book.svc.d.ts +5 -0
  244. package/build/esm/__tests__/testDirsAndFiles/skill/build/skillViewControllers/Book.svc.js +8 -0
  245. package/build/esm/__tests__/testDirsAndFiles/skill/build/skillViewControllers/Spy.svc.d.ts +7 -0
  246. package/build/esm/__tests__/testDirsAndFiles/skill/build/skillViewControllers/Spy.svc.js +27 -0
  247. package/build/esm/__tests__/testDirsAndFiles/skill/build/viewControllers/BookForm.vc.d.ts +8 -0
  248. package/build/esm/__tests__/testDirsAndFiles/skill/build/viewControllers/BookForm.vc.js +25 -0
  249. package/build/esm/__tests__/testDirsAndFiles/skill/src/skillViewControllers/Book.svc.d.ts +5 -0
  250. package/build/esm/__tests__/testDirsAndFiles/skill/src/skillViewControllers/Book.svc.js +8 -0
  251. package/build/esm/__tests__/testDirsAndFiles/skill/src/viewControllers/BookForm.vc.d.ts +8 -0
  252. package/build/esm/__tests__/testDirsAndFiles/skill/src/viewControllers/BookForm.vc.js +25 -0
  253. package/build/esm/index.d.ts +1 -0
  254. package/build/esm/index.js +1 -0
  255. package/build/esm/tests/decorators/fake.js +7 -1
  256. package/build/esm/tests/fixtures/ViewFixture.d.ts +1 -0
  257. package/build/esm/tests/fixtures/ViewFixture.js +4 -1
  258. package/build/esm/tests/routers/TestRouter.d.ts +3 -0
  259. package/build/esm/tests/routers/TestRouter.js +6 -0
  260. package/build/esm/utilities/vcDisk.utility.js +1 -0
  261. package/build/index.d.ts +1 -0
  262. package/build/index.js +3 -1
  263. package/build/tests/decorators/fake.js +7 -1
  264. package/build/tests/fixtures/ViewFixture.d.ts +1 -0
  265. package/build/tests/fixtures/ViewFixture.js +4 -1
  266. package/build/tests/routers/TestRouter.d.ts +3 -0
  267. package/build/tests/routers/TestRouter.js +6 -0
  268. package/build/utilities/vcDisk.utility.js +1 -0
  269. package/package.json +11 -11
@@ -0,0 +1,11 @@
1
+ import AbstractSpruceFixtureTest from '../../../tests/AbstractSpruceFixtureTest';
2
+ export default class WorkingWithTimezonesTest extends AbstractSpruceFixtureTest {
3
+ static controllerMap: {};
4
+ protected static beforeEach(): Promise<void>;
5
+ protected static canGetInstance(): void;
6
+ protected static instanceShared(): void;
7
+ protected static returnsInstanceFromRouter(): void;
8
+ protected static canSetTimezoneOffset(offsetMinutes: number): void;
9
+ private static assertCurrentOffset;
10
+ private static getInstance;
11
+ }
@@ -0,0 +1,63 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
8
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
9
+ return new (P || (P = Promise))(function (resolve, reject) {
10
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
11
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
12
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
13
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
14
+ });
15
+ };
16
+ import { LocaleImpl } from '@sprucelabs/calendar-utils';
17
+ import { test, assert } from '@sprucelabs/test';
18
+ import AbstractSpruceFixtureTest from '../../../tests/AbstractSpruceFixtureTest.js';
19
+ export default class WorkingWithTimezonesTest extends AbstractSpruceFixtureTest {
20
+ static beforeEach() {
21
+ const _super = Object.create(null, {
22
+ beforeEach: { get: () => super.beforeEach }
23
+ });
24
+ return __awaiter(this, void 0, void 0, function* () {
25
+ yield _super.beforeEach.call(this);
26
+ this.views = this.Fixture('view', { controllerMap: this.controllerMap });
27
+ });
28
+ }
29
+ static canGetInstance() {
30
+ const instance = this.getInstance();
31
+ assert.isTrue(instance instanceof LocaleImpl);
32
+ }
33
+ static instanceShared() {
34
+ assert.isEqual(this.getInstance(), this.getInstance());
35
+ }
36
+ static returnsInstanceFromRouter() {
37
+ assert.isEqual(this.views.getRouter().buildLoadOptions().locale, this.getInstance());
38
+ }
39
+ static canSetTimezoneOffset(offsetMinutes) {
40
+ this.getInstance().setTimezoneOffsetMinutes(offsetMinutes);
41
+ this.assertCurrentOffset(offsetMinutes);
42
+ }
43
+ static assertCurrentOffset(offsetMinutes) {
44
+ assert.isEqual(this.getInstance().getTimezoneOffsetMinutes(), offsetMinutes);
45
+ }
46
+ static getInstance() {
47
+ return this.views.getLocale();
48
+ }
49
+ }
50
+ WorkingWithTimezonesTest.controllerMap = {};
51
+ __decorate([
52
+ test()
53
+ ], WorkingWithTimezonesTest, "canGetInstance", null);
54
+ __decorate([
55
+ test()
56
+ ], WorkingWithTimezonesTest, "instanceShared", null);
57
+ __decorate([
58
+ test()
59
+ ], WorkingWithTimezonesTest, "returnsInstanceFromRouter", null);
60
+ __decorate([
61
+ test('can set offset 1', 10),
62
+ test('can set offset 2', 20)
63
+ ], WorkingWithTimezonesTest, "canSetTimezoneOffset", null);
@@ -0,0 +1,5 @@
1
+ import AbstractSpruceFixtureTest from '../../tests/AbstractSpruceFixtureTest';
2
+ export default class AbstractFakeDecoratorTest extends AbstractSpruceFixtureTest {
3
+ protected static fakeLoginAndGetAuth(phone?: string): Promise<import("@sprucelabs/schema").SchemaStaticValues<import("@sprucelabs/mercury-types").SpruceSchemas.Mercury.v2020_12_25.AuthSchemaSchema, false, import("@sprucelabs/schema").SchemaOptionalFieldNames<import("@sprucelabs/mercury-types").SpruceSchemas.Mercury.v2020_12_25.AuthSchemaSchema>, import("@sprucelabs/schema").StaticSchemaAllValues<import("@sprucelabs/mercury-types").SpruceSchemas.Mercury.v2020_12_25.AuthSchemaSchema, false>>>;
4
+ protected static fakeLogin(number?: string): Promise<void>;
5
+ }
@@ -0,0 +1,34 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { assert } from '@sprucelabs/test';
11
+ import AbstractSpruceFixtureTest from '../../tests/AbstractSpruceFixtureTest.js';
12
+ import { DEMO_NUMBER } from '../../tests/constants.js';
13
+ import fake from '../../tests/decorators/fake.js';
14
+ export default class AbstractFakeDecoratorTest extends AbstractSpruceFixtureTest {
15
+ static fakeLoginAndGetAuth(phone = DEMO_NUMBER) {
16
+ return __awaiter(this, void 0, void 0, function* () {
17
+ yield this.fakeLogin(phone);
18
+ const { client, person } = yield this.people.loginAsDemoPerson();
19
+ const [{ auth, type }] = yield client.emitAndFlattenResponses('whoami::v2020_12_25');
20
+ assert.isEqual(type, 'authenticated');
21
+ assert.isEqualDeep(auth.person, this.fakedPerson);
22
+ assert.isEqualDeep(person, this.fakedPerson);
23
+ return auth;
24
+ });
25
+ }
26
+ static fakeLogin(number = DEMO_NUMBER) {
27
+ return __awaiter(this, void 0, void 0, function* () {
28
+ const decorator = fake.login(number);
29
+ decorator(this, false);
30
+ yield this.beforeAll();
31
+ yield this.beforeEach();
32
+ });
33
+ }
34
+ }
@@ -0,0 +1,5 @@
1
+ export default class EventFaker {
2
+ fakeRegisterSkill(): Promise<void>;
3
+ fakeUnregisterSkill(): Promise<void>;
4
+ fakeRegisterProxyToken(): Promise<void>;
5
+ }
@@ -0,0 +1,45 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { generateId } from '@sprucelabs/test-utils';
11
+ import eventFaker from '../../tests/eventFaker.js';
12
+ export default class EventFaker {
13
+ fakeRegisterSkill() {
14
+ return __awaiter(this, void 0, void 0, function* () {
15
+ yield eventFaker.on('register-skill::v2020_12_25', () => {
16
+ return {
17
+ skill: {
18
+ id: generateId(),
19
+ creators: [{ personId: generateId() }],
20
+ slug: generateId(),
21
+ dateCreated: new Date().getTime(),
22
+ name: generateId(),
23
+ apiKey: generateId(),
24
+ },
25
+ };
26
+ });
27
+ });
28
+ }
29
+ fakeUnregisterSkill() {
30
+ return __awaiter(this, void 0, void 0, function* () {
31
+ yield eventFaker.on('unregister-skill::v2020_12_25', () => {
32
+ return {};
33
+ });
34
+ });
35
+ }
36
+ fakeRegisterProxyToken() {
37
+ return __awaiter(this, void 0, void 0, function* () {
38
+ yield eventFaker.on('register-proxy-token::v2020_12_25', () => {
39
+ return {
40
+ token: generateId(),
41
+ };
42
+ });
43
+ });
44
+ }
45
+ }
@@ -0,0 +1,8 @@
1
+ import { SpruceSchemas, ThemeManager } from '@sprucelabs/heartwood-view-controllers';
2
+ declare type Theme = SpruceSchemas.HeartwoodViewControllers.v2021_02_11.Theme;
3
+ export default class FakeThemeManager implements ThemeManager {
4
+ private theme;
5
+ setTheme(theme: Theme): void;
6
+ getTheme(): SpruceSchemas.HeartwoodViewControllers.v2021_02_11.Theme;
7
+ }
8
+ export {};
@@ -0,0 +1,37 @@
1
+ export default class FakeThemeManager {
2
+ constructor() {
3
+ this.theme = {
4
+ name: 'Heartwood',
5
+ props: {
6
+ color1: '#ffffff',
7
+ color1Inverse: '#0f4c8a',
8
+ color1InverseGradient: 'linear-gradient(to left, #24c6dc, #514a9d)',
9
+ color2: '#757575',
10
+ color2Transparent: 'rgba(0,0,0,0.2)',
11
+ color2Inverse: 'white',
12
+ color2InverseTransparent: 'rgba(255,255,255,0.9)',
13
+ color3: '#303030',
14
+ color3Inverse: 'transparent',
15
+ color3Compliment: '#a7a7a7',
16
+ color4: '#626262',
17
+ color4Compliment: 'white',
18
+ color4ComplimentTransparent: 'rgba(0,0,0,0.1)',
19
+ color4Inverse: 'white',
20
+ color4InverseCompliment: '#c7c7c7',
21
+ controlBarColor1: 'black',
22
+ controlBarColor2: 'white',
23
+ toolBeltColor2: '#f1f1f1',
24
+ errorColor1: '#fff',
25
+ errorColor1Inverse: '#FF3326',
26
+ warningColor1: '#A16B14',
27
+ warningColor1Inverse: '#F7D352',
28
+ },
29
+ };
30
+ }
31
+ setTheme(theme) {
32
+ this.theme = Object.assign({}, theme);
33
+ }
34
+ getTheme() {
35
+ return this.theme;
36
+ }
37
+ }
@@ -0,0 +1,2 @@
1
+ import { SpruceSchemas } from '@sprucelabs/mercury-types';
2
+ export declare type Organization = SpruceSchemas.Spruce.v2020_07_22.Organization;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,51 @@
1
+ import { AbstractStore, UniversalStoreOptions } from '@sprucelabs/data-stores';
2
+ import { StoreSeedOptions } from '../../../../..';
3
+ declare const fullSchema: {
4
+ id: string;
5
+ fields: {
6
+ firstName: {
7
+ type: "text";
8
+ };
9
+ };
10
+ };
11
+ declare type FullSchema = typeof fullSchema;
12
+ export default class GoodStore extends AbstractStore<FullSchema> {
13
+ name: string;
14
+ protected collectionName: string;
15
+ protected createSchema: {
16
+ id: string;
17
+ fields: {
18
+ firstName: {
19
+ type: "text";
20
+ };
21
+ };
22
+ };
23
+ protected updateSchema: {
24
+ id: string;
25
+ fields: {
26
+ firstName: {
27
+ type: "text";
28
+ };
29
+ };
30
+ };
31
+ protected fullSchema: {
32
+ id: string;
33
+ fields: {
34
+ firstName: {
35
+ type: "text";
36
+ };
37
+ };
38
+ };
39
+ protected databaseSchema: {
40
+ id: string;
41
+ fields: {
42
+ firstName: {
43
+ type: "text";
44
+ };
45
+ };
46
+ };
47
+ static seedParams: any[];
48
+ static Store(options: UniversalStoreOptions): GoodStore;
49
+ seed(options: StoreSeedOptions, ...rest: any[]): Promise<void>;
50
+ }
51
+ export {};
@@ -0,0 +1,41 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { AbstractStore } from '@sprucelabs/data-stores';
11
+ import { buildSchema } from '@sprucelabs/schema';
12
+ const fullSchema = buildSchema({
13
+ id: 'goodFull',
14
+ fields: {
15
+ firstName: {
16
+ type: 'text'
17
+ }
18
+ },
19
+ });
20
+ export default class GoodStore extends AbstractStore {
21
+ constructor() {
22
+ super(...arguments);
23
+ this.name = 'good';
24
+ this.collectionName = 'good_stuff';
25
+ this.createSchema = fullSchema;
26
+ this.updateSchema = fullSchema;
27
+ this.fullSchema = fullSchema;
28
+ this.databaseSchema = fullSchema;
29
+ }
30
+ static Store(options) {
31
+ return new this(options.db);
32
+ }
33
+ seed(options, ...rest) {
34
+ return __awaiter(this, void 0, void 0, function* () {
35
+ GoodStore.seedParams = rest;
36
+ yield Promise.all(new Array(options.totalToSeed).fill(0).map(() => this.createOne({
37
+ firstName: 'hola!'
38
+ })));
39
+ });
40
+ }
41
+ }
@@ -0,0 +1,5 @@
1
+ import { AbstractSkillViewController } from "@sprucelabs/heartwood-view-controllers";
2
+ export default class BookSkillViewController extends AbstractSkillViewController {
3
+ static id: string;
4
+ render(): any;
5
+ }
@@ -0,0 +1,8 @@
1
+ import { AbstractSkillViewController } from '@sprucelabs/heartwood-view-controllers';
2
+ export default class BookSkillViewController extends AbstractSkillViewController {
3
+ //@ts-ignore
4
+ render() {
5
+ return 'go-team';
6
+ }
7
+ }
8
+ BookSkillViewController.id = 'book';
@@ -0,0 +1,7 @@
1
+ import { AbstractSkillViewController, SkillViewControllerLoadOptions, SpruceSchemas } from "@sprucelabs/heartwood-view-controllers";
2
+ export default class SpySkillViewController extends AbstractSkillViewController {
3
+ static id: string;
4
+ loads: SkillViewControllerLoadOptions[];
5
+ load(options: SkillViewControllerLoadOptions): Promise<void>;
6
+ render(): SpruceSchemas.HeartwoodViewControllers.v2021_02_11.SkillView;
7
+ }
@@ -0,0 +1,27 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { AbstractSkillViewController } from '@sprucelabs/heartwood-view-controllers';
11
+ export default class SpySkillViewController extends AbstractSkillViewController {
12
+ constructor() {
13
+ super(...arguments);
14
+ this.loads = [];
15
+ }
16
+ load(options) {
17
+ return __awaiter(this, void 0, void 0, function* () {
18
+ this.loads.push(options);
19
+ });
20
+ }
21
+ render() {
22
+ return {
23
+ layouts: [],
24
+ };
25
+ }
26
+ }
27
+ SpySkillViewController.id = 'spy';
@@ -0,0 +1,8 @@
1
+ import { AbstractViewController } from '@sprucelabs/heartwood-view-controllers';
2
+ export default class BookFormViewController extends AbstractViewController<any> {
3
+ static id: string;
4
+ render(): {
5
+ msg: string;
6
+ globalHack2Value: any;
7
+ };
8
+ }
@@ -0,0 +1,25 @@
1
+ import { AbstractViewController } from '@sprucelabs/heartwood-view-controllers';
2
+ import dotenv from 'dotenv';
3
+ export default class BookFormViewController extends AbstractViewController {
4
+ //@ts-ignore
5
+ render() {
6
+ //@ts-ignore
7
+ console.log = dotenv;
8
+ //@ts-ignore
9
+ global.document = {
10
+ //@ts-ignore
11
+ __hack: true,
12
+ };
13
+ //@ts-ignore
14
+ global.window = {
15
+ //@ts-ignore
16
+ __hack: true,
17
+ };
18
+ return {
19
+ msg: 'what the?',
20
+ //@ts-ignore
21
+ globalHack2Value: global.__hack2,
22
+ };
23
+ }
24
+ }
25
+ BookFormViewController.id = 'book-form';
@@ -0,0 +1,5 @@
1
+ import { AbstractSkillViewController } from '@sprucelabs/heartwood-view-controllers';
2
+ export default class BookSkillViewController extends AbstractSkillViewController {
3
+ static id: string;
4
+ render(): string;
5
+ }
@@ -0,0 +1,8 @@
1
+ import { AbstractSkillViewController } from '@sprucelabs/heartwood-view-controllers';
2
+ export default class BookSkillViewController extends AbstractSkillViewController {
3
+ //@ts-ignore
4
+ render() {
5
+ return 'go-team';
6
+ }
7
+ }
8
+ BookSkillViewController.id = 'book';
@@ -0,0 +1,8 @@
1
+ import { AbstractViewController } from '@sprucelabs/heartwood-view-controllers';
2
+ export default class BookFormViewController extends AbstractViewController<any> {
3
+ static id: string;
4
+ render(): {
5
+ msg: string;
6
+ globalHack2Value: any;
7
+ };
8
+ }
@@ -0,0 +1,25 @@
1
+ import { AbstractViewController } from '@sprucelabs/heartwood-view-controllers';
2
+ import dotenv from 'dotenv';
3
+ export default class BookFormViewController extends AbstractViewController {
4
+ //@ts-ignore
5
+ render() {
6
+ //@ts-ignore
7
+ console.log = dotenv;
8
+ //@ts-ignore
9
+ global.document = {
10
+ //@ts-ignore
11
+ __hack: true,
12
+ };
13
+ //@ts-ignore
14
+ global.window = {
15
+ //@ts-ignore
16
+ __hack: true,
17
+ };
18
+ return {
19
+ msg: 'what the?',
20
+ //@ts-ignore
21
+ globalHack2Value: global.__hack2,
22
+ };
23
+ }
24
+ }
25
+ BookFormViewController.id = 'book-form';
@@ -21,6 +21,7 @@ export { default as fake } from './tests/decorators/fake';
21
21
  export { default as eventFaker } from './tests/eventFaker';
22
22
  export { default as eventMocker } from './tests/eventMocker';
23
23
  export { default as ClientProxyDecorator } from './ClientProxyDecorator';
24
+ export { default as FakeThemeManager } from './__tests__/support/FakeThemeManager';
24
25
  /**
25
26
  * @deprecated phoneNumberIncrementer -> phoneNumberIncrementor
26
27
  */
@@ -21,6 +21,7 @@ export { default as fake } from './tests/decorators/fake.js';
21
21
  export { default as eventFaker } from './tests/eventFaker.js';
22
22
  export { default as eventMocker } from './tests/eventMocker.js';
23
23
  export { default as ClientProxyDecorator } from './ClientProxyDecorator.js';
24
+ export { default as FakeThemeManager } from './__tests__/support/FakeThemeManager.js';
24
25
  /**
25
26
  * @deprecated phoneNumberIncrementer -> phoneNumberIncrementor
26
27
  */
@@ -279,7 +279,13 @@ function getPersonById(Class, personId, shouldThrowWhenNotFound = true) {
279
279
  function fakeUpdatePerson(Class) {
280
280
  return __awaiter(this, void 0, void 0, function* () {
281
281
  yield eventFaker.on('update-person::v2020_12_25', ({ target, source, payload }) => {
282
- const person = Class.fakedPeople.find((p) => p.id === (source === null || source === void 0 ? void 0 : source.personId) || p.id === (target === null || target === void 0 ? void 0 : target.personId));
282
+ const person = Class.fakedPeople.find((p) => (target === null || target === void 0 ? void 0 : target.personId) ? p.id === (target === null || target === void 0 ? void 0 : target.personId) : p.id === (source === null || source === void 0 ? void 0 : source.personId));
283
+ if (!person) {
284
+ throw new SpruceError({
285
+ code: 'INVALID_TARGET',
286
+ friendlyMessage: `I could not update the faked person you were looking for!`,
287
+ });
288
+ }
283
289
  person.firstName = payload === null || payload === void 0 ? void 0 : payload.firstName;
284
290
  person.lastName = payload === null || payload === void 0 ? void 0 : payload.lastName;
285
291
  person.casualName = buildCasualName(person);
@@ -51,6 +51,7 @@ export default class ViewFixture {
51
51
  private static resetMaps;
52
52
  static resetAuth(): void;
53
53
  load<Svc extends SkillViewController = SkillViewController>(vc: Pick<Svc, 'load' | 'getScope'>, args?: ArgsFromSvc<Svc>): Promise<void>;
54
+ getThemes(): import("../..").FakeThemeManager;
54
55
  private assertScopeRequirementsMet;
55
56
  setScope(scope: Scope): void;
56
57
  getScope(): Scope;
@@ -77,7 +77,7 @@ export default class ViewFixture {
77
77
  code: 'INVALID_PARAMETERS',
78
78
  parameters: ['vcDir'],
79
79
  originalError: err,
80
- friendlyMessage: `No views found! If you are testing, running \`spruce create.view\` will get you started. If you already have views, running \`spruce sync.views\` should help! Heads up, I'm looking for a file called views.[ts|js] in ${vcDir.replace('/', '')}/.spruce/views/views.\n\nOriginal error:\n\n${err.stack}`,
80
+ friendlyMessage: `No views found! If you are testing, running \`spruce create.view\` will get you started. If you already have views make sure there are no syntax errors!\n\nOriginal error:\n\n${err.stack}`,
81
81
  });
82
82
  }
83
83
  else {
@@ -173,6 +173,9 @@ export default class ViewFixture {
173
173
  yield vc.load(this.getRouter().buildLoadOptions(args !== null && args !== void 0 ? args : {}));
174
174
  });
175
175
  }
176
+ getThemes() {
177
+ return this.getRouter().getThemes();
178
+ }
176
179
  assertScopeRequirementsMet(vc) {
177
180
  var _a, _b, _c, _d, _e, _f;
178
181
  return __awaiter(this, void 0, void 0, function* () {
@@ -2,6 +2,7 @@ import { Locale } from '@sprucelabs/calendar-utils';
2
2
  import { Router, Scope, SkillViewController, SkillViewControllerArgs, SkillViewControllerId, SkillViewControllerLoadOptions, SkillViewControllerMap, ViewControllerFactory } from '@sprucelabs/heartwood-view-controllers';
3
3
  import { AbstractEventEmitter } from '@sprucelabs/mercury-event-emitter';
4
4
  import { MercuryEventEmitter } from '@sprucelabs/mercury-types';
5
+ import FakeThemeManager from '../../__tests__/support/FakeThemeManager';
5
6
  declare const contract: {
6
7
  eventSignatures: {
7
8
  'did-redirect': {
@@ -21,10 +22,12 @@ export default class TestRouter extends AbstractEventEmitter<Contract> implement
21
22
  private static shouldThrowWhenRedirectingToBadSvc;
22
23
  private scope;
23
24
  private locale;
25
+ private readonly themes;
24
26
  static setShouldThrowWhenRedirectingToBadSvc(shouldThrow: boolean): void;
25
27
  private constructor();
26
28
  static setShouldLoadDestinationVc(shouldLoad: boolean): void;
27
29
  static getInstance(): TestRouter;
30
+ getThemes(): FakeThemeManager;
28
31
  static setup(options: {
29
32
  vcFactory: ViewControllerFactory;
30
33
  scope: Scope;
@@ -11,6 +11,7 @@ import { AuthenticatorImpl, routerTestPatcher, } from '@sprucelabs/heartwood-vie
11
11
  import { AbstractEventEmitter } from '@sprucelabs/mercury-event-emitter';
12
12
  import { buildEventContract, } from '@sprucelabs/mercury-types';
13
13
  import testRouterEmitPayloadSchema from './../../.spruce/schemas/spruceTestFixtures/v2021_07_19/testRouterEmitPayload.schema.js';
14
+ import FakeThemeManager from '../../__tests__/support/FakeThemeManager.js';
14
15
  import SpyAuthorizer from '../SpyAuthorizer.js';
15
16
  const contract = buildEventContract({
16
17
  eventSignatures: {
@@ -22,6 +23,7 @@ const contract = buildEventContract({
22
23
  export default class TestRouter extends AbstractEventEmitter {
23
24
  constructor(options) {
24
25
  super(contract);
26
+ this.themes = new FakeThemeManager();
25
27
  this.vcFactory = options.vcFactory;
26
28
  this.scope = options.scope;
27
29
  this.locale = options.locale;
@@ -46,6 +48,9 @@ export default class TestRouter extends AbstractEventEmitter {
46
48
  }
47
49
  return this.instance;
48
50
  }
51
+ getThemes() {
52
+ return this.themes;
53
+ }
49
54
  static setup(options) {
50
55
  this.vcFactory = options.vcFactory;
51
56
  this.scope = options.scope;
@@ -90,6 +95,7 @@ export default class TestRouter extends AbstractEventEmitter {
90
95
  locale: this.locale,
91
96
  authorizer: SpyAuthorizer.getInstance(),
92
97
  scope: this.scope,
98
+ themes: this.themes,
93
99
  };
94
100
  }
95
101
  }
@@ -66,6 +66,7 @@ const vcDiskUtil = {
66
66
  if (file && diskUtil.doesFileExist(file)) {
67
67
  const props = require(file).default;
68
68
  theme = {
69
+ name: 'Theme',
69
70
  props,
70
71
  };
71
72
  }
package/build/index.d.ts CHANGED
@@ -21,6 +21,7 @@ export { default as fake } from './tests/decorators/fake';
21
21
  export { default as eventFaker } from './tests/eventFaker';
22
22
  export { default as eventMocker } from './tests/eventMocker';
23
23
  export { default as ClientProxyDecorator } from './ClientProxyDecorator';
24
+ export { default as FakeThemeManager } from './__tests__/support/FakeThemeManager';
24
25
  /**
25
26
  * @deprecated phoneNumberIncrementer -> phoneNumberIncrementor
26
27
  */
package/build/index.js CHANGED
@@ -17,7 +17,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
17
17
  return (mod && mod.__esModule) ? mod : { "default": mod };
18
18
  };
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.phoneNumberIncrementor = exports.phoneNumberIncrementer = exports.ClientProxyDecorator = exports.eventMocker = exports.eventFaker = exports.fake = exports.install = exports.login = exports.seed = exports.TestRouter = exports.vcDiskUtil = exports.FakeSkillViewController = exports.MercuryFixture = exports.ViewControllerFixture = exports.RoleFixture = exports.ViewFixture = exports.LocationFixture = exports.SkillFixture = exports.PersonFixture = exports.StoreFixture = exports.OrganizationFixture = exports.AbstractSpruceFixtureTest = void 0;
20
+ exports.phoneNumberIncrementor = exports.phoneNumberIncrementer = exports.FakeThemeManager = exports.ClientProxyDecorator = exports.eventMocker = exports.eventFaker = exports.fake = exports.install = exports.login = exports.seed = exports.TestRouter = exports.vcDiskUtil = exports.FakeSkillViewController = exports.MercuryFixture = exports.ViewControllerFixture = exports.RoleFixture = exports.ViewFixture = exports.LocationFixture = exports.SkillFixture = exports.PersonFixture = exports.StoreFixture = exports.OrganizationFixture = exports.AbstractSpruceFixtureTest = void 0;
21
21
  var AbstractSpruceFixtureTest_1 = require("./tests/AbstractSpruceFixtureTest");
22
22
  Object.defineProperty(exports, "AbstractSpruceFixtureTest", { enumerable: true, get: function () { return __importDefault(AbstractSpruceFixtureTest_1).default; } });
23
23
  __exportStar(require("./types/fixture.types"), exports);
@@ -61,6 +61,8 @@ var eventMocker_1 = require("./tests/eventMocker");
61
61
  Object.defineProperty(exports, "eventMocker", { enumerable: true, get: function () { return __importDefault(eventMocker_1).default; } });
62
62
  var ClientProxyDecorator_1 = require("./ClientProxyDecorator");
63
63
  Object.defineProperty(exports, "ClientProxyDecorator", { enumerable: true, get: function () { return __importDefault(ClientProxyDecorator_1).default; } });
64
+ var FakeThemeManager_1 = require("./__tests__/support/FakeThemeManager");
65
+ Object.defineProperty(exports, "FakeThemeManager", { enumerable: true, get: function () { return __importDefault(FakeThemeManager_1).default; } });
64
66
  /**
65
67
  * @deprecated phoneNumberIncrementer -> phoneNumberIncrementor
66
68
  */
@@ -264,7 +264,13 @@ function getPersonById(Class, personId, shouldThrowWhenNotFound = true) {
264
264
  }
265
265
  async function fakeUpdatePerson(Class) {
266
266
  await eventFaker_1.default.on('update-person::v2020_12_25', ({ target, source, payload }) => {
267
- const person = Class.fakedPeople.find((p) => p.id === (source === null || source === void 0 ? void 0 : source.personId) || p.id === (target === null || target === void 0 ? void 0 : target.personId));
267
+ const person = Class.fakedPeople.find((p) => (target === null || target === void 0 ? void 0 : target.personId) ? p.id === (target === null || target === void 0 ? void 0 : target.personId) : p.id === (source === null || source === void 0 ? void 0 : source.personId));
268
+ if (!person) {
269
+ throw new SpruceError_1.default({
270
+ code: 'INVALID_TARGET',
271
+ friendlyMessage: `I could not update the faked person you were looking for!`,
272
+ });
273
+ }
268
274
  person.firstName = payload === null || payload === void 0 ? void 0 : payload.firstName;
269
275
  person.lastName = payload === null || payload === void 0 ? void 0 : payload.lastName;
270
276
  person.casualName = buildCasualName(person);