@sprucelabs/spruce-cli 18.1.8 → 18.3.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 (362) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/build/.spruce/events/events.contract.d.ts +159 -0
  3. package/build/.spruce/events/events.contract.js +5 -1
  4. package/build/.spruce/events/events.contract.js.map +1 -1
  5. package/build/.spruce/events/heartwood/getActiveTheme.v2021_02_11.contract.d.ts +46 -0
  6. package/build/.spruce/events/heartwood/getActiveTheme.v2021_02_11.contract.js +57 -0
  7. package/build/.spruce/events/heartwood/getActiveTheme.v2021_02_11.contract.js.map +1 -0
  8. package/build/.spruce/events/heartwood/registerDashboardCards.v2021_02_11.contract.d.ts +68 -0
  9. package/build/.spruce/events/heartwood/registerDashboardCards.v2021_02_11.contract.js +78 -0
  10. package/build/.spruce/events/heartwood/registerDashboardCards.v2021_02_11.contract.js.map +1 -0
  11. package/build/.spruce/events/heartwood/upsertTheme.v2021_02_11.contract.d.ts +40 -0
  12. package/build/.spruce/events/heartwood/upsertTheme.v2021_02_11.contract.js +51 -0
  13. package/build/.spruce/events/heartwood/upsertTheme.v2021_02_11.contract.js.map +1 -0
  14. package/build/.spruce/events/spruceCli/registerSkillViews.v2021_04_11.contract.d.ts +9 -0
  15. package/build/.spruce/events/spruceCli/registerSkillViews.v2021_04_11.contract.js +17 -0
  16. package/build/.spruce/events/spruceCli/registerSkillViews.v2021_04_11.contract.js.map +1 -0
  17. package/build/.spruce/schemas/schemas.types.d.ts +158 -55
  18. package/build/.spruce/schemas/schemas.types.js.map +1 -1
  19. package/build/.spruce/schemas/spruceCli/v2020_07_22/actionResponse.schema.d.ts +3 -0
  20. package/build/.spruce/schemas/spruceCli/v2020_07_22/actionResponse.schema.js +70 -0
  21. package/build/.spruce/schemas/spruceCli/v2020_07_22/actionResponse.schema.js.map +1 -0
  22. package/build/.spruce/schemas/spruceCli/v2020_07_22/npmPackage.schema.d.ts +3 -0
  23. package/build/.spruce/schemas/spruceCli/v2020_07_22/npmPackage.schema.js +35 -0
  24. package/build/.spruce/schemas/spruceCli/v2020_07_22/npmPackage.schema.js.map +1 -0
  25. package/build/.spruce/settings.json +2 -1
  26. package/build/GlobalEmitter.d.ts +13 -38
  27. package/build/GlobalEmitter.js +3 -6
  28. package/build/GlobalEmitter.js.map +1 -1
  29. package/build/__tests__/behavioral/TestingAConversation.test.d.ts +2 -1
  30. package/build/__tests__/behavioral/TestingAConversation.test.js +74 -84
  31. package/build/__tests__/behavioral/TestingAConversation.test.js.map +1 -1
  32. package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js +38 -13
  33. package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js.map +1 -1
  34. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.d.ts +1 -0
  35. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js +16 -9
  36. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js.map +1 -1
  37. package/build/__tests__/behavioral/permissions/CreatingPermissions.test.d.ts +2 -2
  38. package/build/__tests__/behavioral/permissions/CreatingPermissions.test.js +7 -7
  39. package/build/__tests__/behavioral/permissions/CreatingPermissions.test.js.map +1 -1
  40. package/build/__tests__/behavioral/permissions/PermissionPlugin.test.d.ts +6 -0
  41. package/build/__tests__/behavioral/permissions/PermissionPlugin.test.js +85 -0
  42. package/build/__tests__/behavioral/permissions/PermissionPlugin.test.js.map +1 -0
  43. package/build/__tests__/behavioral/permissions/PermissionStore.test.d.ts +12 -2
  44. package/build/__tests__/behavioral/permissions/PermissionStore.test.js +248 -36
  45. package/build/__tests__/behavioral/permissions/PermissionStore.test.js.map +1 -1
  46. package/build/__tests__/behavioral/permissions/PermissionWriter.test.d.ts +5 -0
  47. package/build/__tests__/behavioral/permissions/PermissionWriter.test.js +88 -0
  48. package/build/__tests__/behavioral/permissions/PermissionWriter.test.js.map +1 -0
  49. package/build/__tests__/behavioral/permissions/SyncingPermissions.test.d.ts +15 -4
  50. package/build/__tests__/behavioral/permissions/SyncingPermissions.test.js +325 -28
  51. package/build/__tests__/behavioral/permissions/SyncingPermissions.test.js.map +1 -1
  52. package/build/__tests__/behavioral/permissions/support/AbstractPermissionsTest.d.ts +11 -0
  53. package/build/__tests__/behavioral/permissions/{AbstractPermissionsTest.js → support/AbstractPermissionsTest.js} +34 -2
  54. package/build/__tests__/behavioral/permissions/support/AbstractPermissionsTest.js.map +1 -0
  55. package/build/__tests__/behavioral/permissions/support/generateShortAlphaId.d.ts +1 -0
  56. package/build/__tests__/behavioral/permissions/support/generateShortAlphaId.js +11 -0
  57. package/build/__tests__/behavioral/permissions/support/generateShortAlphaId.js.map +1 -0
  58. package/build/__tests__/behavioral/permissions/support/renderPermissionTestFile.d.ts +1 -0
  59. package/build/__tests__/behavioral/permissions/support/renderPermissionTestFile.js +17 -0
  60. package/build/__tests__/behavioral/permissions/support/renderPermissionTestFile.js.map +1 -0
  61. package/build/__tests__/behavioral/permissions/support/sortPermissionContracts.d.ts +5 -0
  62. package/build/__tests__/behavioral/permissions/support/sortPermissionContracts.js +10 -0
  63. package/build/__tests__/behavioral/permissions/support/sortPermissionContracts.js.map +1 -0
  64. package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.d.ts +1 -1
  65. package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js +46 -46
  66. package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js.map +1 -1
  67. package/build/__tests__/behavioral/tests/CreatingATest.test.js +2 -2
  68. package/build/__tests__/behavioral/tests/CreatingATest.test.js.map +1 -1
  69. package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js +7 -3
  70. package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js.map +1 -1
  71. package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js +2 -2
  72. package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js.map +1 -1
  73. package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js +1 -1
  74. package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js.map +1 -1
  75. package/build/__tests__/implementation/ActionExecuter2.test.d.ts +1 -1
  76. package/build/__tests__/implementation/ActionExecuter2.test.js +23 -11
  77. package/build/__tests__/implementation/ActionExecuter2.test.js.map +1 -1
  78. package/build/__tests__/implementation/GlobalEmitter.test.d.ts +1 -0
  79. package/build/__tests__/implementation/GlobalEmitter.test.js +40 -3
  80. package/build/__tests__/implementation/GlobalEmitter.test.js.map +1 -1
  81. package/build/__tests__/implementation/SkillStore.test.js +3 -4
  82. package/build/__tests__/implementation/SkillStore.test.js.map +1 -1
  83. package/build/__tests__/support/EventFaker.d.ts +5 -0
  84. package/build/__tests__/support/EventFaker.js +48 -0
  85. package/build/__tests__/support/EventFaker.js.map +1 -0
  86. package/build/features/AbstractAction.d.ts +1 -1
  87. package/build/features/AbstractAction.js.map +1 -1
  88. package/build/features/AbstractFeature.d.ts +3 -3
  89. package/build/features/AbstractFeature.js +8 -8
  90. package/build/features/AbstractFeature.js.map +1 -1
  91. package/build/features/ActionExecuter.d.ts +1 -1
  92. package/build/features/ActionExecuter.js +3 -4
  93. package/build/features/ActionExecuter.js.map +1 -1
  94. package/build/features/ActionFactory.d.ts +12 -5
  95. package/build/features/ActionFactory.js +27 -6
  96. package/build/features/ActionFactory.js.map +1 -1
  97. package/build/features/ActionQuestionAsker.d.ts +1 -1
  98. package/build/features/ActionQuestionAsker.js +6 -6
  99. package/build/features/ActionQuestionAsker.js.map +1 -1
  100. package/build/features/conversation/ConversationFeature.js +1 -1
  101. package/build/features/conversation/ConversationFeature.js.map +1 -1
  102. package/build/features/dependencies/DependencyFeature.js +1 -1
  103. package/build/features/dependencies/DependencyFeature.js.map +1 -1
  104. package/build/features/deploy/actions/HerokuAction.js +31 -33
  105. package/build/features/deploy/actions/HerokuAction.js.map +1 -1
  106. package/build/features/error/ErrorFeature.js +4 -4
  107. package/build/features/error/ErrorFeature.js.map +1 -1
  108. package/build/features/event/EventFeature.d.ts +8 -8
  109. package/build/features/event/EventFeature.js +7 -4
  110. package/build/features/event/EventFeature.js.map +1 -1
  111. package/build/features/event/actions/CreateAction.js.map +1 -1
  112. package/build/features/event/actions/ListenAction.js.map +1 -1
  113. package/build/features/event/stores/EventStore.d.ts +9 -9
  114. package/build/features/event/stores/EventStore.js +26 -26
  115. package/build/features/event/stores/EventStore.js.map +1 -1
  116. package/build/features/eventContract/EventContractFeature.js +4 -1
  117. package/build/features/eventContract/EventContractFeature.js.map +1 -1
  118. package/build/features/eventContract/actions/PullAction.js +10 -5
  119. package/build/features/eventContract/actions/PullAction.js.map +1 -1
  120. package/build/features/features.types.d.ts +2 -37
  121. package/build/features/features.types.js +0 -41
  122. package/build/features/features.types.js.map +1 -1
  123. package/build/features/log/LogFeature.js +1 -1
  124. package/build/features/log/LogFeature.js.map +1 -1
  125. package/build/features/node/NodeFeature.js.map +1 -1
  126. package/build/features/organization/actions/InstallAction.js.map +1 -1
  127. package/build/features/permission/PermissionFeature.d.ts +12 -2
  128. package/build/features/permission/PermissionFeature.js +140 -15
  129. package/build/features/permission/PermissionFeature.js.map +1 -1
  130. package/build/features/permission/actions/CreateAction.js +4 -1
  131. package/build/features/permission/actions/CreateAction.js.map +1 -1
  132. package/build/features/permission/actions/SyncAction.d.ts +5 -1
  133. package/build/features/permission/actions/SyncAction.js +28 -10
  134. package/build/features/permission/actions/SyncAction.js.map +1 -1
  135. package/build/features/permission/stores/PermissionStore.d.ts +7 -1
  136. package/build/features/permission/stores/PermissionStore.js +92 -23
  137. package/build/features/permission/stores/PermissionStore.js.map +1 -1
  138. package/build/features/permission/writers/PermissionWriter.d.ts +7 -1
  139. package/build/features/permission/writers/PermissionWriter.js +66 -17
  140. package/build/features/permission/writers/PermissionWriter.js.map +1 -1
  141. package/build/features/person/PersonFeature.js +1 -1
  142. package/build/features/person/PersonFeature.js.map +1 -1
  143. package/build/features/sandbox/SandboxFeature.js +1 -1
  144. package/build/features/sandbox/SandboxFeature.js.map +1 -1
  145. package/build/features/schema/SchemaFeature.d.ts +8 -8
  146. package/build/features/schema/SchemaFeature.js +4 -4
  147. package/build/features/schema/SchemaFeature.js.map +1 -1
  148. package/build/features/schema/writers/SchemaWriter.d.ts +12 -12
  149. package/build/features/schema/writers/SchemaWriter.js.map +1 -1
  150. package/build/features/skill/SkillFeature.d.ts +11 -11
  151. package/build/features/skill/SkillFeature.js +2 -2
  152. package/build/features/skill/SkillFeature.js.map +1 -1
  153. package/build/features/skill/actions/RebuildAction.js.map +1 -1
  154. package/build/features/skill/actions/RegisterAction.js.map +1 -1
  155. package/build/features/skill/stores/SkillStore.js +1 -2
  156. package/build/features/skill/stores/SkillStore.js.map +1 -1
  157. package/build/features/store/StoreFeature.js +1 -1
  158. package/build/features/store/StoreFeature.js.map +1 -1
  159. package/build/features/store/actions/SyncAction.d.ts +1 -1
  160. package/build/features/store/actions/SyncAction.js.map +1 -1
  161. package/build/features/test/TestFeature.js +1 -1
  162. package/build/features/test/TestFeature.js.map +1 -1
  163. package/build/features/view/ViewFeature.js +1 -1
  164. package/build/features/view/ViewFeature.js.map +1 -1
  165. package/build/schemas/v2020_07_22/actionResponse.builder.d.ts +85 -0
  166. package/build/schemas/v2020_07_22/actionResponse.builder.js +70 -0
  167. package/build/schemas/v2020_07_22/actionResponse.builder.js.map +1 -0
  168. package/build/schemas/v2020_07_22/generatedFile.builder.d.ts +27 -0
  169. package/build/schemas/v2020_07_22/generatedFile.builder.js +45 -0
  170. package/build/schemas/v2020_07_22/generatedFile.builder.js.map +1 -0
  171. package/build/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.js +4 -40
  172. package/build/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.js.map +1 -1
  173. package/build/services/CommandService.d.ts +2 -2
  174. package/build/services/CommandService.js +6 -6
  175. package/build/services/CommandService.js.map +1 -1
  176. package/build/services/PkgService.d.ts +1 -0
  177. package/build/services/PkgService.js +5 -0
  178. package/build/services/PkgService.js.map +1 -1
  179. package/build/tests/AbstractCliTest.d.ts +7 -3
  180. package/build/tests/AbstractCliTest.js +81 -45
  181. package/build/tests/AbstractCliTest.js.map +1 -1
  182. package/build/tests/buildTestCache.js +7 -0
  183. package/build/tests/buildTestCache.js.map +1 -1
  184. package/build/tests/fixtures/FeatureFixture.js +1 -0
  185. package/build/tests/fixtures/FeatureFixture.js.map +1 -1
  186. package/build/tests/utilities/test.utility.d.ts +2 -0
  187. package/build/tests/utilities/test.utility.js +6 -0
  188. package/build/tests/utilities/test.utility.js.map +1 -1
  189. package/node_modules/@typescript-eslint/parser/package.json +6 -6
  190. package/node_modules/@typescript-eslint/scope-manager/dist/ScopeManager.js +9 -9
  191. package/node_modules/@typescript-eslint/scope-manager/dist/ScopeManager.js.map +1 -1
  192. package/node_modules/@typescript-eslint/scope-manager/dist/definition/Definition.d.ts +1 -1
  193. package/node_modules/@typescript-eslint/scope-manager/dist/definition/Definition.d.ts.map +1 -1
  194. package/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.d.ts.map +1 -1
  195. package/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.iterable.d.ts.map +1 -1
  196. package/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.iterable.js +1 -0
  197. package/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.iterable.js.map +1 -1
  198. package/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.js +21 -7
  199. package/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.js.map +1 -1
  200. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.d.ts.map +1 -1
  201. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.intl.d.ts +3 -0
  202. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.intl.d.ts.map +1 -0
  203. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.intl.js +12 -0
  204. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.intl.js.map +1 -0
  205. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.js +2 -1
  206. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.js.map +1 -1
  207. package/node_modules/@typescript-eslint/scope-manager/dist/lib/index.d.ts +1 -0
  208. package/node_modules/@typescript-eslint/scope-manager/dist/lib/index.d.ts.map +1 -1
  209. package/node_modules/@typescript-eslint/scope-manager/dist/lib/index.js +2 -0
  210. package/node_modules/@typescript-eslint/scope-manager/dist/lib/index.js.map +1 -1
  211. package/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.d.ts.map +1 -1
  212. package/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.iterable.d.ts.map +1 -1
  213. package/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.iterable.js +2 -0
  214. package/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.iterable.js.map +1 -1
  215. package/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.js +39 -1
  216. package/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.js.map +1 -1
  217. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.d.ts +4 -2
  218. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.d.ts.map +1 -1
  219. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.js +13 -5
  220. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.js.map +1 -1
  221. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ExportVisitor.d.ts +1 -1
  222. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ExportVisitor.d.ts.map +1 -1
  223. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/PatternVisitor.d.ts +2 -2
  224. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/PatternVisitor.d.ts.map +1 -1
  225. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/PatternVisitor.js +9 -9
  226. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/PatternVisitor.js.map +1 -1
  227. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Reference.js +17 -17
  228. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Reference.js.map +1 -1
  229. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.d.ts +2 -1
  230. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.d.ts.map +1 -1
  231. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.js +3 -0
  232. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.js.map +1 -1
  233. package/node_modules/@typescript-eslint/scope-manager/dist/scope/Scope.d.ts +1 -1
  234. package/node_modules/@typescript-eslint/scope-manager/dist/scope/Scope.d.ts.map +1 -1
  235. package/node_modules/@typescript-eslint/scope-manager/dist/scope/ScopeBase.d.ts +1 -1
  236. package/node_modules/@typescript-eslint/scope-manager/dist/scope/ScopeBase.d.ts.map +1 -1
  237. package/node_modules/@typescript-eslint/scope-manager/package.json +12 -12
  238. package/node_modules/@typescript-eslint/types/_ts3.4/dist/generated/ast-spec.d.ts +27 -3
  239. package/node_modules/@typescript-eslint/types/_ts3.4/dist/lib.d.ts +1 -1
  240. package/node_modules/@typescript-eslint/types/_ts3.4/dist/parser-options.d.ts +3 -3
  241. package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.d.ts +27 -3
  242. package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.d.ts.map +1 -1
  243. package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.js +3 -0
  244. package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.js.map +1 -1
  245. package/node_modules/@typescript-eslint/types/dist/lib.d.ts +1 -1
  246. package/node_modules/@typescript-eslint/types/dist/lib.d.ts.map +1 -1
  247. package/node_modules/@typescript-eslint/types/dist/parser-options.d.ts +3 -3
  248. package/node_modules/@typescript-eslint/types/dist/parser-options.d.ts.map +1 -1
  249. package/node_modules/@typescript-eslint/types/package.json +3 -3
  250. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/create-program/shared.d.ts +1 -1
  251. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/parseSettings/index.d.ts +2 -2
  252. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/parser-options.d.ts +1 -1
  253. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/parser.d.ts +1 -1
  254. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/simple-traverse.d.ts +1 -1
  255. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/ts-estree/estree-to-ts-node-types.d.ts +4 -1
  256. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/ts-estree/ts-nodes.d.ts +4 -2
  257. package/node_modules/@typescript-eslint/typescript-estree/dist/convert.d.ts.map +1 -1
  258. package/node_modules/@typescript-eslint/typescript-estree/dist/convert.js +22 -3
  259. package/node_modules/@typescript-eslint/typescript-estree/dist/convert.js.map +1 -1
  260. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createWatchProgram.d.ts.map +1 -1
  261. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createWatchProgram.js +9 -0
  262. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createWatchProgram.js.map +1 -1
  263. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.d.ts +1 -1
  264. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.d.ts.map +1 -1
  265. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/index.d.ts +2 -2
  266. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/index.d.ts.map +1 -1
  267. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/warnAboutTSVersion.js +1 -1
  268. package/node_modules/@typescript-eslint/typescript-estree/dist/parser-options.d.ts +1 -1
  269. package/node_modules/@typescript-eslint/typescript-estree/dist/parser-options.d.ts.map +1 -1
  270. package/node_modules/@typescript-eslint/typescript-estree/dist/parser.d.ts +1 -1
  271. package/node_modules/@typescript-eslint/typescript-estree/dist/parser.d.ts.map +1 -1
  272. package/node_modules/@typescript-eslint/typescript-estree/dist/simple-traverse.d.ts +1 -1
  273. package/node_modules/@typescript-eslint/typescript-estree/dist/simple-traverse.d.ts.map +1 -1
  274. package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts +4 -1
  275. package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts.map +1 -1
  276. package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/ts-nodes.d.ts +4 -2
  277. package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/ts-nodes.d.ts.map +1 -1
  278. package/node_modules/@typescript-eslint/typescript-estree/package.json +6 -6
  279. package/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.d.ts.map +1 -1
  280. package/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.js +63 -48
  281. package/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.js.map +1 -1
  282. package/node_modules/@typescript-eslint/visitor-keys/package.json +4 -4
  283. package/package.json +65 -33
  284. package/src/.spruce/events/events.contract.ts +24 -0
  285. package/src/.spruce/events/heartwood/getActiveTheme.v2021_02_11.contract.ts +54 -0
  286. package/src/.spruce/events/heartwood/registerDashboardCards.v2021_02_11.contract.ts +79 -0
  287. package/src/.spruce/events/heartwood/upsertTheme.v2021_02_11.contract.ts +48 -0
  288. package/src/.spruce/events/spruceCli/registerSkillViews.v2021_04_11.contract.ts +13 -0
  289. package/src/.spruce/schemas/schemas.types.ts +171 -52
  290. package/src/.spruce/schemas/spruceCli/v2020_07_22/actionResponse.schema.ts +58 -0
  291. package/src/.spruce/schemas/spruceCli/v2020_07_22/npmPackage.schema.ts +33 -0
  292. package/src/.spruce/settings.json +2 -1
  293. package/src/GlobalEmitter.ts +2 -7
  294. package/src/__tests__/behavioral/TestingAConversation.test.ts +20 -37
  295. package/src/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.ts +14 -2
  296. package/src/__tests__/behavioral/events/SkillEmitsBootEvents.test.ts +6 -0
  297. package/src/__tests__/behavioral/permissions/CreatingPermissions.test.ts +2 -2
  298. package/src/__tests__/behavioral/permissions/PermissionPlugin.test.ts +24 -0
  299. package/src/__tests__/behavioral/permissions/PermissionStore.test.ts +204 -23
  300. package/src/__tests__/behavioral/permissions/PermissionWriter.test.ts +23 -0
  301. package/src/__tests__/behavioral/permissions/SyncingPermissions.test.ts +125 -8
  302. package/src/__tests__/behavioral/permissions/support/AbstractPermissionsTest.ts +38 -0
  303. package/src/__tests__/behavioral/permissions/support/generateShortAlphaId.ts +5 -0
  304. package/src/__tests__/behavioral/permissions/support/renderPermissionTestFile.ts +27 -0
  305. package/src/__tests__/behavioral/permissions/support/sortPermissionContracts.ts +3 -0
  306. package/src/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.ts +12 -12
  307. package/src/__tests__/behavioral/tests/CreatingATest.test.ts +2 -2
  308. package/src/__tests__/behavioral/upgrading/UpgradingANodeModule.test.ts +3 -0
  309. package/src/__tests__/behavioral/upgrading/UpgradingASkill3.test.ts +3 -2
  310. package/src/__tests__/behavioral/upgrading/UpgradingASkill4.test.ts +1 -1
  311. package/src/__tests__/implementation/ActionExecuter2.test.ts +13 -6
  312. package/src/__tests__/implementation/GlobalEmitter.test.ts +22 -1
  313. package/src/__tests__/implementation/SkillStore.test.ts +1 -2
  314. package/src/__tests__/support/EventFaker.ts +23 -0
  315. package/src/features/AbstractAction.ts +2 -2
  316. package/src/features/AbstractFeature.ts +8 -8
  317. package/src/features/ActionExecuter.ts +4 -5
  318. package/src/features/ActionFactory.ts +44 -20
  319. package/src/features/ActionQuestionAsker.ts +17 -17
  320. package/src/features/conversation/ConversationFeature.ts +1 -1
  321. package/src/features/dependencies/DependencyFeature.ts +1 -1
  322. package/src/features/deploy/actions/HerokuAction.ts +2 -2
  323. package/src/features/error/ErrorFeature.ts +4 -4
  324. package/src/features/event/EventFeature.ts +15 -14
  325. package/src/features/event/actions/CreateAction.ts +1 -1
  326. package/src/features/event/actions/ListenAction.ts +1 -1
  327. package/src/features/event/stores/EventStore.ts +37 -37
  328. package/src/features/eventContract/EventContractFeature.ts +6 -1
  329. package/src/features/eventContract/actions/PullAction.ts +7 -3
  330. package/src/features/features.types.ts +4 -41
  331. package/src/features/log/LogFeature.ts +1 -1
  332. package/src/features/node/NodeFeature.ts +1 -1
  333. package/src/features/organization/actions/InstallAction.ts +1 -1
  334. package/src/features/permission/PermissionFeature.ts +66 -11
  335. package/src/features/permission/actions/CreateAction.ts +2 -0
  336. package/src/features/permission/actions/SyncAction.ts +22 -3
  337. package/src/features/permission/stores/PermissionStore.ts +44 -3
  338. package/src/features/permission/writers/PermissionWriter.ts +64 -3
  339. package/src/features/person/PersonFeature.ts +1 -1
  340. package/src/features/sandbox/SandboxFeature.ts +1 -3
  341. package/src/features/schema/SchemaFeature.ts +14 -14
  342. package/src/features/schema/writers/SchemaWriter.ts +14 -15
  343. package/src/features/skill/SkillFeature.ts +18 -18
  344. package/src/features/skill/actions/RebuildAction.ts +1 -1
  345. package/src/features/skill/actions/RegisterAction.ts +1 -1
  346. package/src/features/skill/stores/SkillStore.ts +1 -2
  347. package/src/features/store/StoreFeature.ts +1 -1
  348. package/src/features/store/actions/SyncAction.ts +1 -1
  349. package/src/features/test/TestFeature.ts +1 -1
  350. package/src/features/view/ViewFeature.ts +1 -1
  351. package/src/schemas/v2020_07_22/actionResponse.builder.ts +62 -0
  352. package/src/schemas/v2020_07_22/generatedFile.builder.ts +44 -0
  353. package/src/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.ts +3 -46
  354. package/src/services/CommandService.ts +5 -5
  355. package/src/services/PkgService.ts +4 -0
  356. package/src/tests/AbstractCliTest.ts +31 -13
  357. package/src/tests/buildTestCache.ts +7 -0
  358. package/src/tests/fixtures/FeatureFixture.ts +2 -0
  359. package/src/tests/utilities/test.utility.ts +13 -0
  360. package/build/__tests__/behavioral/permissions/AbstractPermissionsTest.d.ts +0 -8
  361. package/build/__tests__/behavioral/permissions/AbstractPermissionsTest.js.map +0 -1
  362. package/src/__tests__/behavioral/permissions/AbstractPermissionsTest.ts +0 -20
