@sprucelabs/spruce-cli 15.2.21 → 15.2.24

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 (158) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/build/__tests__/behavioral/AddingADependency.test.js +3 -1
  3. package/build/__tests__/behavioral/AddingADependency.test.js.map +1 -1
  4. package/build/__tests__/behavioral/DeployingASkill.test.js +20 -20
  5. package/build/__tests__/behavioral/DeployingASkill.test.js.map +1 -1
  6. package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js +12 -12
  7. package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js.map +1 -1
  8. package/build/__tests__/behavioral/InstallingASkillAtAnOrg.test.js +3 -1
  9. package/build/__tests__/behavioral/InstallingASkillAtAnOrg.test.js.map +1 -1
  10. package/build/__tests__/behavioral/LoggingInAsASkill.test.js +4 -2
  11. package/build/__tests__/behavioral/LoggingInAsASkill.test.js.map +1 -1
  12. package/build/__tests__/behavioral/RebuildingASkill.test.js +2 -2
  13. package/build/__tests__/behavioral/RebuildingASkill.test.js.map +1 -1
  14. package/build/__tests__/behavioral/RegisteringEventsOnBoot.test.js +6 -4
  15. package/build/__tests__/behavioral/RegisteringEventsOnBoot.test.js.map +1 -1
  16. package/build/__tests__/behavioral/RegisteringGlobalEvents.test.js +3 -1
  17. package/build/__tests__/behavioral/RegisteringGlobalEvents.test.js.map +1 -1
  18. package/build/__tests__/behavioral/RegisteringSkillViewOnBoot.test.js +3 -1
  19. package/build/__tests__/behavioral/RegisteringSkillViewOnBoot.test.js.map +1 -1
  20. package/build/__tests__/behavioral/SettingUpASkillForTesting.test.js +5 -3
  21. package/build/__tests__/behavioral/SettingUpASkillForTesting.test.js.map +1 -1
  22. package/build/__tests__/behavioral/WatchingSkillViews.test.js +6 -6
  23. package/build/__tests__/behavioral/WatchingSkillViews.test.js.map +1 -1
  24. package/build/__tests__/behavioral/events/CreatingAListener.test.d.ts +5 -0
  25. package/build/__tests__/behavioral/events/CreatingAListener.test.js +242 -119
  26. package/build/__tests__/behavioral/events/CreatingAListener.test.js.map +1 -1
  27. package/build/__tests__/behavioral/events/CreatingAnEvent.test.js +3 -1
  28. package/build/__tests__/behavioral/events/CreatingAnEvent.test.js.map +1 -1
  29. package/build/__tests__/behavioral/node/CreatingANodeModule.test.js +1 -1
  30. package/build/__tests__/behavioral/node/CreatingANodeModule.test.js.map +1 -1
  31. package/build/__tests__/behavioral/skill/CreatingASkill.test.js +1 -1
  32. package/build/__tests__/behavioral/skill/CreatingASkill.test.js.map +1 -1
  33. package/build/__tests__/behavioral/stores/CreatingADataStore.test.js +2 -2
  34. package/build/__tests__/behavioral/stores/CreatingADataStore.test.js.map +1 -1
  35. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.d.ts +1 -1
  36. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js +8 -8
  37. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js.map +1 -1
  38. package/build/__tests__/behavioral/{UpdatingDependencies.test.d.ts → upgrading/UpdatingDependencies.test.d.ts} +1 -1
  39. package/build/__tests__/behavioral/{UpdatingDependencies.test.js → upgrading/UpdatingDependencies.test.js} +1 -1
  40. package/build/__tests__/behavioral/upgrading/UpdatingDependencies.test.js.map +1 -0
  41. package/build/__tests__/behavioral/{UpdatingDependencies2.test.d.ts → upgrading/UpdatingDependencies2.test.d.ts} +1 -1
  42. package/build/__tests__/behavioral/{UpdatingDependencies2.test.js → upgrading/UpdatingDependencies2.test.js} +4 -4
  43. package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js.map +1 -0
  44. package/build/__tests__/behavioral/{UpgradingANodeModule.test.d.ts → upgrading/UpgradingANodeModule.test.d.ts} +1 -1
  45. package/build/__tests__/behavioral/{UpgradingANodeModule.test.js → upgrading/UpgradingANodeModule.test.js} +7 -7
  46. package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js.map +1 -0
  47. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill.test.d.ts +0 -0
  48. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill.test.js +3 -14
  49. package/build/__tests__/behavioral/upgrading/UpgradingASkill.test.js.map +1 -0
  50. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill2.test.d.ts +0 -0
  51. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill2.test.js +4 -13
  52. package/build/__tests__/behavioral/upgrading/UpgradingASkill2.test.js.map +1 -0
  53. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill3.test.d.ts +0 -0
  54. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill3.test.js +6 -6
  55. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill3.test.js.map +1 -1
  56. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill4.test.d.ts +0 -0
  57. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill4.test.js +3 -3
  58. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill4.test.js.map +1 -1
  59. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill5.test.d.ts +0 -0
  60. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill5.test.js +2 -2
  61. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill5.test.js.map +1 -1
  62. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingWithListeners.test.d.ts +0 -0
  63. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingWithListeners.test.js +4 -8
  64. package/build/__tests__/behavioral/upgrading/UpgradingWithListeners.test.js.map +1 -0
  65. package/build/__tests__/behavioral/{UpgradingWithSandboxFeatureInstalled.test.d.ts → upgrading/UpgradingWithSandboxFeatureInstalled.test.d.ts} +3 -3
  66. package/build/__tests__/behavioral/{UpgradingWithSandboxFeatureInstalled.test.js → upgrading/UpgradingWithSandboxFeatureInstalled.test.js} +14 -14
  67. package/build/__tests__/behavioral/upgrading/UpgradingWithSandboxFeatureInstalled.test.js.map +1 -0
  68. package/build/__tests__/implementation/ActionExecuter2.test.js +1 -1
  69. package/build/__tests__/implementation/ActionExecuter2.test.js.map +1 -1
  70. package/build/__tests__/implementation/ActionExecuter4.test.js +2 -2
  71. package/build/__tests__/implementation/ActionExecuter4.test.js.map +1 -1
  72. package/build/__tests__/implementation/EventStore.test.js +7 -2
  73. package/build/__tests__/implementation/EventStore.test.js.map +1 -1
  74. package/build/__tests__/implementation/LintService.test.js +2 -2
  75. package/build/__tests__/implementation/LintService.test.js.map +1 -1
  76. package/build/__tests__/implementation/PkgService.test.js +2 -2
  77. package/build/__tests__/implementation/PkgService.test.js.map +1 -1
  78. package/build/__tests__/implementation/StoreFeature.test.js +1 -1
  79. package/build/__tests__/implementation/StoreFeature.test.js.map +1 -1
  80. package/build/cli.js +1 -1
  81. package/build/cli.js.map +1 -1
  82. package/build/features/event/EventFeature.d.ts +1 -0
  83. package/build/features/event/EventFeature.js +89 -56
  84. package/build/features/event/EventFeature.js.map +1 -1
  85. package/build/features/event/actions/ListenAction.d.ts +1 -0
  86. package/build/features/event/actions/ListenAction.js +23 -31
  87. package/build/features/event/actions/ListenAction.js.map +1 -1
  88. package/build/features/event/stores/EventStore.d.ts +6 -5
  89. package/build/features/event/stores/EventStore.js +10 -7
  90. package/build/features/event/stores/EventStore.js.map +1 -1
  91. package/build/features/store/StoreFeature.d.ts +1 -1
  92. package/build/features/store/StoreFeature.js +15 -14
  93. package/build/features/store/StoreFeature.js.map +1 -1
  94. package/build/services/CommandService.d.ts +1 -1
  95. package/build/services/CommandService.js +2 -2
  96. package/build/services/CommandService.js.map +1 -1
  97. package/build/tests/AbstractCliTest.d.ts +2 -0
  98. package/build/tests/AbstractCliTest.js +9 -2
  99. package/build/tests/AbstractCliTest.js.map +1 -1
  100. package/build/tests/CommandFaker.d.ts +8 -0
  101. package/build/tests/CommandFaker.js +54 -0
  102. package/build/tests/CommandFaker.js.map +1 -0
  103. package/build/tests/cleanTestData.js +9 -10
  104. package/build/tests/cleanTestData.js.map +1 -1
  105. package/build/tests/constants.d.ts +8 -0
  106. package/build/tests/constants.js +28 -0
  107. package/build/tests/constants.js.map +1 -0
  108. package/package.json +94 -95
  109. package/src/__tests__/behavioral/AddingADependency.test.ts +2 -1
  110. package/src/__tests__/behavioral/DeployingASkill.test.ts +20 -20
  111. package/src/__tests__/behavioral/EnablingAndDisablingCache.test.ts +12 -12
  112. package/src/__tests__/behavioral/InstallingASkillAtAnOrg.test.ts +2 -1
  113. package/src/__tests__/behavioral/LoggingInAsASkill.test.ts +3 -2
  114. package/src/__tests__/behavioral/RebuildingASkill.test.ts +2 -2
  115. package/src/__tests__/behavioral/RegisteringEventsOnBoot.test.ts +3 -5
  116. package/src/__tests__/behavioral/RegisteringGlobalEvents.test.ts +2 -1
  117. package/src/__tests__/behavioral/RegisteringSkillViewOnBoot.test.ts +2 -1
  118. package/src/__tests__/behavioral/SettingUpASkillForTesting.test.ts +4 -3
  119. package/src/__tests__/behavioral/WatchingSkillViews.test.ts +6 -6
  120. package/src/__tests__/behavioral/events/CreatingAListener.test.ts +54 -7
  121. package/src/__tests__/behavioral/events/CreatingAnEvent.test.ts +2 -1
  122. package/src/__tests__/behavioral/node/CreatingANodeModule.test.ts +1 -1
  123. package/src/__tests__/behavioral/skill/CreatingASkill.test.ts +1 -1
  124. package/src/__tests__/behavioral/stores/CreatingADataStore.test.ts +2 -2
  125. package/src/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.ts +3 -3
  126. package/src/__tests__/behavioral/{UpdatingDependencies.test.ts → upgrading/UpdatingDependencies.test.ts} +2 -2
  127. package/src/__tests__/behavioral/{UpdatingDependencies2.test.ts → upgrading/UpdatingDependencies2.test.ts} +6 -6
  128. package/src/__tests__/behavioral/{UpgradingANodeModule.test.ts → upgrading/UpgradingANodeModule.test.ts} +7 -7
  129. package/src/__tests__/behavioral/{skill → upgrading}/UpgradingASkill.test.ts +3 -11
  130. package/src/__tests__/behavioral/{skill → upgrading}/UpgradingASkill2.test.ts +4 -7
  131. package/src/__tests__/behavioral/{skill → upgrading}/UpgradingASkill3.test.ts +6 -6
  132. package/src/__tests__/behavioral/{skill → upgrading}/UpgradingASkill4.test.ts +3 -3
  133. package/src/__tests__/behavioral/{skill → upgrading}/UpgradingASkill5.test.ts +2 -2
  134. package/src/__tests__/behavioral/{skill → upgrading}/UpgradingWithListeners.test.ts +3 -5
  135. package/src/__tests__/behavioral/{UpgradingWithSandboxFeatureInstalled.test.ts → upgrading/UpgradingWithSandboxFeatureInstalled.test.ts} +5 -5
  136. package/src/__tests__/implementation/ActionExecuter2.test.ts +1 -1
  137. package/src/__tests__/implementation/ActionExecuter4.test.ts +2 -2
  138. package/src/__tests__/implementation/EventStore.test.ts +3 -1
  139. package/src/__tests__/implementation/LintService.test.ts +2 -2
  140. package/src/__tests__/implementation/PkgService.test.ts +4 -7
  141. package/src/__tests__/implementation/StoreFeature.test.ts +1 -1
  142. package/src/cli.ts +1 -1
  143. package/src/features/event/EventFeature.ts +14 -11
  144. package/src/features/event/actions/ListenAction.ts +22 -12
  145. package/src/features/event/stores/EventStore.ts +17 -12
  146. package/src/features/store/StoreFeature.ts +6 -5
  147. package/src/services/CommandService.ts +1 -4
  148. package/src/tests/AbstractCliTest.ts +6 -1
  149. package/src/tests/CommandFaker.ts +24 -0
  150. package/src/tests/cleanTestData.ts +2 -19
  151. package/src/tests/constants.ts +17 -0
  152. package/build/__tests__/behavioral/UpdatingDependencies.test.js.map +0 -1
  153. package/build/__tests__/behavioral/UpdatingDependencies2.test.js.map +0 -1
  154. package/build/__tests__/behavioral/UpgradingANodeModule.test.js.map +0 -1
  155. package/build/__tests__/behavioral/UpgradingWithSandboxFeatureInstalled.test.js.map +0 -1
  156. package/build/__tests__/behavioral/skill/UpgradingASkill.test.js.map +0 -1
  157. package/build/__tests__/behavioral/skill/UpgradingASkill2.test.js.map +0 -1
  158. package/build/__tests__/behavioral/skill/UpgradingWithListeners.test.js.map +0 -1