@@ -5,47 +5,82 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports["default"] = void 0;
8
+ var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
9
+ var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor"));
8
10
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
11
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
12
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
13
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
12
- var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
13
14
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
14
15
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
15
16
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
16
17
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
- var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor"));
18
+ var _mercuryClient = require("@sprucelabs/mercury-client");
19
+ var _spruceSkillUtils = require("@sprucelabs/spruce-skill-utils");
18
20
  var _testUtils = require("@sprucelabs/test-utils");
19
- var _AbstractSkillTest2 = _interopRequireDefault(require("../../../tests/AbstractSkillTest"));
21
+ var _ActionFactory = _interopRequireDefault(require("../../../features/ActionFactory"));
22
+ var _SyncAction2 = _interopRequireDefault(require("../../../features/permission/actions/SyncAction"));
20
23
  var _test = _interopRequireDefault(require("../../../tests/utilities/test.utility"));
21
- var _dec, _class, _class2;
24
+ var _AbstractPermissionsTest = _interopRequireDefault(require("./support/AbstractPermissionsTest"));
25
+ var _generateShortAlphaId = _interopRequireDefault(require("./support/generateShortAlphaId"));
26
+ var _sortPermissionContracts = require("./support/sortPermissionContracts");
27
+ var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _class, _class2;
22
28
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
23
29
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
24
- var SyncingPermissionsTest = (_dec = (0, _testUtils.test)(), (_class = (_class2 = /*#__PURE__*/function (_AbstractSkillTest) {
25
- (0, _inherits2["default"])(SyncingPermissionsTest, _AbstractSkillTest);
26
- var _super = _createSuper(SyncingPermissionsTest);
30
+ var SyncingPermissionsTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUtils.test)(), _dec3 = (0, _testUtils.test)(), _dec4 = (0, _testUtils.test)(), _dec5 = (0, _testUtils.test)(), _dec6 = (0, _testUtils.test)(), (_class = (_class2 = /*#__PURE__*/function (_AbstractPermissionsT) {
31
+ (0, _inherits2["default"])(SyncingPermissionsTest, _AbstractPermissionsT);
32
+ var _super2 = _createSuper(SyncingPermissionsTest);
27
33
  function SyncingPermissionsTest() {
28
34
  (0, _classCallCheck2["default"])(this, SyncingPermissionsTest);
29
- return _super.apply(this, arguments);
35
+ return _super2.apply(this, arguments);
30
36
  }
31
37
  (0, _createClass2["default"])(SyncingPermissionsTest, null, [{
38
+ key: "beforeAll",
39
+ value: function () {
40
+ var _beforeAll = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
41
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
42
+ while (1) {
43
+ switch (_context2.prev = _context2.next) {
44
+ case 0:
45
+ _context2.next = 2;
46
+ return (0, _get2["default"])((0, _getPrototypeOf2["default"])(SyncingPermissionsTest), "beforeAll", this).call(this);
47
+ case 2:
48
+ this.contractId1 = (0, _generateShortAlphaId["default"])();
49
+ this.contractId2 = (0, _generateShortAlphaId["default"])();
50
+ case 4:
51
+ case "end":
52
+ return _context2.stop();
53
+ }
54
+ }
55
+ }, _callee2, this);
56
+ }));
57
+ function beforeAll() {
58
+ return _beforeAll.apply(this, arguments);
59
+ }
60
+ return beforeAll;
61
+ }()
62
+ }, {
32
63
  key: "beforeEach",
33
64
  value: function () {
34
- var _beforeEach = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
35
- return _regenerator["default"].wrap(function _callee$(_context) {
65
+ var _beforeEach = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
66
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
36
67
  while (1) {
37
- switch (_context.prev = _context.next) {
68
+ switch (_context3.prev = _context3.next) {
38
69
  case 0:
39
- _context.next = 2;
70
+ _context3.next = 2;
40
71
  return (0, _get2["default"])((0, _getPrototypeOf2["default"])(SyncingPermissionsTest), "beforeEach", this).call(this);
41
72
  case 2:
42
- this.sync = this.Action('permission', 'sync');
43
- case 3:
73
+ this.syncAction = this.Action('permission', 'sync');
74
+ _mercuryClient.MercuryClientFactory.setIsTestMode(true);
75
+ ExecuteTrackingAction.wasExecuteInvoked = false;
76
+ _context3.next = 7;
77
+ return this.eventFaker.fakeListPermissionContracts();
78
+ case 7:
44
79
  case "end":
45
- return _context.stop();
80
+ return _context3.stop();
46
81
  }
47
82
  }
48
- }, _callee, this);
83
+ }, _callee3, this);
49
84
  }));
50
85
  function beforeEach() {
51
86
  return _beforeEach.apply(this, arguments);
@@ -55,34 +90,296 @@ var SyncingPermissionsTest = (_dec = (0, _testUtils.test)(), (_class = (_class2
55
90
  }, {
56
91
  key: "generatesExpectedTypesFile",
57
92
  value: function () {
58
- var _generatesExpectedTypesFile = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
93
+ var _generatesExpectedTypesFile = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
59
94
  var results, expected;
60
- return _regenerator["default"].wrap(function _callee2$(_context2) {
95
+ return _regenerator["default"].wrap(function _callee4$(_context4) {
61
96
  while (1) {
62
- switch (_context2.prev = _context2.next) {
97
+ switch (_context4.prev = _context4.next) {
63
98
  case 0:
64
- _context2.next = 2;
65
- return this.sync.execute();
99
+ _context4.next = 2;
100
+ return this.sync();
66
101
  case 2:
67
- results = _context2.sent;
102
+ results = _context4.sent;
68
103
  expected = this.resolveHashSprucePath("permissions/permissions.types.ts");
69
104
  _test["default"].assertFileByPathInGeneratedFiles(expected, results.files);
70
- _context2.next = 7;
71
- return this.assertValidActionResponseFiles(results);
72
- case 7:
105
+ case 5:
73
106
  case "end":
74
- return _context2.stop();
107
+ return _context4.stop();
75
108
  }
76
109
  }
77
- }, _callee2, this);
110
+ }, _callee4, this);
78
111
  }));
79
112
  function generatesExpectedTypesFile() {
80
113
  return _generatesExpectedTypesFile.apply(this, arguments);
81
114
  }
82
115
  return generatesExpectedTypesFile;
83
116
  }()
117
+ }, {
118
+ key: "syncsNewPermissionsWhenMade",
119
+ value: function () {
120
+ var _syncsNewPermissionsWhenMade = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
121
+ return _regenerator["default"].wrap(function _callee5$(_context5) {
122
+ while (1) {
123
+ switch (_context5.prev = _context5.next) {
124
+ case 0:
125
+ _context5.next = 2;
126
+ return this.createPermissionContract(this.contractId1);
127
+ case 2:
128
+ _context5.next = 4;
129
+ return this.writeTestFileAndAssertValid("testing-permissions.".concat(this.contractId1));
130
+ case 4:
131
+ case "end":
132
+ return _context5.stop();
133
+ }
134
+ }
135
+ }, _callee5, this);
136
+ }));
137
+ function syncsNewPermissionsWhenMade() {
138
+ return _syncsNewPermissionsWhenMade.apply(this, arguments);
139
+ }
140
+ return syncsNewPermissionsWhenMade;
141
+ }()
142
+ }, {
143
+ key: "upgradingSyncsPermissions",
144
+ value: function () {
145
+ var _upgradingSyncsPermissions = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
146
+ return _regenerator["default"].wrap(function _callee6$(_context6) {
147
+ while (1) {
148
+ switch (_context6.prev = _context6.next) {
149
+ case 0:
150
+ this.beginTrackingExecute();
151
+ _context6.next = 3;
152
+ return this.emitDidExecuteUpgrade();
153
+ case 3:
154
+ _testUtils.assert.isTrue(ExecuteTrackingAction.wasExecuteInvoked);
155
+ case 4:
156
+ case "end":
157
+ return _context6.stop();
158
+ }
159
+ }
160
+ }, _callee6, this);
161
+ }));
162
+ function upgradingSyncsPermissions() {
163
+ return _upgradingSyncsPermissions.apply(this, arguments);
164
+ }
165
+ return upgradingSyncsPermissions;
166
+ }()
167
+ }, {
168
+ key: "doesNotSyncIfNotInstalled",
169
+ value: function () {
170
+ var _doesNotSyncIfNotInstalled = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee8() {
171
+ return _regenerator["default"].wrap(function _callee8$(_context8) {
172
+ while (1) {
173
+ switch (_context8.prev = _context8.next) {
174
+ case 0:
175
+ this.beginTrackingExecute();
176
+ this.featureInstaller.isInstalled = /*#__PURE__*/function () {
177
+ var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7(code) {
178
+ return _regenerator["default"].wrap(function _callee7$(_context7) {
179
+ while (1) {
180
+ switch (_context7.prev = _context7.next) {
181
+ case 0:
182
+ return _context7.abrupt("return", code === 'node');
183
+ case 1:
184
+ case "end":
185
+ return _context7.stop();
186
+ }
187
+ }
188
+ }, _callee7);
189
+ }));
190
+ return function (_x) {
191
+ return _ref.apply(this, arguments);
192
+ };
193
+ }();
194
+ _context8.next = 4;
195
+ return this.emitDidExecuteUpgrade();
196
+ case 4:
197
+ _testUtils.assert.isFalse(ExecuteTrackingAction.wasExecuteInvoked);
198
+ case 5:
199
+ case "end":
200
+ return _context8.stop();
201
+ }
202
+ }
203
+ }, _callee8, this);
204
+ }));
205
+ function doesNotSyncIfNotInstalled() {
206
+ return _doesNotSyncIfNotInstalled.apply(this, arguments);
207
+ }
208
+ return doesNotSyncIfNotInstalled;
209
+ }()
210
+ }, {
211
+ key: "generatesCombinedFile",
212
+ value: function () {
213
+ var _generatesCombinedFile = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee9() {
214
+ return _regenerator["default"].wrap(function _callee9$(_context9) {
215
+ while (1) {
216
+ switch (_context9.prev = _context9.next) {
217
+ case 0:
218
+ _testUtils.assert.isTrue(_spruceSkillUtils.diskUtil.doesFileExist(this.getCombinedPath()));
219
+ case 1:
220
+ case "end":
221
+ return _context9.stop();
222
+ }
223
+ }
224
+ }, _callee9, this);
225
+ }));
226
+ function generatesCombinedFile() {
227
+ return _generatesCombinedFile.apply(this, arguments);
228
+ }
229
+ return generatesCombinedFile;
230
+ }()
231
+ }, {
232
+ key: "combinedFileImportsAllPermissions",
233
+ value: function () {
234
+ var _combinedFileImportsAllPermissions = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee10() {
235
+ var imported;
236
+ return _regenerator["default"].wrap(function _callee10$(_context10) {
237
+ while (1) {
238
+ switch (_context10.prev = _context10.next) {
239
+ case 0:
240
+ _context10.next = 2;
241
+ return this.createPermissionContract(this.contractId2);
242
+ case 2:
243
+ _context10.next = 4;
244
+ return this.Service('import').importDefault(this.getCombinedPath());
245
+ case 4:
246
+ imported = _context10.sent;
247
+ _testUtils.assert.isEqualDeep(imported.sort(_sortPermissionContracts.sortPermissionContracts), [{
248
+ id: this.contractId1,
249
+ name: this.contractId1,
250
+ description: '',
251
+ requireAllPermissions: false,
252
+ permissions: [{
253
+ id: 'can-high-five',
254
+ name: 'Can give high five',
255
+ description: 'Will this person be allowed to high five?',
256
+ defaults: {
257
+ skill: false
258
+ },
259
+ requireAllStatuses: false
260
+ }]
261
+ }, {
262
+ id: this.contractId2,
263
+ name: this.contractId2,
264
+ description: '',
265
+ requireAllPermissions: false,
266
+ permissions: [{
267
+ id: 'can-high-five',
268
+ name: 'Can give high five',
269
+ description: 'Will this person be allowed to high five?',
270
+ defaults: {
271
+ skill: false
272
+ },
273
+ requireAllStatuses: false
274
+ }]
275
+ }].sort(_sortPermissionContracts.sortPermissionContracts));
276
+ case 6:
277
+ case "end":
278
+ return _context10.stop();
279
+ }
280
+ }
281
+ }, _callee10, this);
282
+ }));
283
+ function combinedFileImportsAllPermissions() {
284
+ return _combinedFileImportsAllPermissions.apply(this, arguments);
285
+ }
286
+ return combinedFileImportsAllPermissions;
287
+ }()
288
+ }, {
289
+ key: "getCombinedPath",
290
+ value: function getCombinedPath() {
291
+ return this.resolveHashSprucePath('permissions', 'permissions.ts');
292
+ }
293
+ }, {
294
+ key: "beginTrackingExecute",
295
+ value: function beginTrackingExecute() {
296
+ _ActionFactory["default"].setActionClass('permission', 'sync', ExecuteTrackingAction);
297
+ }
298
+ }, {
299
+ key: "sync",
300
+ value: function () {
301
+ var _sync = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee11() {
302
+ return _regenerator["default"].wrap(function _callee11$(_context11) {
303
+ while (1) {
304
+ switch (_context11.prev = _context11.next) {
305
+ case 0:
306
+ _context11.next = 2;
307
+ return this.syncAction.execute();
308
+ case 2:
309
+ return _context11.abrupt("return", _context11.sent);
310
+ case 3:
311
+ case "end":
312
+ return _context11.stop();
313
+ }
314
+ }
315
+ }, _callee11, this);
316
+ }));
317
+ function sync() {
318
+ return _sync.apply(this, arguments);
319
+ }
320
+ return sync;
321
+ }()
322
+ }, {
323
+ key: "emitDidExecuteUpgrade",
324
+ value: function () {
325
+ var _emitDidExecuteUpgrade = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee12() {
326
+ return _regenerator["default"].wrap(function _callee12$(_context12) {
327
+ while (1) {
328
+ switch (_context12.prev = _context12.next) {
329
+ case 0:
330
+ _context12.next = 2;
331
+ return this.emitter.emitAndFlattenResponses('feature.did-execute', {
332
+ actionCode: 'upgrade',
333
+ featureCode: 'node',
334
+ results: {}
335
+ });
336
+ case 2:
337
+ case "end":
338
+ return _context12.stop();
339
+ }
340
+ }
341
+ }, _callee12, this);
342
+ }));
343
+ function emitDidExecuteUpgrade() {
344
+ return _emitDidExecuteUpgrade.apply(this, arguments);
345
+ }
346
+ return emitDidExecuteUpgrade;
347
+ }()
84
348
  }]);
85
349
  return SyncingPermissionsTest;
86
- }(_AbstractSkillTest2["default"]), (0, _defineProperty2["default"])(_class2, "skillCacheKey", 'permissions'), (0, _defineProperty2["default"])(_class2, "sync", void 0), _class2), ((0, _applyDecoratedDescriptor2["default"])(_class, "generatesExpectedTypesFile", [_dec], Object.getOwnPropertyDescriptor(_class, "generatesExpectedTypesFile"), _class)), _class));
350
+ }(_AbstractPermissionsTest["default"]), (0, _defineProperty2["default"])(_class2, "syncAction", void 0), (0, _defineProperty2["default"])(_class2, "contractId1", void 0), (0, _defineProperty2["default"])(_class2, "contractId2", void 0), _class2), ((0, _applyDecoratedDescriptor2["default"])(_class, "generatesExpectedTypesFile", [_dec], Object.getOwnPropertyDescriptor(_class, "generatesExpectedTypesFile"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "syncsNewPermissionsWhenMade", [_dec2], Object.getOwnPropertyDescriptor(_class, "syncsNewPermissionsWhenMade"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "upgradingSyncsPermissions", [_dec3], Object.getOwnPropertyDescriptor(_class, "upgradingSyncsPermissions"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "doesNotSyncIfNotInstalled", [_dec4], Object.getOwnPropertyDescriptor(_class, "doesNotSyncIfNotInstalled"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "generatesCombinedFile", [_dec5], Object.getOwnPropertyDescriptor(_class, "generatesCombinedFile"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "combinedFileImportsAllPermissions", [_dec6], Object.getOwnPropertyDescriptor(_class, "combinedFileImportsAllPermissions"), _class)), _class));
87
351
  exports["default"] = SyncingPermissionsTest;
352
+ var ExecuteTrackingAction = /*#__PURE__*/function (_SyncAction) {
353
+ (0, _inherits2["default"])(ExecuteTrackingAction, _SyncAction);
354
+ var _super = _createSuper(ExecuteTrackingAction);
355
+ function ExecuteTrackingAction() {
356
+ (0, _classCallCheck2["default"])(this, ExecuteTrackingAction);
357
+ return _super.apply(this, arguments);
358
+ }
359
+ (0, _createClass2["default"])(ExecuteTrackingAction, [{
360
+ key: "execute",
361
+ value: function () {
362
+ var _execute = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
363
+ return _regenerator["default"].wrap(function _callee$(_context) {
364
+ while (1) {
365
+ switch (_context.prev = _context.next) {
366
+ case 0:
367
+ ExecuteTrackingAction.wasExecuteInvoked = true;
368
+ return _context.abrupt("return", {});
369
+ case 2:
370
+ case "end":
371
+ return _context.stop();
372
+ }
373
+ }
374
+ }, _callee);
375
+ }));
376
+ function execute() {
377
+ return _execute.apply(this, arguments);
378
+ }
379
+ return execute;
380
+ }()
381
+ }]);
382
+ return ExecuteTrackingAction;
383
+ }(_SyncAction2["default"]);
384
+ (0, _defineProperty2["default"])(ExecuteTrackingAction, "wasExecuteInvoked", false);
88
385
  //# sourceMappingURL=SyncingPermissions.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SyncingPermissions.test.js","names":["SyncingPermissionsTest","test","sync","Action","execute","results","expected","resolveHashSprucePath","testUtil","assertFileByPathInGeneratedFiles","files","assertValidActionResponseFiles","AbstractSkillTest"],"sources":["../../../../src/__tests__/behavioral/permissions/SyncingPermissions.test.ts"],"sourcesContent":["import { test } from '@sprucelabs/test-utils'\nimport SyncAction from '../../../features/permission/actions/SyncAction'\nimport AbstractSkillTest from '../../../tests/AbstractSkillTest'\nimport testUtil from '../../../tests/utilities/test.utility'\n\nexport default class SyncingPermissionsTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'permissions'\n\tprivate static sync: SyncAction\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tthis.sync = this.Action('permission', 'sync')\n\t}\n\n\t@test()\n\tprotected static async generatesExpectedTypesFile() {\n\t\tconst results = await this.sync.execute()\n\t\tconst expected = this.resolveHashSprucePath(\n\t\t\t`permissions/permissions.types.ts`\n\t\t)\n\n\t\ttestUtil.assertFileByPathInGeneratedFiles(expected, results.files)\n\t\tawait this.assertValidActionResponseFiles(results)\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AAEA;AACA;AAA4D;AAAA;AAAA;AAAA,IAEvCA,sBAAsB,WASzC,IAAAC,eAAI,GAAE;EAAA;EAAA;EAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;MAAA,gGALP;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA;cAAA;gBAEC,IAAI,CAACC,IAAI,GAAG,IAAI,CAACC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAC7C;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,gHAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEuB,IAAI,CAACD,IAAI,CAACE,OAAO,EAAE;cAAA;gBAAnCC,OAAO;gBACPC,QAAQ,GAAG,IAAI,CAACC,qBAAqB,oCAE1C;gBAEDC,gBAAQ,CAACC,gCAAgC,CAACH,QAAQ,EAAED,OAAO,CAACK,KAAK,CAAC;gBAAA;gBAAA,OAC5D,IAAI,CAACC,8BAA8B,CAACN,OAAO,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAClD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA,EAlBkDO,8BAAiB,8DACnC,aAAa;AAAA"}