@@ -14,41 +14,41 @@ export default class DeployingASkillTest extends AbstractCliTest {
14
14
 
15
15
  protected static async beforeEach() {
16
16
  await super.beforeEach()
17
- CommandService.setMockResponse('which heroku', {
17
+ CommandService.fakeCommand('which heroku', {
18
18
  code: 0,
19
19
  })
20
- CommandService.setMockResponse('grep api.heroku.com ~/.netrc', {
20
+ CommandService.fakeCommand('grep api.heroku.com ~/.netrc', {
21
21
  code: 0,
22
22
  })
23
- CommandService.setMockResponse('git status', {
23
+ CommandService.fakeCommand('git status', {
24
24
  code: 0,
25
25
  })
26
- CommandService.setMockResponse('git init', {
26
+ CommandService.fakeCommand('git init', {
27
27
  code: 0,
28
28
  stdout: 'Initialized empty Git repository in',
29
29
  })
30
30
 
31
- CommandService.setMockResponse('git ls-remote heroku', {
31
+ CommandService.fakeCommand('git ls-remote heroku', {
32
32
  code: 0,
33
33
  })
34
34
 
35
- CommandService.setMockResponse('which git', {
35
+ CommandService.fakeCommand('which git', {
36
36
  code: 0,
37
37
  })
38
38
 
39
- CommandService.setMockResponse('heroku create good-heroku-name', {
39
+ CommandService.fakeCommand('heroku create good-heroku-name', {
40
40
  code: 0,
41
41
  })
42
42
 
43
- CommandService.setMockResponse('heroku create bad-heroku-name', {
43
+ CommandService.fakeCommand('heroku create bad-heroku-name', {
44
44
  code: 1,
45
45
  })
46
46
 
47
- CommandService.setMockResponse('heroku buildpacks:set heroku/nodejs', {
47
+ CommandService.fakeCommand('heroku buildpacks:set heroku/nodejs', {
48
48
  code: 0,
49
49
  })
50
50
 
51
- CommandService.setMockResponse('git push --set-upstream heroku master', {
51
+ CommandService.fakeCommand('git push --set-upstream heroku master', {
52
52
  code: 0,
53
53
  })
54
54
 
@@ -139,7 +139,7 @@ export default class DeployingASkillTest extends AbstractCliTest {
139
139
 
140
140
  @test()
141
141
  protected static async errorsIfHerokuClientNotInstalled() {
142
- CommandService.setMockResponse('which heroku', {
142
+ CommandService.fakeCommand('which heroku', {
143
143
  code: 1,
144
144
  })
145
145
 
@@ -162,7 +162,7 @@ export default class DeployingASkillTest extends AbstractCliTest {
162
162
 
163
163
  @test()
164
164
  protected static async errorsIfGitNotInstalled() {
165
- CommandService.setMockResponse('which git', {
165
+ CommandService.fakeCommand('which git', {
166
166
  code: 1,
167
167
  })
168
168
 
@@ -185,7 +185,7 @@ export default class DeployingASkillTest extends AbstractCliTest {
185
185
 
186
186
  @test()
187
187
  protected static async errorsIfNotInGitRepo() {
188
- CommandService.setMockResponse('git status', {
188
+ CommandService.fakeCommand('git status', {
189
189
  code: 128,
190
190
  stderr:
191
191
  'fatal: not a git repository (or any of the parent directories): .git',
@@ -215,7 +215,7 @@ export default class DeployingASkillTest extends AbstractCliTest {
215
215
 
216
216
  @test()
217
217
  protected static async canCreateGitRepoIfNeeded() {
218
- CommandService.setMockResponse('git status', {
218
+ CommandService.fakeCommand('git status', {
219
219
  code: 128,
220
220
  })
221
221
 
@@ -231,7 +231,7 @@ export default class DeployingASkillTest extends AbstractCliTest {
231
231
 
232
232
  await this.waitForInput()
233
233
 
234
- CommandService.setMockResponse('git status', {
234
+ CommandService.fakeCommand('git status', {
235
235
  code: 0,
236
236
  })
237
237
 
@@ -244,7 +244,7 @@ export default class DeployingASkillTest extends AbstractCliTest {
244
244
 
245
245
  @test()
246
246
  protected static async errorsWhenNotLoggedIntoHerkou() {
247
- CommandService.setMockResponse('grep api.heroku.com ~/.netrc', {
247
+ CommandService.fakeCommand('grep api.heroku.com ~/.netrc', {
248
248
  code: 1,
249
249
  })
250
250
 
@@ -327,7 +327,7 @@ export default class DeployingASkillTest extends AbstractCliTest {
327
327
 
328
328
  @test()
329
329
  protected static async failsWhenDeclineToCreateRemoteBranch() {
330
- CommandService.setMockResponse('git ls-remote heroku', {
330
+ CommandService.fakeCommand('git ls-remote heroku', {
331
331
  code: 128,
332
332
  })
333
333
 
@@ -359,7 +359,7 @@ export default class DeployingASkillTest extends AbstractCliTest {
359
359
 
360
360
  @test()
361
361
  protected static async asksForHerokuAppName() {
362
- CommandService.setMockResponse('git ls-remote heroku', {
362
+ CommandService.fakeCommand('git ls-remote heroku', {
363
363
  code: 128,
364
364
  })
365
365
 
@@ -395,7 +395,7 @@ export default class DeployingASkillTest extends AbstractCliTest {
395
395
 
396
396
  @test()
397
397
  protected static async keepsAskingForAppNameUntilAGoodOneIsSelected() {
398
- CommandService.setMockResponse('git ls-remote heroku', {
398
+ CommandService.fakeCommand('git ls-remote heroku', {
399
399
  code: 128,
400
400
  })
401
401
  await this.FeatureFixture().installCachedFeatures('deploy')
@@ -437,7 +437,7 @@ export default class DeployingASkillTest extends AbstractCliTest {
437
437
 
438
438
  @test()
439
439
  protected static async failsWithPendingChangesToCommit() {
440
- CommandService.setMockResponse('git status', {
440
+ CommandService.fakeCommand('git status', {
441
441
  code: 0,
442
442
  stdout: 'Changes not staged for commit',
443
443
  })
@@ -21,7 +21,7 @@ export default class EnablingAndDisablingCacheTest extends AbstractCliTest {
21
21
 
22
22
  @test()
23
23
  protected static async returnsErrorWhenEnablingIfDockerIsNotInstalled() {
24
- CommandService.setMockResponse(/which docker/gis, {
24
+ CommandService.fakeCommand(/which docker/gis, {
25
25
  code: 1,
26
26
  })
27
27
 
@@ -39,7 +39,7 @@ export default class EnablingAndDisablingCacheTest extends AbstractCliTest {
39
39
 
40
40
  @test()
41
41
  protected static async returnsErrorWhenDockerNotEnabled() {
42
- CommandService.setMockResponse(/npm config/gis, {
42
+ CommandService.fakeCommand(/npm config/gis, {
43
43
  code: 1,
44
44
  })
45
45
 
@@ -51,13 +51,13 @@ export default class EnablingAndDisablingCacheTest extends AbstractCliTest {
51
51
 
52
52
  @test()
53
53
  protected static async canEnableCache() {
54
- CommandService.setMockResponse(/which docker/gis, {
54
+ CommandService.fakeCommand(/which docker/gis, {
55
55
  code: 0,
56
56
  })
57
- CommandService.setMockResponse(ENABLE_NPM_CACHE_COMMAND, {
57
+ CommandService.fakeCommand(ENABLE_NPM_CACHE_COMMAND, {
58
58
  code: 0,
59
59
  })
60
- CommandService.setMockResponse(DISABLE_NPM_CACHE_COMMAND, {
60
+ CommandService.fakeCommand(DISABLE_NPM_CACHE_COMMAND, {
61
61
  code: 0,
62
62
  })
63
63
 
@@ -72,7 +72,7 @@ export default class EnablingAndDisablingCacheTest extends AbstractCliTest {
72
72
 
73
73
  @test()
74
74
  protected static async returnsErrorWhenDisablingIfDockerIsNotInstalled() {
75
- CommandService.setMockResponse(/which docker/gis, {
75
+ CommandService.fakeCommand(/which docker/gis, {
76
76
  code: 1,
77
77
  })
78
78
 
@@ -90,10 +90,10 @@ export default class EnablingAndDisablingCacheTest extends AbstractCliTest {
90
90
 
91
91
  @test()
92
92
  protected static async returnsErrorWhenDisablingIfDockerIsNotStarted() {
93
- CommandService.setMockResponse(/which docker/gis, {
93
+ CommandService.fakeCommand(/which docker/gis, {
94
94
  code: 0,
95
95
  })
96
- CommandService.setMockResponse(/npm config/gis, {
96
+ CommandService.fakeCommand(/npm config/gis, {
97
97
  code: 1,
98
98
  })
99
99
 
@@ -111,7 +111,7 @@ export default class EnablingAndDisablingCacheTest extends AbstractCliTest {
111
111
 
112
112
  @test()
113
113
  protected static async returnsErrorIfCacheIsNotInstalled() {
114
- CommandService.setMockResponse(/npm config/gis, {
114
+ CommandService.fakeCommand(/npm config/gis, {
115
115
  code: 1,
116
116
  stderr: 'tsanoehusnatohu snatoh No such container staoheu saotnhu ',
117
117
  })
@@ -124,13 +124,13 @@ export default class EnablingAndDisablingCacheTest extends AbstractCliTest {
124
124
 
125
125
  @test()
126
126
  protected static async canEnableCacheMultipleTimes() {
127
- CommandService.setMockResponse(/which docker/gis, {
127
+ CommandService.fakeCommand(/which docker/gis, {
128
128
  code: 0,
129
129
  })
130
- CommandService.setMockResponse(DISABLE_NPM_CACHE_COMMAND, {
130
+ CommandService.fakeCommand(DISABLE_NPM_CACHE_COMMAND, {
131
131
  code: 0,
132
132
  })
133
- CommandService.setMockResponse(ENABLE_NPM_CACHE_COMMAND, {
133
+ CommandService.fakeCommand(ENABLE_NPM_CACHE_COMMAND, {
134
134
  code: 0,
135
135
  })
136
136
 
@@ -2,6 +2,7 @@ import { eventAssertUtil } from '@sprucelabs/spruce-event-utils'
2
2
  import { test, assert, assertUtil } from '@sprucelabs/test'
3
3
  import { errorAssert } from '@sprucelabs/test-utils'
4
4
  import AbstractCliTest from '../../tests/AbstractCliTest'
5
+ import { DEMO_NUMBER_INSTALL_SKILL } from '../../tests/constants'
5
6
 
6
7
  export default class InstallingASkillAtAnOrgTest extends AbstractCliTest {
7
8
  protected static async beforeEach() {
@@ -145,6 +146,6 @@ export default class InstallingASkillAtAnOrgTest extends AbstractCliTest {
145
146
  }
146
147
 
147
148
  private static async login() {
148
- await this.people.loginAsDemoPerson(process.env.DEMO_NUMBER_INSTALL_SKILL)
149
+ await this.people.loginAsDemoPerson(DEMO_NUMBER_INSTALL_SKILL)
149
150
  }
150
151
  }
@@ -1,6 +1,7 @@
1
1
  import { test, assert } from '@sprucelabs/test'
2
2
  import { errorAssert } from '@sprucelabs/test-utils'
3
3
  import AbstractSkillTest from '../../tests/AbstractSkillTest'
4
+ import { DEMO_NUMBER_LOGIN_AS_SKILL } from '../../tests/constants'
4
5
  import { RegisteredSkill } from '../../types/cli.types'
5
6
 
6
7
  export default class LoggingInAsASkillTest extends AbstractSkillTest {
@@ -12,7 +13,7 @@ export default class LoggingInAsASkillTest extends AbstractSkillTest {
12
13
  protected static async beforeAll() {
13
14
  await super.beforeAll()
14
15
 
15
- await this.people.loginAsDemoPerson(process.env.DEMO_NUMBER_LOGIN_AS_SKILL)
16
+ await this.people.loginAsDemoPerson(DEMO_NUMBER_LOGIN_AS_SKILL)
16
17
 
17
18
  const skillFixture = this.getSkillFixture()
18
19
  await skillFixture.clearAllSkills()
@@ -49,7 +50,7 @@ export default class LoggingInAsASkillTest extends AbstractSkillTest {
49
50
 
50
51
  private static async login() {
51
52
  const person = await this.people.loginAsDemoPerson(
52
- process.env.DEMO_NUMBER_LOGIN_AS_SKILL
53
+ DEMO_NUMBER_LOGIN_AS_SKILL
53
54
  )
54
55
 
55
56
  this.Service('auth').setLoggedInPerson(person)
@@ -13,7 +13,7 @@ export default class RebuildingASkillTest extends AbstractSkillTest {
13
13
 
14
14
  @test()
15
15
  protected static async runsExpectedCommand() {
16
- CommandService.setMockResponse('yarn rebuild', { code: 0 })
16
+ CommandService.fakeCommand('yarn rebuild', { code: 0 })
17
17
 
18
18
  const results = await this.Action('skill', 'rebuild').execute({
19
19
  shouldPlayGames: false,
@@ -24,7 +24,7 @@ export default class RebuildingASkillTest extends AbstractSkillTest {
24
24
 
25
25
  @test()
26
26
  protected static async handlesError() {
27
- CommandService.setMockResponse('yarn rebuild', { code: 1 })
27
+ CommandService.fakeCommand('yarn rebuild', { code: 1 })
28
28
 
29
29
  const results = await this.Action('skill', 'rebuild').execute({
30
30
  shouldPlayGames: false,
@@ -5,6 +5,7 @@ import {
5
5
  import { namesUtil, versionUtil } from '@sprucelabs/spruce-skill-utils'
6
6
  import { test, assert } from '@sprucelabs/test'
7
7
  import AbstractEventTest from '../../tests/AbstractEventTest'
8
+ import { DEMO_NUMBER_EVENTS_ON_BOOT } from '../../tests/constants'
8
9
 
9
10
  const EVENT_NAME_READABLE = 'did book appointment'
10
11
  const EVENT_NAME = 'did-book-appointment'
@@ -13,8 +14,7 @@ const EVENT_CAMEL = 'didBookAppointment'
13
14
  export default class RegisteringEventsOnBootTest extends AbstractEventTest {
14
15
  protected static async beforeEach() {
15
16
  await super.beforeEach()
16
-
17
- await this.people.loginAsDemoPerson(process.env.DEMO_NUMBER_EVENTS_ON_BOOT)
17
+ await this.people.loginAsDemoPerson(DEMO_NUMBER_EVENTS_ON_BOOT)
18
18
  }
19
19
 
20
20
  @test()
@@ -39,12 +39,10 @@ export default class RegisteringEventsOnBootTest extends AbstractEventTest {
39
39
  apiKey: skill2.apiKey,
40
40
  })
41
41
 
42
- const contractResults = await this.Store('event', {
42
+ const { contracts } = await this.Store('event', {
43
43
  apiClientFactory: async () => client,
44
44
  }).fetchEventContracts()
45
45
 
46
- const contracts = contractResults.contracts
47
-
48
46
  boot.meta?.kill()
49
47
 
50
48
  const version = versionUtil.generateVersion().constValue
@@ -2,6 +2,7 @@ import { versionUtil } from '@sprucelabs/spruce-skill-utils'
2
2
  import { test, assert } from '@sprucelabs/test'
3
3
  import dotenv from 'dotenv'
4
4
  import AbstractSkillTest from '../../tests/AbstractSkillTest'
5
+ import { DEMO_NUMBER_GLOBAL_EVENTS } from '../../tests/constants'
5
6
  import testUtil from '../../tests/utilities/test.utility'
6
7
  import { RegisteredSkill } from '../../types/cli.types'
7
8
  dotenv.config()
@@ -18,7 +19,7 @@ export default class RegisteringGlobalEventsTest extends AbstractSkillTest {
18
19
  protected static async beforeAll() {
19
20
  await super.beforeAll()
20
21
 
21
- await this.people.loginAsDemoPerson(process.env.DEMO_NUMBER_GLOBAL_EVENTS)
22
+ await this.people.loginAsDemoPerson(DEMO_NUMBER_GLOBAL_EVENTS)
22
23
 
23
24
  await this.resetAccount()
24
25
 
@@ -1,5 +1,6 @@
1
1
  import { test, assert } from '@sprucelabs/test'
2
2
  import AbstractSkillTest from '../../tests/AbstractSkillTest'
3
+ import { DEMO_NUMBER_VIEWS_ON_BOOT } from '../../tests/constants'
3
4
 
4
5
  export default class RegisteringSkillViewOnBootTest extends AbstractSkillTest {
5
6
  protected static skillCacheKey = 'views'
@@ -50,7 +51,7 @@ export default class RegisteringSkillViewOnBootTest extends AbstractSkillTest {
50
51
  }
51
52
 
52
53
  protected static async registerCurrentSkillAndInstallToOrg() {
53
- await this.people.loginAsDemoPerson(process.env.DEMO_NUMBER_VIEWS_ON_BOOT)
54
+ await this.people.loginAsDemoPerson(DEMO_NUMBER_VIEWS_ON_BOOT)
54
55
  const skillFixture = this.getSkillFixture()
55
56
  const orgFixture = this.getOrganizationFixture()
56
57
 
@@ -1,5 +1,6 @@
1
1
  import { test, assert } from '@sprucelabs/test'
2
2
  import AbstractSkillTest from '../../tests/AbstractSkillTest'
3
+ import { DEMO_NUMBER } from '../../tests/constants'
3
4
 
4
5
  export default class SettingUpASkillForTestingTest extends AbstractSkillTest {
5
6
  protected static skillCacheKey = 'tests'
@@ -13,7 +14,7 @@ export default class SettingUpASkillForTestingTest extends AbstractSkillTest {
13
14
  @test()
14
15
  protected static async logsInAsDemoPerson() {
15
16
  const results = await this.Action('test', 'setup').execute({
16
- demoNumber: process.env.DEMO_NUMBER,
17
+ demoNumber: DEMO_NUMBER,
17
18
  skillSlug: this.skillSlug,
18
19
  })
19
20
 
@@ -36,7 +37,7 @@ export default class SettingUpASkillForTestingTest extends AbstractSkillTest {
36
37
  @test()
37
38
  protected static async canRunAgainWithoutError() {
38
39
  const results = await this.Action('test', 'setup').execute({
39
- demoNumber: process.env.DEMO_NUMBER,
40
+ demoNumber: DEMO_NUMBER,
40
41
  skillSlug: this.skillSlug,
41
42
  })
42
43
 
@@ -55,7 +56,7 @@ export default class SettingUpASkillForTestingTest extends AbstractSkillTest {
55
56
  auth.updateCurrentSkill({ fail: true })
56
57
 
57
58
  const results = await this.Action('test', 'setup').execute({
58
- demoNumber: process.env.DEMO_NUMBER,
59
+ demoNumber: DEMO_NUMBER,
59
60
  skillSlug: this.skillSlug,
60
61
  })
61
62
 
@@ -31,7 +31,7 @@ export default class WatchingSkillViewsTest extends AbstractSkillTest {
31
31
  protected static async shouldCallBoot() {
32
32
  let wasHit = false
33
33
 
34
- CommandService.setMockResponse(/yarn boot/gis, {
34
+ CommandService.fakeCommand(/yarn boot/gis, {
35
35
  code: 0,
36
36
  callback: () => {
37
37
  wasHit = true
@@ -49,7 +49,7 @@ export default class WatchingSkillViewsTest extends AbstractSkillTest {
49
49
  @test()
50
50
  protected static async shouldCallBootAgainOnFileChange() {
51
51
  let hitCount = 0
52
- CommandService.setMockResponse(/yarn boot/gis, {
52
+ CommandService.fakeCommand(/yarn boot/gis, {
53
53
  code: 0,
54
54
  callback: () => {
55
55
  hitCount++
@@ -72,7 +72,7 @@ export default class WatchingSkillViewsTest extends AbstractSkillTest {
72
72
 
73
73
  @test()
74
74
  protected static async changesDuringBootOfSkillKillSkill() {
75
- CommandService.setMockResponse(/yarn boot/gis, {
75
+ CommandService.fakeCommand(/yarn boot/gis, {
76
76
  code: 0,
77
77
  })
78
78
 
@@ -96,7 +96,7 @@ export default class WatchingSkillViewsTest extends AbstractSkillTest {
96
96
 
97
97
  @test()
98
98
  protected static async holdsOnAction() {
99
- CommandService.setMockResponse(/yarn boot/gis, {
99
+ CommandService.fakeCommand(/yarn boot/gis, {
100
100
  code: 0,
101
101
  })
102
102
 
@@ -121,7 +121,7 @@ export default class WatchingSkillViewsTest extends AbstractSkillTest {
121
121
 
122
122
  @test()
123
123
  protected static async canKillAction() {
124
- CommandService.setMockResponse(/yarn boot/gis, {
124
+ CommandService.fakeCommand(/yarn boot/gis, {
125
125
  code: 0,
126
126
  })
127
127
 
@@ -151,7 +151,7 @@ export default class WatchingSkillViewsTest extends AbstractSkillTest {
151
151
 
152
152
  @test()
153
153
  protected static async makeSureWatcherIsStartedAndStopped() {
154
- CommandService.setMockResponse(/yarn boot/gis, {
154
+ CommandService.fakeCommand(/yarn boot/gis, {
155
155
  code: 0,
156
156
  })
157
157
 
@@ -1,3 +1,5 @@
1
+ import { MercuryClientFactory } from '@sprucelabs/mercury-client'
2
+ import { coreEventContracts } from '@sprucelabs/mercury-core-events'
1
3
  import { EventSignature } from '@sprucelabs/mercury-types'
2
4
  import { buildSchema } from '@sprucelabs/schema'
3
5
  import {
@@ -11,19 +13,28 @@ import {
11
13
  MERCURY_API_NAMESPACE,
12
14
  versionUtil,
13
15
  } from '@sprucelabs/spruce-skill-utils'
16
+ import { eventFaker } from '@sprucelabs/spruce-test-fixtures'
14
17
  import { test, assert } from '@sprucelabs/test'
15
18
  import { errorAssert } from '@sprucelabs/test-utils'
19
+ import ListenAction from '../../../features/event/actions/ListenAction'
16
20
  import AbstractEventTest from '../../../tests/AbstractEventTest'
17
21
  import testUtil from '../../../tests/utilities/test.utility'
18
22
 
19
23
  export default class CreatingAListenerTest extends AbstractEventTest {
20
24
  private static readonly expectedVersion =
21
25
  versionUtil.generateVersion().constValue
26
+ private static listen: ListenAction
27
+
28
+ protected static async beforeEach() {
29
+ await super.beforeEach()
30
+ this.listen = this.Action('event', 'listen')
31
+ }
22
32
 
23
33
  @test()
24
34
  protected static async throwsWithBadNamespace() {
25
35
  await this.installEventFeature('events')
26
- const results = await this.Action('event', 'listen').execute({
36
+
37
+ const results = await this.listen.execute({
27
38
  namespace: 'taco-bell',
28
39
  })
29
40
 
@@ -38,7 +49,7 @@ export default class CreatingAListenerTest extends AbstractEventTest {
38
49
  @test()
39
50
  protected static async throwsWithBadEventName() {
40
51
  await this.installEventFeature('events')
41
- const results = await this.Action('event', 'listen').execute({
52
+ const results = await this.listen.execute({
42
53
  namespace: 'heartwood',
43
54
  eventName: 'bad-time',
44
55
  })
@@ -96,9 +107,7 @@ export default class CreatingAListenerTest extends AbstractEventTest {
96
107
  protected static async creatingANewListenerAsksWhichEventToListenTo() {
97
108
  await this.installEventFeature('events')
98
109
 
99
- void this.Action('event', 'listen').execute({})
100
-
101
- await this.waitForInput()
110
+ await this.executeAndWaitForInput()
102
111
 
103
112
  let lastInvocation = this.ui.getLastInvocation()
104
113
 
@@ -116,6 +125,44 @@ export default class CreatingAListenerTest extends AbstractEventTest {
116
125
  this.ui.reset()
117
126
  }
118
127
 
128
+ private static async executeAndWaitForInput() {
129
+ void this.listen.execute({})
130
+ await this.waitForInput()
131
+ }
132
+
133
+ @test()
134
+ protected static async loadsContractsFilteringByDependencies() {
135
+ await this.installEventFeature('events')
136
+ MercuryClientFactory.setIsTestMode(true)
137
+
138
+ let passedTarget: any
139
+ await eventFaker.on('get-event-contracts::v2020_12_25', ({ target }) => {
140
+ passedTarget = target
141
+ return {
142
+ contracts: [...(coreEventContracts as any)],
143
+ }
144
+ })
145
+
146
+ const namespace = 'waka'
147
+ this.addDependency(namespace)
148
+
149
+ await this.executeAndWaitForInput()
150
+
151
+ assert.isEqualDeep(passedTarget, {
152
+ namespaces: [namespace],
153
+ })
154
+
155
+ this.ui.reset()
156
+ }
157
+
158
+ private static addDependency(namespace: string) {
159
+ const dependencies = this.Service('dependency')
160
+ dependencies.add({
161
+ id: namespace,
162
+ namespace: 'waka',
163
+ })
164
+ }
165
+
119
166
  @test()
120
167
  protected static async generatesTypedListenerWithoutPayloads() {
121
168
  const { contents } =
@@ -290,7 +337,7 @@ export default class CreatingAListenerTest extends AbstractEventTest {
290
337
 
291
338
  const version = 'v2020_01_01'
292
339
 
293
- const results = await this.Action('event', 'listen').execute({
340
+ const results = await this.listen.execute({
294
341
  namespace: 'skill',
295
342
  eventName: 'will-boot',
296
343
  version,
@@ -321,7 +368,7 @@ export default class CreatingAListenerTest extends AbstractEventTest {
321
368
  namespace: skill2.slug,
322
369
  })
323
370
 
324
- const results = await this.Action('event', 'listen').execute({
371
+ const results = await this.listen.execute({
325
372
  namespace: skill2.slug,
326
373
  eventName: `my-new-event`,
327
374
  version: expectedVersion,
@@ -9,6 +9,7 @@ import { errorAssert } from '@sprucelabs/test-utils'
9
9
  import { CliInterface } from '../../../cli'
10
10
  import { FeatureActionResponse } from '../../../features/features.types'
11
11
  import AbstractEventTest from '../../../tests/AbstractEventTest'
12
+ import { DEMO_NUMBER_CREATING_AN_EVENT } from '../../../tests/constants'
12
13
  import testUtil from '../../../tests/utilities/test.utility'
13
14
  import uiAssert from '../../../tests/utilities/uiAssert.utility'
14
15
  import { RegisteredSkill } from '../../../types/cli.types'
@@ -186,7 +187,7 @@ export default createFormEmitPayloadBuilder
186
187
  name: 'my new skill',
187
188
  },
188
189
  {
189
- phone: process.env.DEMO_NUMBER_CREATING_AN_EVENT,
190
+ phone: DEMO_NUMBER_CREATING_AN_EVENT,
190
191
  }
191
192
  )
192
193
  }
@@ -12,7 +12,7 @@ export default class CreatingANodeModuleTest extends AbstractCliTest {
12
12
 
13
13
  @test()
14
14
  protected static async canCreateAtDestination() {
15
- CommandService.setMockResponse(new RegExp(/yarn add/gis), {
15
+ CommandService.fakeCommand(new RegExp(/yarn add/gis), {
16
16
  code: 0,
17
17
  })
18
18
  const promise = this.Action('node', 'create', {
@@ -6,7 +6,7 @@ import testUtil from '../../../tests/utilities/test.utility'
6
6
  export default class CreatingASkillTest extends AbstractCliTest {
7
7
  protected static async beforeEach() {
8
8
  await super.beforeEach()
9
- CommandService.setMockResponse(new RegExp(/npm.*?install .*?/gis), {
9
+ CommandService.fakeCommand(new RegExp(/npm.*?install .*?/gis), {
10
10
  code: 0,
11
11
  })
12
12
  }
@@ -153,11 +153,11 @@ export default class CreatingDataStoresTest extends AbstractSkillTest {
153
153
 
154
154
  @test()
155
155
  protected static async upgradeRestoresDataStoreTypes() {
156
- CommandService.setMockResponse('yarn rebuild', {
156
+ CommandService.fakeCommand('yarn rebuild', {
157
157
  code: 0,
158
158
  })
159
159
 
160
- CommandService.setMockResponse(/yarn add/gis, {
160
+ CommandService.fakeCommand(/yarn add/gis, {
161
161
  code: 0,
162
162
  })
163
163
 
@@ -113,7 +113,7 @@ export default class SelectingAnAbstractTestClassTest extends AbstractTestTest {
113
113
 
114
114
  @test()
115
115
  protected static async installingAFeatureRemovesLabelFromName() {
116
- CommandService.setMockResponse(new RegExp(/npm.*?install .*?/gis), {
116
+ CommandService.fakeCommand(new RegExp(/npm.*?install .*?/gis), {
117
117
  code: 0,
118
118
  })
119
119
 
@@ -142,8 +142,8 @@ export default class SelectingAnAbstractTestClassTest extends AbstractTestTest {
142
142
  }
143
143
 
144
144
  @test()
145
- protected static async selectingUninistalledTestInstallsTheFeature() {
146
- CommandService.setMockResponse(new RegExp(/npm.*?install .*?/gis), {
145
+ protected static async selectingUninstalledTestInstallsTheFeature() {
146
+ CommandService.fakeCommand(new RegExp(/npm.*?install .*?/gis), {
147
147
  code: 0,
148
148
  })
149
149
 
@@ -1,7 +1,7 @@
1
1
  import { diskUtil } from '@sprucelabs/spruce-skill-utils'
2
2
  import { test, assert } from '@sprucelabs/test'
3
- import UpdateDependenciesAction from '../../features/node/actions/UpdateDependenciesAction'
4
- import AbstractSkillTest from '../../tests/AbstractSkillTest'
3
+ import UpdateDependenciesAction from '../../../features/node/actions/UpdateDependenciesAction'
4
+ import AbstractSkillTest from '../../../tests/AbstractSkillTest'
5
5
 
6
6
  export default class UpdatingDependenciesTest extends AbstractSkillTest {
7
7
  protected static skillCacheKey = 'node'
@@ -1,9 +1,9 @@
1
1
  import { test, assert } from '@sprucelabs/test'
2
2
  import { random, uniq } from 'lodash'
3
- import UpdateDependenciesAction from '../../features/node/actions/UpdateDependenciesAction'
4
- import CommandService from '../../services/CommandService'
5
- import AbstractCliTest from '../../tests/AbstractCliTest'
6
- import { NpmPackage } from '../../types/cli.types'
3
+ import UpdateDependenciesAction from '../../../features/node/actions/UpdateDependenciesAction'
4
+ import CommandService from '../../../services/CommandService'
5
+ import AbstractCliTest from '../../../tests/AbstractCliTest'
6
+ import { NpmPackage } from '../../../types/cli.types'
7
7
 
8
8
  export default class UpdateDependencies2Test extends AbstractCliTest {
9
9
  private static action: UpdateDependenciesAction
@@ -27,7 +27,7 @@ export default class UpdateDependencies2Test extends AbstractCliTest {
27
27
 
28
28
  const passedArgs: string[] = []
29
29
 
30
- CommandService.setMockResponse(/(npm|yarn).*?(install|add)/, {
30
+ CommandService.fakeCommand(/(npm|yarn).*?(install|add)/, {
31
31
  code: 0,
32
32
  callback: (_, args) => {
33
33
  passedArgs.push(...args)
@@ -51,7 +51,7 @@ export default class UpdateDependencies2Test extends AbstractCliTest {
51
51
 
52
52
  let passedArgs: any[] = []
53
53
 
54
- CommandService.setMockResponse(/(npm|yarn).*?(install|add)/, {
54
+ CommandService.fakeCommand(/(npm|yarn).*?(install|add)/, {
55
55
  code: 0,
56
56
  callback: (_, args) => {
57
57
  passedArgs.push(args)