1
+ {"version":3,"file":"SyncingPermissions.test.js","names":["SyncingPermissionsTest","test","contractId1","generateShortAlphaId","contractId2","syncAction","Action","MercuryClientFactory","setIsTestMode","ExecuteTrackingAction","wasExecuteInvoked","eventFaker","fakeListPermissionContracts","sync","results","expected","resolveHashSprucePath","testUtil","assertFileByPathInGeneratedFiles","files","createPermissionContract","writeTestFileAndAssertValid","beginTrackingExecute","emitDidExecuteUpgrade","assert","isTrue","featureInstaller","isInstalled","code","isFalse","diskUtil","doesFileExist","getCombinedPath","Service","importDefault","imported","isEqualDeep","sort","sortPermissionContracts","id","name","description","requireAllPermissions","permissions","defaults","skill","requireAllStatuses","ActionFactory","setActionClass","execute","emitter","emitAndFlattenResponses","actionCode","featureCode","AbstractPermissionsTest","SyncAction"],"sources":["../../../../src/__tests__/behavioral/permissions/SyncingPermissions.test.ts"],"sourcesContent":["import { MercuryClientFactory } from '@sprucelabs/mercury-client'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { assert, test } from '@sprucelabs/test-utils'\nimport ActionFactory from '../../../features/ActionFactory'\nimport SyncAction from '../../../features/permission/actions/SyncAction'\nimport testUtil from '../../../tests/utilities/test.utility'\nimport AbstractPermissionsTest from './support/AbstractPermissionsTest'\nimport generateShortAlphaId from './support/generateShortAlphaId'\nimport { sortPermissionContracts } from './support/sortPermissionContracts'\n\nexport default class SyncingPermissionsTest extends AbstractPermissionsTest {\n\tprivate static syncAction: SyncAction\n\tprivate static contractId1: string\n\tprivate static contractId2: string\n\n\tprotected static async beforeAll() {\n\t\tawait super.beforeAll()\n\t\tthis.contractId1 = generateShortAlphaId()\n\t\tthis.contractId2 = generateShortAlphaId()\n\t}\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tthis.syncAction = this.Action('permission', 'sync')\n\t\tMercuryClientFactory.setIsTestMode(true)\n\t\tExecuteTrackingAction.wasExecuteInvoked = false\n\t\tawait this.eventFaker.fakeListPermissionContracts()\n\t}\n\n\t@test()\n\tprotected static async generatesExpectedTypesFile() {\n\t\tconst results = await this.sync()\n\n\t\tconst expected = this.resolveHashSprucePath(\n\t\t\t`permissions/permissions.types.ts`\n\t\t)\n\n\t\ttestUtil.assertFileByPathInGeneratedFiles(expected, results.files)\n\t}\n\n\t@test()\n\tprotected static async syncsNewPermissionsWhenMade() {\n\t\tawait this.createPermissionContract(this.contractId1)\n\t\tawait this.writeTestFileAndAssertValid(\n\t\t\t`testing-permissions.${this.contractId1}`\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async upgradingSyncsPermissions() {\n\t\tthis.beginTrackingExecute()\n\t\tawait this.emitDidExecuteUpgrade()\n\t\tassert.isTrue(ExecuteTrackingAction.wasExecuteInvoked)\n\t}\n\n\t@test()\n\tprotected static async doesNotSyncIfNotInstalled() {\n\t\tthis.beginTrackingExecute()\n\t\tthis.featureInstaller.isInstalled = async (code) => code === 'node'\n\n\t\tawait this.emitDidExecuteUpgrade()\n\t\tassert.isFalse(ExecuteTrackingAction.wasExecuteInvoked)\n\t}\n\n\t@test()\n\tprotected static async generatesCombinedFile() {\n\t\tassert.isTrue(diskUtil.doesFileExist(this.getCombinedPath()))\n\t}\n\n\t@test()\n\tprotected static async combinedFileImportsAllPermissions() {\n\t\tawait this.createPermissionContract(this.contractId2)\n\n\t\tconst imported = await this.Service('import').importDefault(\n\t\t\tthis.getCombinedPath()\n\t\t)\n\n\t\tassert.isEqualDeep(\n\t\t\timported.sort(sortPermissionContracts),\n\t\t\t[\n\t\t\t\t{\n\t\t\t\t\tid: this.contractId1,\n\t\t\t\t\tname: this.contractId1,\n\t\t\t\t\tdescription: '',\n\t\t\t\t\trequireAllPermissions: false,\n\t\t\t\t\tpermissions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'can-high-five',\n\t\t\t\t\t\t\tname: 'Can give high five',\n\t\t\t\t\t\t\tdescription: 'Will this person be allowed to high five?',\n\t\t\t\t\t\t\tdefaults: { skill: false },\n\t\t\t\t\t\t\trequireAllStatuses: false,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: this.contractId2,\n\t\t\t\t\tname: this.contractId2,\n\t\t\t\t\tdescription: '',\n\t\t\t\t\trequireAllPermissions: false,\n\t\t\t\t\tpermissions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'can-high-five',\n\t\t\t\t\t\t\tname: 'Can give high five',\n\t\t\t\t\t\t\tdescription: 'Will this person be allowed to high five?',\n\t\t\t\t\t\t\tdefaults: { skill: false },\n\t\t\t\t\t\t\trequireAllStatuses: false,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t].sort(sortPermissionContracts)\n\t\t)\n\t}\n\n\tprivate static getCombinedPath() {\n\t\treturn this.resolveHashSprucePath('permissions', 'permissions.ts')\n\t}\n\n\tprivate static beginTrackingExecute() {\n\t\tActionFactory.setActionClass('permission', 'sync', ExecuteTrackingAction)\n\t}\n\n\tprivate static async sync() {\n\t\treturn await this.syncAction.execute()\n\t}\n\n\tprivate static async emitDidExecuteUpgrade() {\n\t\tawait this.emitter.emitAndFlattenResponses('feature.did-execute', {\n\t\t\tactionCode: 'upgrade',\n\t\t\tfeatureCode: 'node',\n\t\t\tresults: {},\n\t\t})\n\t}\n}\n\nclass ExecuteTrackingAction extends SyncAction {\n\tpublic static wasExecuteInvoked = false\n\tpublic async execute() {\n\t\tExecuteTrackingAction.wasExecuteInvoked = true\n\t\treturn {}\n\t}\n}\n"],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import CreateAction from '../../../../features/permission/actions/CreateAction';
2
+ import AbstractSkillTest from '../../../../tests/AbstractSkillTest';
3
+ import EventFaker from '../../../support/EventFaker';
4
+ export default abstract class AbstractPermissionsTest extends AbstractSkillTest {
5
+ protected static skillCacheKey: string;
6
+ protected static createAction: CreateAction;
7
+ protected static eventFaker: EventFaker;
8
+ protected static beforeEach(): Promise<void>;
9
+ protected static createPermissionContract(nameReadable: string): Promise<import("../../../../features/features.types").FeatureActionResponse>;
10
+ protected static writeTestFileAndAssertValid(contractId: string, perm1?: string, perm2?: string): Promise<string>;
11
+ }
@@ -15,7 +15,9 @@ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime
15
15
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
16
16
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
17
  var _spruceSkillUtils = require("@sprucelabs/spruce-skill-utils");
18
- var _AbstractSkillTest2 = _interopRequireDefault(require("../../../tests/AbstractSkillTest"));
18
+ var _AbstractSkillTest2 = _interopRequireDefault(require("../../../../tests/AbstractSkillTest"));
19
+ var _EventFaker = _interopRequireDefault(require("../../../support/EventFaker"));
20
+ var _renderPermissionTestFile = _interopRequireDefault(require("./renderPermissionTestFile"));
19
21
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
20
22
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
21
23
  var AbstractPermissionsTest = /*#__PURE__*/function (_AbstractSkillTest) {
@@ -37,7 +39,8 @@ var AbstractPermissionsTest = /*#__PURE__*/function (_AbstractSkillTest) {
37
39
  return (0, _get2["default"])((0, _getPrototypeOf2["default"])(AbstractPermissionsTest), "beforeEach", this).call(this);
38
40
  case 2:
39
41
  this.createAction = this.Action('permission', 'create');
40
- case 3:
42
+ this.eventFaker = new _EventFaker["default"]();
43
+ case 4:
41
44
  case "end":
42
45
  return _context.stop();
43
46
  }
@@ -76,10 +79,39 @@ var AbstractPermissionsTest = /*#__PURE__*/function (_AbstractSkillTest) {
76
79
  }
77
80
  return createPermissionContract;
78
81
  }()
82
+ }, {
83
+ key: "writeTestFileAndAssertValid",
84
+ value: function () {
85
+ var _writeTestFileAndAssertValid = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(contractId, perm1, perm2) {
86
+ var contents, destination;
87
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
88
+ while (1) {
89
+ switch (_context3.prev = _context3.next) {
90
+ case 0:
91
+ contents = (0, _renderPermissionTestFile["default"])(contractId, perm1, perm2);
92
+ destination = this.resolvePath('src', 'test.ts');
93
+ _spruceSkillUtils.diskUtil.writeFile(destination, contents);
94
+ _context3.next = 5;
95
+ return this.assertFilePassesTypeChecks(destination);
96
+ case 5:
97
+ return _context3.abrupt("return", destination);
98
+ case 6:
99
+ case "end":
100
+ return _context3.stop();
101
+ }
102
+ }
103
+ }, _callee3, this);
104
+ }));
105
+ function writeTestFileAndAssertValid(_x2, _x3, _x4) {
106
+ return _writeTestFileAndAssertValid.apply(this, arguments);
107
+ }
108
+ return writeTestFileAndAssertValid;
109
+ }()
79
110
  }]);
80
111
  return AbstractPermissionsTest;
81
112
  }(_AbstractSkillTest2["default"]);
82
113
  exports["default"] = AbstractPermissionsTest;
83
114
  (0, _defineProperty2["default"])(AbstractPermissionsTest, "skillCacheKey", 'permissions');
84
115
  (0, _defineProperty2["default"])(AbstractPermissionsTest, "createAction", void 0);
116
+ (0, _defineProperty2["default"])(AbstractPermissionsTest, "eventFaker", void 0);
85
117
  //# sourceMappingURL=AbstractPermissionsTest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AbstractPermissionsTest.js","names":["AbstractPermissionsTest","createAction","Action","eventFaker","EventFaker","nameReadable","execute","nameCamel","namesUtil","toCamel","contractId","perm1","perm2","contents","renderPermissionTestFile","destination","resolvePath","diskUtil","writeFile","assertFilePassesTypeChecks","AbstractSkillTest"],"sources":["../../../../../src/__tests__/behavioral/permissions/support/AbstractPermissionsTest.ts"],"sourcesContent":["import { diskUtil, namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport CreateAction from '../../../../features/permission/actions/CreateAction'\nimport AbstractSkillTest from '../../../../tests/AbstractSkillTest'\nimport EventFaker from '../../../support/EventFaker'\nimport renderPermissionTestFile from './renderPermissionTestFile'\n\nexport default abstract class AbstractPermissionsTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'permissions'\n\tprotected static createAction: CreateAction\n\tprotected static eventFaker: EventFaker\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tthis.createAction = this.Action('permission', 'create')\n\t\tthis.eventFaker = new EventFaker()\n\t}\n\n\tprotected static async createPermissionContract(nameReadable: string) {\n\t\treturn await this.createAction.execute({\n\t\t\tnameReadable,\n\t\t\tnameCamel: namesUtil.toCamel(nameReadable),\n\t\t})\n\t}\n\n\tprotected static async writeTestFileAndAssertValid(\n\t\tcontractId: string,\n\t\tperm1?: string,\n\t\tperm2?: string\n\t) {\n\t\tconst contents = renderPermissionTestFile(contractId, perm1, perm2)\n\t\tconst destination = this.resolvePath('src', 'test.ts')\n\t\tdiskUtil.writeFile(destination, contents)\n\n\t\tawait this.assertFilePassesTypeChecks(destination)\n\n\t\treturn destination\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAEA;AACA;AACA;AAAiE;AAAA;AAAA,IAEnCA,uBAAuB;EAAA;EAAA;EAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;MAAA,gGAKpD;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA;cAAA;gBAEC,IAAI,CAACC,YAAY,GAAG,IAAI,CAACC,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC;gBACvD,IAAI,CAACC,UAAU,GAAG,IAAIC,sBAAU,EAAE;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAClC;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,8GAED,kBAAgDC,YAAoB;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OACtD,IAAI,CAACJ,YAAY,CAACK,OAAO,CAAC;kBACtCD,YAAY,EAAZA,YAAY;kBACZE,SAAS,EAAEC,2BAAS,CAACC,OAAO,CAACJ,YAAY;gBAC1C,CAAC,CAAC;cAAA;gBAAA;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACF;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,iHAED,kBACCK,UAAkB,EAClBC,KAAc,EACdC,KAAc;QAAA;QAAA;UAAA;YAAA;cAAA;gBAERC,QAAQ,GAAG,IAAAC,oCAAwB,EAACJ,UAAU,EAAEC,KAAK,EAAEC,KAAK,CAAC;gBAC7DG,WAAW,GAAG,IAAI,CAACC,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC;gBACtDC,0BAAQ,CAACC,SAAS,CAACH,WAAW,EAAEF,QAAQ,CAAC;gBAAA;gBAAA,OAEnC,IAAI,CAACM,0BAA0B,CAACJ,WAAW,CAAC;cAAA;gBAAA,kCAE3CA,WAAW;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAClB;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA,EA9B4DK,8BAAiB;AAAA;AAAA,iCAAjDpB,uBAAuB,mBACnB,aAAa;AAAA,iCADjBA,uBAAuB;AAAA,iCAAvBA,uBAAuB"}
@@ -0,0 +1 @@
1
+ export default function generateShortAlphaId(): string;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = generateShortAlphaId;
7
+ var _testUtils = require("@sprucelabs/test-utils");
8
+ function generateShortAlphaId() {
9
+ return (0, _testUtils.generateId)().replace(/[0-9]/g, '').substring(0, 5);
10
+ }
11
+ //# sourceMappingURL=generateShortAlphaId.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateShortAlphaId.js","names":["generateShortAlphaId","generateId","replace","substring"],"sources":["../../../../../src/__tests__/behavioral/permissions/support/generateShortAlphaId.ts"],"sourcesContent":["import { generateId } from '@sprucelabs/test-utils'\n\nexport default function generateShortAlphaId() {\n\treturn generateId().replace(/[0-9]/g, '').substring(0, 5)\n}\n"],"mappings":";;;;;;AAAA;AAEe,SAASA,oBAAoB,GAAG;EAC9C,OAAO,IAAAC,qBAAU,GAAE,CAACC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAACC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;AAC1D"}
@@ -0,0 +1 @@
1
+ export default function renderPermissionTestFile(contractId: string, perm1?: string, perm2?: string): string;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = renderPermissionTestFile;
7
+ function renderPermissionTestFile(contractId, perm1, perm2) {
8
+ var parts = ["import '".concat('#' + 'spruce/permissions/permissions.types', "'\nimport { PermissionContractId").concat(perm1 ? ', PermissionId' : '', " } from '@sprucelabs/mercury-types'\n\nconst contractId: PermissionContractId = '").concat(contractId, "'\nconsole.log(contractId)")];
9
+ if (perm1) {
10
+ parts.push("const perm1: PermissionId<'".concat(contractId, "'> = '").concat(perm1, "'\nconsole.log(perm1)"));
11
+ }
12
+ if (perm2) {
13
+ parts.push("const perm2: PermissionId<'".concat(contractId, "'> = '").concat(perm2, "'\nconsole.log(perm2)"));
14
+ }
15
+ return parts.join('\n');
16
+ }
17
+ //# sourceMappingURL=renderPermissionTestFile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderPermissionTestFile.js","names":["renderPermissionTestFile","contractId","perm1","perm2","parts","push","join"],"sources":["../../../../../src/__tests__/behavioral/permissions/support/renderPermissionTestFile.ts"],"sourcesContent":["export default function renderPermissionTestFile(\n\tcontractId: string,\n\tperm1?: string,\n\tperm2?: string\n) {\n\tconst parts = [\n\t\t`import '${'#' + 'spruce/permissions/permissions.types'}'\nimport { PermissionContractId${\n\t\t\tperm1 ? ', PermissionId' : ''\n\t\t} } from '@sprucelabs/mercury-types'\n\nconst contractId: PermissionContractId = '${contractId}'\nconsole.log(contractId)`,\n\t]\n\n\tif (perm1) {\n\t\tparts.push(`const perm1: PermissionId<'${contractId}'> = '${perm1}'\nconsole.log(perm1)`)\n\t}\n\n\tif (perm2) {\n\t\tparts.push(`const perm2: PermissionId<'${contractId}'> = '${perm2}'\nconsole.log(perm2)`)\n\t}\n\n\treturn parts.join('\\n')\n}\n"],"mappings":";;;;;;AAAe,SAASA,wBAAwB,CAC/CC,UAAkB,EAClBC,KAAc,EACdC,KAAc,EACb;EACD,IAAMC,KAAK,GAAG,mBACF,GAAG,GAAG,sCAAsC,6CAEtDF,KAAK,GAAG,gBAAgB,GAAG,EAAE,8FAGYD,UAAU,gCAEpD;EAED,IAAIC,KAAK,EAAE;IACVE,KAAK,CAACC,IAAI,sCAA+BJ,UAAU,mBAASC,KAAK,2BAC/C;EACnB;EAEA,IAAIC,KAAK,EAAE;IACVC,KAAK,CAACC,IAAI,sCAA+BJ,UAAU,mBAASE,KAAK,2BAC/C;EACnB;EAEA,OAAOC,KAAK,CAACE,IAAI,CAAC,IAAI,CAAC;AACxB"}
@@ -0,0 +1,5 @@
1
+ export declare function sortPermissionContracts(a: {
2
+ id: string;
3
+ }, b: {
4
+ id: string;
5
+ }): 1 | -1;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.sortPermissionContracts = sortPermissionContracts;
7
+ function sortPermissionContracts(a, b) {
8
+ return a.id > b.id ? 1 : -1;
9
+ }
10
+ //# sourceMappingURL=sortPermissionContracts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sortPermissionContracts.js","names":["sortPermissionContracts","a","b","id"],"sources":["../../../../../src/__tests__/behavioral/permissions/support/sortPermissionContracts.ts"],"sourcesContent":["export function sortPermissionContracts(a: { id: string }, b: { id: string }) {\n\treturn a.id > b.id ? 1 : -1\n}\n"],"mappings":";;;;;;AAAO,SAASA,uBAAuB,CAACC,CAAiB,EAAEC,CAAiB,EAAE;EAC7E,OAAOD,CAAC,CAACE,EAAE,GAAGD,CAAC,CAACC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;AAC5B"}
@@ -1,7 +1,7 @@
1
1
  import AbstractSchemaTest from '../../../tests/AbstractSchemaTest';
2
2
  export default class GettingSchemasFromHealthCheckTest extends AbstractSchemaTest {
3
3
  protected static getsCoreSchemasFromHealthCheck(): Promise<void>;
4
- private static assertExpectedSchemas;
5
4
  protected static getsCoreAndLocalSchemasFromHealthCheck(): Promise<void>;
6
5
  private static installAndSyncSchemas;
6
+ private static assertExpectedSchemas;
7
7
  }