@sprucelabs/spruce-cli 18.0.0 → 18.1.1
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.
- package/CHANGELOG.md +10 -0
- package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js +1 -1
- package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js.map +1 -1
- package/build/__tests__/behavioral/RememberingUpgradeSelections.test.js +1 -1
- package/build/__tests__/behavioral/RememberingUpgradeSelections.test.js.map +1 -1
- package/build/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.js +4 -4
- package/build/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.js.map +1 -1
- package/build/__tests__/behavioral/WatchingSkillViews.test.js +3 -3
- package/build/__tests__/behavioral/WatchingSkillViews.test.js.map +1 -1
- package/build/__tests__/behavioral/errors/SettingUpErrors.test.js +1 -1
- package/build/__tests__/behavioral/errors/SettingUpErrors.test.js.map +1 -1
- package/build/__tests__/behavioral/events/CreatingAListener.test.d.ts +2 -0
- package/build/__tests__/behavioral/events/CreatingAListener.test.js +118 -59
- package/build/__tests__/behavioral/events/CreatingAListener.test.js.map +1 -1
- package/build/__tests__/behavioral/events/EverythingInstalledInstaller.d.ts +17 -0
- package/build/__tests__/behavioral/events/EverythingInstalledInstaller.js +137 -0
- package/build/__tests__/behavioral/events/EverythingInstalledInstaller.js.map +1 -0
- package/build/__tests__/behavioral/onboard/StartingOnboarding.test.js +46 -45
- package/build/__tests__/behavioral/onboard/StartingOnboarding.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/CreatingATest.test.js +1 -1
- package/build/__tests__/behavioral/tests/CreatingATest.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js +4 -4
- package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js +2 -2
- package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js +2 -2
- package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingASkill5.test.js +2 -2
- package/build/__tests__/behavioral/upgrading/UpgradingASkill5.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingWithListeners.test.js +2 -2
- package/build/__tests__/behavioral/upgrading/UpgradingWithListeners.test.js.map +1 -1
- package/build/__tests__/behavioral/views/CreatingASkillView.test.js +1 -1
- package/build/__tests__/behavioral/views/CreatingASkillView.test.js.map +1 -1
- package/build/__tests__/behavioral/views/CreatingATheme.test.js +1 -1
- package/build/__tests__/behavioral/views/CreatingATheme.test.js.map +1 -1
- package/build/__tests__/behavioral/watchers/WatchingForChanges.test.d.ts +3 -3
- package/build/__tests__/behavioral/watchers/WatchingForChanges.test.js +153 -156
- package/build/__tests__/behavioral/watchers/WatchingForChanges.test.js.map +1 -1
- package/build/__tests__/implementation/ActionExecuter.test.js +2 -2
- package/build/__tests__/implementation/ActionExecuter.test.js.map +1 -1
- package/build/__tests__/implementation/ActionExecuter2.test.js +1 -1
- package/build/__tests__/implementation/ActionExecuter2.test.js.map +1 -1
- package/build/__tests__/implementation/ActionExecuter4.test.js +1 -1
- package/build/__tests__/implementation/ActionExecuter4.test.js.map +1 -1
- package/build/__tests__/implementation/FeatureInstaller.test.js +8 -4
- package/build/__tests__/implementation/FeatureInstaller.test.js.map +1 -1
- package/build/__tests__/implementation/GlobalEmitter.d.ts +1 -1
- package/build/__tests__/implementation/GlobalEmitter.js +9 -10
- package/build/__tests__/implementation/GlobalEmitter.js.map +1 -1
- package/build/__tests__/implementation/SettingUpANodeModule.test.js +1 -1
- package/build/__tests__/implementation/SettingUpANodeModule.test.js.map +1 -1
- package/build/__tests__/implementation/SkillStore.test.d.ts +3 -1
- package/build/__tests__/implementation/SkillStore.test.js +67 -50
- package/build/__tests__/implementation/SkillStore.test.js.map +1 -1
- package/build/__tests__/implementation/StoreFeature.test.js +1 -1
- package/build/__tests__/implementation/StoreFeature.test.js.map +1 -1
- package/build/cli.js +3 -3
- package/build/cli.js.map +1 -1
- package/build/features/AbstractAction.d.ts +2 -2
- package/build/features/AbstractAction.js.map +1 -1
- package/build/features/AbstractFeature.d.ts +22 -22
- package/build/features/AbstractFeature.js.map +1 -1
- package/build/features/ActionExecuter.d.ts +8 -8
- package/build/features/ActionExecuter.js.map +1 -1
- package/build/features/FeatureInstaller.d.ts +15 -2
- package/build/features/FeatureInstaller.js +36 -36
- package/build/features/FeatureInstaller.js.map +1 -1
- package/build/features/FeatureInstallerFactory.d.ts +12 -10
- package/build/features/FeatureInstallerFactory.js +2 -2
- package/build/features/FeatureInstallerFactory.js.map +1 -1
- package/build/features/OverrideActionDecorator.js +4 -5
- package/build/features/OverrideActionDecorator.js.map +1 -1
- package/build/features/event/actions/ListenAction.js.map +1 -1
- package/build/features/event/actions/SetRemoteAction.d.ts +1 -0
- package/build/features/event/actions/SetRemoteAction.js +2 -1
- package/build/features/event/actions/SetRemoteAction.js.map +1 -1
- package/build/features/event/actions/SyncListenersAction.js.map +1 -1
- package/build/features/node/NodeFeature.js.map +1 -1
- package/build/features/skill/SkillFeature.js.map +1 -1
- package/build/features/skill/stores/SkillStore.d.ts +4 -1
- package/build/features/skill/stores/SkillStore.js +127 -100
- package/build/features/skill/stores/SkillStore.js.map +1 -1
- package/build/features/watch/WatchFeature.js +1 -1
- package/build/features/watch/WatchFeature.js.map +1 -1
- package/build/interfaces/SpyInterface.d.ts +2 -0
- package/build/interfaces/SpyInterface.js +16 -4
- package/build/interfaces/SpyInterface.js.map +1 -1
- package/build/stores/AbstractStore.d.ts +9 -7
- package/build/stores/AbstractStore.js.map +1 -1
- package/build/stores/StoreFactory.d.ts +19 -13
- package/build/stores/StoreFactory.js +15 -13
- package/build/stores/StoreFactory.js.map +1 -1
- package/build/tests/AbstractCliTest.d.ts +9 -6
- package/build/tests/AbstractCliTest.js +53 -45
- package/build/tests/AbstractCliTest.js.map +1 -1
- package/build/tests/AbstractSchemaTest.js +18 -20
- package/build/tests/AbstractSchemaTest.js.map +1 -1
- package/build/utilities/action.utility.js +3 -1
- package/build/utilities/action.utility.js.map +1 -1
- package/node_modules/@typescript-eslint/parser/package.json +5 -5
- package/node_modules/@typescript-eslint/scope-manager/package.json +5 -5
- package/node_modules/@typescript-eslint/types/package.json +2 -2
- package/node_modules/@typescript-eslint/typescript-estree/package.json +5 -5
- package/node_modules/@typescript-eslint/visitor-keys/package.json +3 -3
- package/package.json +32 -90
- package/src/__tests__/behavioral/EnablingAndDisablingCache.test.ts +1 -1
- package/src/__tests__/behavioral/RememberingUpgradeSelections.test.ts +1 -1
- package/src/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.ts +4 -4
- package/src/__tests__/behavioral/WatchingSkillViews.test.ts +3 -3
- package/src/__tests__/behavioral/errors/SettingUpErrors.test.ts +1 -1
- package/src/__tests__/behavioral/events/CreatingAListener.test.ts +41 -14
- package/src/__tests__/behavioral/events/EverythingInstalledInstaller.ts +46 -0
- package/src/__tests__/behavioral/onboard/StartingOnboarding.test.ts +10 -5
- package/src/__tests__/behavioral/tests/CreatingATest.test.ts +1 -1
- package/src/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.ts +4 -4
- package/src/__tests__/behavioral/upgrading/UpdatingDependencies2.test.ts +2 -2
- package/src/__tests__/behavioral/upgrading/UpgradingANodeModule.test.ts +2 -2
- package/src/__tests__/behavioral/upgrading/UpgradingASkill5.test.ts +2 -2
- package/src/__tests__/behavioral/upgrading/UpgradingWithListeners.test.ts +2 -2
- package/src/__tests__/behavioral/views/CreatingASkillView.test.ts +1 -1
- package/src/__tests__/behavioral/views/CreatingATheme.test.ts +1 -1
- package/src/__tests__/behavioral/watchers/WatchingForChanges.test.ts +35 -35
- package/src/__tests__/implementation/ActionExecuter.test.ts +2 -2
- package/src/__tests__/implementation/ActionExecuter2.test.ts +1 -1
- package/src/__tests__/implementation/ActionExecuter4.test.ts +1 -1
- package/src/__tests__/implementation/FeatureInstaller.test.ts +8 -1
- package/src/__tests__/implementation/GlobalEmitter.ts +2 -4
- package/src/__tests__/implementation/SettingUpANodeModule.test.ts +1 -1
- package/src/__tests__/implementation/SkillStore.test.ts +23 -24
- package/src/__tests__/implementation/StoreFeature.test.ts +1 -1
- package/src/cli.ts +7 -3
- package/src/features/AbstractAction.ts +3 -3
- package/src/features/AbstractFeature.ts +26 -26
- package/src/features/ActionExecuter.ts +9 -9
- package/src/features/FeatureInstaller.ts +32 -12
- package/src/features/FeatureInstallerFactory.ts +17 -13
- package/src/features/OverrideActionDecorator.ts +2 -5
- package/src/features/event/actions/ListenAction.ts +1 -0
- package/src/features/event/actions/SetRemoteAction.ts +2 -1
- package/src/features/event/actions/SyncListenersAction.ts +0 -1
- package/src/features/node/NodeFeature.ts +3 -1
- package/src/features/skill/SkillFeature.ts +3 -3
- package/src/features/skill/stores/SkillStore.ts +18 -11
- package/src/features/watch/WatchFeature.ts +1 -1
- package/src/interfaces/SpyInterface.ts +10 -0
- package/src/stores/AbstractStore.ts +14 -8
- package/src/stores/StoreFactory.ts +56 -44
- package/src/tests/AbstractCliTest.ts +53 -45
- package/src/tests/AbstractSchemaTest.ts +1 -3
- package/src/utilities/action.utility.ts +3 -1
- package/.DS_Store +0 -0
- package/.env +0 -25
- package/.eslintcache +0 -1
- package/build/.spruce/tmp/cached-skills.json +0 -3
- package/junit.xml +0 -7
- package/src/.DS_Store +0 -0
- package/src/.spruce/tmp/cached-skills.json +0 -3
- package/yarn-error.log +0 -12174
|
@@ -26,10 +26,10 @@ var _testUtils = require("@sprucelabs/test-utils");
|
|
|
26
26
|
var _ListenAction = require("../../../features/event/actions/ListenAction");
|
|
27
27
|
var _AbstractEventTest2 = _interopRequireDefault(require("../../../tests/AbstractEventTest"));
|
|
28
28
|
var _test = _interopRequireDefault(require("../../../tests/utilities/test.utility"));
|
|
29
|
-
var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _class, _class2;
|
|
29
|
+
var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _class, _class2;
|
|
30
30
|
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); }; }
|
|
31
31
|
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; } }
|
|
32
|
-
var CreatingAListenerTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUtils.test)(), _dec3 = (0, _testUtils.test)(), _dec4 = (0, _testUtils.test)(), _dec5 = (0, _testUtils.test)(), _dec6 = (0, _testUtils.test)(), _dec7 = (0, _testUtils.test)(), _dec8 = (0, _testUtils.test)(), _dec9 = (0, _testUtils.test)(), _dec10 = (0, _testUtils.test)(), (_class = (_class2 = /*#__PURE__*/function (_AbstractEventTest) {
|
|
32
|
+
var CreatingAListenerTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUtils.test)(), _dec3 = (0, _testUtils.test)(), _dec4 = (0, _testUtils.test)(), _dec5 = (0, _testUtils.test)(), _dec6 = (0, _testUtils.test)(), _dec7 = (0, _testUtils.test)(), _dec8 = (0, _testUtils.test)(), _dec9 = (0, _testUtils.test)(), _dec10 = (0, _testUtils.test)(), _dec11 = (0, _testUtils.test)(), (_class = (_class2 = /*#__PURE__*/function (_AbstractEventTest) {
|
|
33
33
|
(0, _inherits2["default"])(CreatingAListenerTest, _AbstractEventTest);
|
|
34
34
|
var _super = _createSuper(CreatingAListenerTest);
|
|
35
35
|
function CreatingAListenerTest() {
|
|
@@ -135,20 +135,18 @@ var CreatingAListenerTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUti
|
|
|
135
135
|
key: "generatesMapFile",
|
|
136
136
|
value: function () {
|
|
137
137
|
var _generatesMapFile = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
|
|
138
|
-
var
|
|
138
|
+
var match;
|
|
139
139
|
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
140
140
|
while (1) {
|
|
141
141
|
switch (_context4.prev = _context4.next) {
|
|
142
142
|
case 0:
|
|
143
143
|
_context4.next = 2;
|
|
144
|
-
return this.
|
|
144
|
+
return this.installEventsCreateListenerAndGetListenerMap();
|
|
145
145
|
case 2:
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
match = _test["default"].assertFileByNameInGeneratedFiles("listeners.ts", results.files);
|
|
149
|
-
_context4.next = 7;
|
|
146
|
+
match = _context4.sent;
|
|
147
|
+
_context4.next = 5;
|
|
150
148
|
return this.Service('typeChecker').check(match);
|
|
151
|
-
case
|
|
149
|
+
case 5:
|
|
152
150
|
case "end":
|
|
153
151
|
return _context4.stop();
|
|
154
152
|
}
|
|
@@ -165,7 +163,7 @@ var CreatingAListenerTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUti
|
|
|
165
163
|
value: function () {
|
|
166
164
|
var _createsValidListener = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
|
|
167
165
|
var _health$event;
|
|
168
|
-
var _yield$this$
|
|
166
|
+
var _yield$this$installEv, version, results, cli, match, health;
|
|
169
167
|
return _regenerator["default"].wrap(function _callee5$(_context5) {
|
|
170
168
|
while (1) {
|
|
171
169
|
switch (_context5.prev = _context5.next) {
|
|
@@ -173,10 +171,10 @@ var CreatingAListenerTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUti
|
|
|
173
171
|
_context5.next = 2;
|
|
174
172
|
return this.installEventsAndCreateListener();
|
|
175
173
|
case 2:
|
|
176
|
-
_yield$this$
|
|
177
|
-
version = _yield$this$
|
|
178
|
-
results = _yield$this$
|
|
179
|
-
cli = _yield$this$
|
|
174
|
+
_yield$this$installEv = _context5.sent;
|
|
175
|
+
version = _yield$this$installEv.version;
|
|
176
|
+
results = _yield$this$installEv.results;
|
|
177
|
+
cli = _yield$this$installEv.cli;
|
|
180
178
|
match = _test["default"].assertFileByNameInGeneratedFiles("will-boot.".concat(version, ".listener.ts"), results.files);
|
|
181
179
|
_testUtils.assert.doesInclude(match, version);
|
|
182
180
|
_context5.next = 10;
|
|
@@ -255,20 +253,22 @@ var CreatingAListenerTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUti
|
|
|
255
253
|
while (1) {
|
|
256
254
|
switch (_context7.prev = _context7.next) {
|
|
257
255
|
case 0:
|
|
258
|
-
|
|
256
|
+
_mercuryClient.MercuryClientFactory.setIsTestMode(true);
|
|
257
|
+
_mercuryClient.MercuryTestClient.setShouldRequireLocalListeners(true);
|
|
258
|
+
_context7.next = 4;
|
|
259
259
|
return this.fakeGetEventContracts(function (target) {
|
|
260
260
|
passedTarget = target;
|
|
261
261
|
});
|
|
262
|
-
case
|
|
263
|
-
namespace =
|
|
264
|
-
_context7.next =
|
|
262
|
+
case 4:
|
|
263
|
+
namespace = (0, _testUtils.generateId)();
|
|
264
|
+
_context7.next = 7;
|
|
265
265
|
return this.installAddDependencyExecuteAndWaitForInput(namespace);
|
|
266
|
-
case
|
|
266
|
+
case 7:
|
|
267
267
|
_testUtils.assert.isEqualDeep(passedTarget, {
|
|
268
268
|
namespaces: [namespace, _ListenAction.CORE_EVENT_NAMESPACE]
|
|
269
269
|
});
|
|
270
270
|
this.ui.reset();
|
|
271
|
-
case
|
|
271
|
+
case 9:
|
|
272
272
|
case "end":
|
|
273
273
|
return _context7.stop();
|
|
274
274
|
}
|
|
@@ -545,28 +545,54 @@ var CreatingAListenerTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUti
|
|
|
545
545
|
return listeningToAnEventWithNoEmitTargetOrPayloadGeneratesValidListener;
|
|
546
546
|
}()
|
|
547
547
|
}, {
|
|
548
|
-
key: "
|
|
548
|
+
key: "hasIsGlobalCheck",
|
|
549
549
|
value: function () {
|
|
550
|
-
var
|
|
550
|
+
var _hasIsGlobalCheck = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee13() {
|
|
551
|
+
var match, contents;
|
|
551
552
|
return _regenerator["default"].wrap(function _callee13$(_context13) {
|
|
552
553
|
while (1) {
|
|
553
554
|
switch (_context13.prev = _context13.next) {
|
|
554
555
|
case 0:
|
|
555
556
|
_context13.next = 2;
|
|
557
|
+
return this.installEventsCreateListenerAndGetListenerMap();
|
|
558
|
+
case 2:
|
|
559
|
+
match = _context13.sent;
|
|
560
|
+
contents = _spruceSkillUtils.diskUtil.readFile(match);
|
|
561
|
+
_testUtils.assert.doesInclude(contents, "isGlobal: require('../../listeners/skill/will-boot.v2020_01_01.listener').isGlobal,");
|
|
562
|
+
case 5:
|
|
563
|
+
case "end":
|
|
564
|
+
return _context13.stop();
|
|
565
|
+
}
|
|
566
|
+
}
|
|
567
|
+
}, _callee13, this);
|
|
568
|
+
}));
|
|
569
|
+
function hasIsGlobalCheck() {
|
|
570
|
+
return _hasIsGlobalCheck.apply(this, arguments);
|
|
571
|
+
}
|
|
572
|
+
return hasIsGlobalCheck;
|
|
573
|
+
}()
|
|
574
|
+
}, {
|
|
575
|
+
key: "installAddDependencyExecuteAndWaitForInput",
|
|
576
|
+
value: function () {
|
|
577
|
+
var _installAddDependencyExecuteAndWaitForInput = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee14(namespace) {
|
|
578
|
+
return _regenerator["default"].wrap(function _callee14$(_context14) {
|
|
579
|
+
while (1) {
|
|
580
|
+
switch (_context14.prev = _context14.next) {
|
|
581
|
+
case 0:
|
|
582
|
+
_context14.next = 2;
|
|
556
583
|
return this.installEventFeature('events');
|
|
557
584
|
case 2:
|
|
558
|
-
_mercuryClient.MercuryClientFactory.setIsTestMode(true);
|
|
559
585
|
this.addDependency(namespace);
|
|
560
|
-
|
|
586
|
+
_context14.next = 5;
|
|
561
587
|
return this.executeAndWaitForInput();
|
|
588
|
+
case 5:
|
|
589
|
+
return _context14.abrupt("return", this.ui.getLastInvocation());
|
|
562
590
|
case 6:
|
|
563
|
-
return _context13.abrupt("return", this.ui.getLastInvocation());
|
|
564
|
-
case 7:
|
|
565
591
|
case "end":
|
|
566
|
-
return
|
|
592
|
+
return _context14.stop();
|
|
567
593
|
}
|
|
568
594
|
}
|
|
569
|
-
},
|
|
595
|
+
}, _callee14, this);
|
|
570
596
|
}));
|
|
571
597
|
function installAddDependencyExecuteAndWaitForInput(_x3) {
|
|
572
598
|
return _installAddDependencyExecuteAndWaitForInput.apply(this, arguments);
|
|
@@ -576,20 +602,25 @@ var CreatingAListenerTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUti
|
|
|
576
602
|
}, {
|
|
577
603
|
key: "executeAndWaitForInput",
|
|
578
604
|
value: function () {
|
|
579
|
-
var _executeAndWaitForInput = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
580
|
-
|
|
605
|
+
var _executeAndWaitForInput = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee15() {
|
|
606
|
+
var _this = this;
|
|
607
|
+
return _regenerator["default"].wrap(function _callee15$(_context15) {
|
|
581
608
|
while (1) {
|
|
582
|
-
switch (
|
|
609
|
+
switch (_context15.prev = _context15.next) {
|
|
583
610
|
case 0:
|
|
584
|
-
void this.listen.execute({})
|
|
585
|
-
|
|
611
|
+
void this.listen.execute({}).then(function (results) {
|
|
612
|
+
if (results.errors) {
|
|
613
|
+
_this.ui.setError(results.errors[0]);
|
|
614
|
+
}
|
|
615
|
+
});
|
|
616
|
+
_context15.next = 3;
|
|
586
617
|
return this.waitForInput();
|
|
587
618
|
case 3:
|
|
588
619
|
case "end":
|
|
589
|
-
return
|
|
620
|
+
return _context15.stop();
|
|
590
621
|
}
|
|
591
622
|
}
|
|
592
|
-
},
|
|
623
|
+
}, _callee15, this);
|
|
593
624
|
}));
|
|
594
625
|
function executeAndWaitForInput() {
|
|
595
626
|
return _executeAndWaitForInput.apply(this, arguments);
|
|
@@ -602,43 +633,43 @@ var CreatingAListenerTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUti
|
|
|
602
633
|
var dependencies = this.Service('dependency');
|
|
603
634
|
dependencies.add({
|
|
604
635
|
id: namespace,
|
|
605
|
-
namespace:
|
|
636
|
+
namespace: namespace
|
|
606
637
|
});
|
|
607
638
|
}
|
|
608
639
|
}, {
|
|
609
640
|
key: "installEventsAndCreateListener",
|
|
610
641
|
value: function () {
|
|
611
|
-
var _installEventsAndCreateListener = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
642
|
+
var _installEventsAndCreateListener = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee16() {
|
|
612
643
|
var cli, version, results;
|
|
613
|
-
return _regenerator["default"].wrap(function
|
|
644
|
+
return _regenerator["default"].wrap(function _callee16$(_context16) {
|
|
614
645
|
while (1) {
|
|
615
|
-
switch (
|
|
646
|
+
switch (_context16.prev = _context16.next) {
|
|
616
647
|
case 0:
|
|
617
|
-
|
|
648
|
+
_context16.next = 2;
|
|
618
649
|
return this.installEventFeature('events');
|
|
619
650
|
case 2:
|
|
620
|
-
cli =
|
|
651
|
+
cli = _context16.sent;
|
|
621
652
|
version = 'v2020_01_01';
|
|
622
|
-
|
|
653
|
+
_context16.next = 6;
|
|
623
654
|
return this.listen.execute({
|
|
624
655
|
namespace: 'skill',
|
|
625
656
|
eventName: 'will-boot',
|
|
626
657
|
version: version
|
|
627
658
|
});
|
|
628
659
|
case 6:
|
|
629
|
-
results =
|
|
660
|
+
results = _context16.sent;
|
|
630
661
|
_testUtils.assert.isFalsy(results.errors);
|
|
631
|
-
return
|
|
662
|
+
return _context16.abrupt("return", {
|
|
632
663
|
version: version,
|
|
633
664
|
results: results,
|
|
634
665
|
cli: cli
|
|
635
666
|
});
|
|
636
667
|
case 9:
|
|
637
668
|
case "end":
|
|
638
|
-
return
|
|
669
|
+
return _context16.stop();
|
|
639
670
|
}
|
|
640
671
|
}
|
|
641
|
-
},
|
|
672
|
+
}, _callee16, this);
|
|
642
673
|
}));
|
|
643
674
|
function installEventsAndCreateListener() {
|
|
644
675
|
return _installEventsAndCreateListener.apply(this, arguments);
|
|
@@ -648,47 +679,47 @@ var CreatingAListenerTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUti
|
|
|
648
679
|
}, {
|
|
649
680
|
key: "setupSkillsInstallAtOrgRegisterEventContractAndGenerateListener",
|
|
650
681
|
value: function () {
|
|
651
|
-
var _setupSkillsInstallAtOrgRegisterEventContractAndGenerateListener = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
682
|
+
var _setupSkillsInstallAtOrgRegisterEventContractAndGenerateListener = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee17(eventSignature) {
|
|
652
683
|
var expectedVersion, eventContract, _yield$this$seedDummy, skillFixture, skill2, currentSkill, cli, org, results, listener, contents;
|
|
653
|
-
return _regenerator["default"].wrap(function
|
|
684
|
+
return _regenerator["default"].wrap(function _callee17$(_context17) {
|
|
654
685
|
while (1) {
|
|
655
|
-
switch (
|
|
686
|
+
switch (_context17.prev = _context17.next) {
|
|
656
687
|
case 0:
|
|
657
688
|
expectedVersion = this.expectedVersion;
|
|
658
689
|
eventContract = {
|
|
659
690
|
eventSignatures: (0, _defineProperty2["default"])({}, "my-new-event::".concat(expectedVersion), eventSignature)
|
|
660
691
|
};
|
|
661
|
-
|
|
692
|
+
_context17.next = 4;
|
|
662
693
|
return this.seedDummySkillRegisterCurrentSkillAndInstallToOrg();
|
|
663
694
|
case 4:
|
|
664
|
-
_yield$this$seedDummy =
|
|
695
|
+
_yield$this$seedDummy = _context17.sent;
|
|
665
696
|
skillFixture = _yield$this$seedDummy.skillFixture;
|
|
666
697
|
skill2 = _yield$this$seedDummy.skill2;
|
|
667
698
|
currentSkill = _yield$this$seedDummy.currentSkill;
|
|
668
699
|
cli = _yield$this$seedDummy.cli;
|
|
669
700
|
org = _yield$this$seedDummy.org;
|
|
670
|
-
|
|
701
|
+
_context17.next = 12;
|
|
671
702
|
return skillFixture.registerEventContract(skill2, eventContract);
|
|
672
703
|
case 12:
|
|
673
704
|
this.Service('dependency').add({
|
|
674
705
|
id: skill2.id,
|
|
675
706
|
namespace: skill2.slug
|
|
676
707
|
});
|
|
677
|
-
|
|
708
|
+
_context17.next = 15;
|
|
678
709
|
return this.listen.execute({
|
|
679
710
|
namespace: skill2.slug,
|
|
680
711
|
eventName: "my-new-event",
|
|
681
712
|
version: expectedVersion
|
|
682
713
|
});
|
|
683
714
|
case 15:
|
|
684
|
-
results =
|
|
715
|
+
results = _context17.sent;
|
|
685
716
|
_testUtils.assert.isFalsy(results.errors);
|
|
686
717
|
listener = _test["default"].assertFileByNameInGeneratedFiles("my-new-event.".concat(expectedVersion, ".listener.ts"), results.files);
|
|
687
|
-
|
|
718
|
+
_context17.next = 20;
|
|
688
719
|
return this.Service('typeChecker').check(listener);
|
|
689
720
|
case 20:
|
|
690
721
|
contents = _spruceSkillUtils.diskUtil.readFile(listener);
|
|
691
|
-
return
|
|
722
|
+
return _context17.abrupt("return", {
|
|
692
723
|
contents: contents,
|
|
693
724
|
skill2: skill2,
|
|
694
725
|
listenerPath: listener,
|
|
@@ -699,18 +730,46 @@ var CreatingAListenerTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUti
|
|
|
699
730
|
});
|
|
700
731
|
case 22:
|
|
701
732
|
case "end":
|
|
702
|
-
return
|
|
733
|
+
return _context17.stop();
|
|
703
734
|
}
|
|
704
735
|
}
|
|
705
|
-
},
|
|
736
|
+
}, _callee17, this);
|
|
706
737
|
}));
|
|
707
738
|
function setupSkillsInstallAtOrgRegisterEventContractAndGenerateListener(_x4) {
|
|
708
739
|
return _setupSkillsInstallAtOrgRegisterEventContractAndGenerateListener.apply(this, arguments);
|
|
709
740
|
}
|
|
710
741
|
return setupSkillsInstallAtOrgRegisterEventContractAndGenerateListener;
|
|
711
742
|
}()
|
|
743
|
+
}, {
|
|
744
|
+
key: "installEventsCreateListenerAndGetListenerMap",
|
|
745
|
+
value: function () {
|
|
746
|
+
var _installEventsCreateListenerAndGetListenerMap = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee18() {
|
|
747
|
+
var _yield$this$installEv2, results, match;
|
|
748
|
+
return _regenerator["default"].wrap(function _callee18$(_context18) {
|
|
749
|
+
while (1) {
|
|
750
|
+
switch (_context18.prev = _context18.next) {
|
|
751
|
+
case 0:
|
|
752
|
+
_context18.next = 2;
|
|
753
|
+
return this.installEventsAndCreateListener();
|
|
754
|
+
case 2:
|
|
755
|
+
_yield$this$installEv2 = _context18.sent;
|
|
756
|
+
results = _yield$this$installEv2.results;
|
|
757
|
+
match = _test["default"].assertFileByNameInGeneratedFiles("listeners.ts", results.files);
|
|
758
|
+
return _context18.abrupt("return", match);
|
|
759
|
+
case 6:
|
|
760
|
+
case "end":
|
|
761
|
+
return _context18.stop();
|
|
762
|
+
}
|
|
763
|
+
}
|
|
764
|
+
}, _callee18, this);
|
|
765
|
+
}));
|
|
766
|
+
function installEventsCreateListenerAndGetListenerMap() {
|
|
767
|
+
return _installEventsCreateListenerAndGetListenerMap.apply(this, arguments);
|
|
768
|
+
}
|
|
769
|
+
return installEventsCreateListenerAndGetListenerMap;
|
|
770
|
+
}()
|
|
712
771
|
}]);
|
|
713
772
|
return CreatingAListenerTest;
|
|
714
|
-
}(_AbstractEventTest2["default"]), (0, _defineProperty2["default"])(_class2, "expectedVersion", _spruceSkillUtils.versionUtil.generateVersion().constValue), (0, _defineProperty2["default"])(_class2, "listen", void 0), _class2), ((0, _applyDecoratedDescriptor2["default"])(_class, "throwsWithBadNamespace", [_dec], Object.getOwnPropertyDescriptor(_class, "throwsWithBadNamespace"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "throwsWithBadEventName", [_dec2], Object.getOwnPropertyDescriptor(_class, "throwsWithBadEventName"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "generatesMapFile", [_dec3], Object.getOwnPropertyDescriptor(_class, "generatesMapFile"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "createsValidListener", [_dec4], Object.getOwnPropertyDescriptor(_class, "createsValidListener"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "creatingANewListenerAsksWhichEventToListenTo", [_dec5], Object.getOwnPropertyDescriptor(_class, "creatingANewListenerAsksWhichEventToListenTo"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "loadsContractsFilteringByDependencies", [_dec6], Object.getOwnPropertyDescriptor(_class, "loadsContractsFilteringByDependencies"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "generatesTypedListenerWithoutPayloads", [_dec7], Object.getOwnPropertyDescriptor(_class, "generatesTypedListenerWithoutPayloads"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "generatesTypedListenerWithEmitPayload", [_dec8], Object.getOwnPropertyDescriptor(_class, "generatesTypedListenerWithEmitPayload"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "emittingEventTriggersListenerAndCrashesWithListenerNotImplemented", [_dec9], Object.getOwnPropertyDescriptor(_class, "emittingEventTriggersListenerAndCrashesWithListenerNotImplemented"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "listeningToAnEventWithNoEmitTargetOrPayloadGeneratesValidListener", [_dec10], Object.getOwnPropertyDescriptor(_class, "listeningToAnEventWithNoEmitTargetOrPayloadGeneratesValidListener"), _class)), _class));
|
|
773
|
+
}(_AbstractEventTest2["default"]), (0, _defineProperty2["default"])(_class2, "expectedVersion", _spruceSkillUtils.versionUtil.generateVersion().constValue), (0, _defineProperty2["default"])(_class2, "listen", void 0), _class2), ((0, _applyDecoratedDescriptor2["default"])(_class, "throwsWithBadNamespace", [_dec], Object.getOwnPropertyDescriptor(_class, "throwsWithBadNamespace"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "throwsWithBadEventName", [_dec2], Object.getOwnPropertyDescriptor(_class, "throwsWithBadEventName"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "generatesMapFile", [_dec3], Object.getOwnPropertyDescriptor(_class, "generatesMapFile"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "createsValidListener", [_dec4], Object.getOwnPropertyDescriptor(_class, "createsValidListener"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "creatingANewListenerAsksWhichEventToListenTo", [_dec5], Object.getOwnPropertyDescriptor(_class, "creatingANewListenerAsksWhichEventToListenTo"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "loadsContractsFilteringByDependencies", [_dec6], Object.getOwnPropertyDescriptor(_class, "loadsContractsFilteringByDependencies"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "generatesTypedListenerWithoutPayloads", [_dec7], Object.getOwnPropertyDescriptor(_class, "generatesTypedListenerWithoutPayloads"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "generatesTypedListenerWithEmitPayload", [_dec8], Object.getOwnPropertyDescriptor(_class, "generatesTypedListenerWithEmitPayload"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "emittingEventTriggersListenerAndCrashesWithListenerNotImplemented", [_dec9], Object.getOwnPropertyDescriptor(_class, "emittingEventTriggersListenerAndCrashesWithListenerNotImplemented"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "listeningToAnEventWithNoEmitTargetOrPayloadGeneratesValidListener", [_dec10], Object.getOwnPropertyDescriptor(_class, "listeningToAnEventWithNoEmitTargetOrPayloadGeneratesValidListener"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "hasIsGlobalCheck", [_dec11], Object.getOwnPropertyDescriptor(_class, "hasIsGlobalCheck"), _class)), _class));
|
|
715
774
|
exports["default"] = CreatingAListenerTest;
|
|
716
775
|
//# sourceMappingURL=CreatingAListener.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreatingAListener.test.js","names":["CreatingAListenerTest","test","listen","Action","installEventFeature","execute","namespace","results","assert","isTruthy","errors","err","errorAssert","assertError","namespaces","eventName","parameters","installEventsAndCreateListener","match","testUtil","assertFileByNameInGeneratedFiles","files","Service","check","version","cli","doesInclude","checkHealth","health","isFalsy","event","skill","isUndefined","listeners","eventNamespace","executeAndWaitForInput","lastInvocation","ui","getLastInvocation","isEqual","command","options","label","sendInput","MERCURY_API_NAMESPACE","waitForInput","reset","fakeGetEventContracts","target","passedTarget","installAddDependencyExecuteAndWaitForInput","isEqualDeep","CORE_EVENT_NAMESPACE","cb","eventFaker","on","contracts","coreEventContracts","setupSkillsInstallAtOrgRegisterEventContractAndGenerateListener","isGlobal","contents","emitPayloadSchema","buildEmitTargetAndPayloadSchema","targetSchema","eventTargetSchema","payloadSchema","id","fields","booleanField","type","skill2","slug","expectedVersion","organizationId","isRequired","responsePayloadSchema","buildSchema","currentSkill","eventContract","org","connectToApi","shouldAuthAsCurrentSkill","currentClient","disconnect","local","boot","wait","skillId","apiKey","client","mixinContract","eventSignatures","emit","payload","totalContracts","totalErrors","totalResponses","meta","promise","fail","stack","kill","error","doesThrow","eventResponseUtil","getFirstResponseOrThrow","eventAssertUtil","responderRef","responses","listenerPath","MercuryClientFactory","setIsTestMode","addDependency","dependencies","add","eventSignature","seedDummySkillRegisterCurrentSkillAndInstallToOrg","skillFixture","registerEventContract","listener","diskUtil","readFile","AbstractEventTest","versionUtil","generateVersion","constValue"],"sources":["../../../../src/__tests__/behavioral/events/CreatingAListener.test.ts"],"sourcesContent":["import { MercuryClientFactory } from '@sprucelabs/mercury-client'\nimport { coreEventContracts } from '@sprucelabs/mercury-core-events'\nimport { EventSignature, SpruceSchemas } from '@sprucelabs/mercury-types'\nimport { buildSchema } from '@sprucelabs/schema'\nimport {\n\tbuildEmitTargetAndPayloadSchema,\n\teventAssertUtil,\n\teventResponseUtil,\n\teventTargetSchema,\n} from '@sprucelabs/spruce-event-utils'\nimport {\n\tdiskUtil,\n\tMERCURY_API_NAMESPACE,\n\tversionUtil,\n} from '@sprucelabs/spruce-skill-utils'\nimport { eventFaker } from '@sprucelabs/spruce-test-fixtures'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport ListenAction, {\n\tCORE_EVENT_NAMESPACE,\n} from '../../../features/event/actions/ListenAction'\nimport AbstractEventTest from '../../../tests/AbstractEventTest'\nimport testUtil from '../../../tests/utilities/test.utility'\n\nexport default class CreatingAListenerTest extends AbstractEventTest {\n\tprivate static readonly expectedVersion =\n\t\tversionUtil.generateVersion().constValue\n\tprivate static listen: ListenAction\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tthis.listen = this.Action('event', 'listen')\n\t}\n\n\t@test()\n\tprotected static async throwsWithBadNamespace() {\n\t\tawait this.installEventFeature('events')\n\n\t\tconst results = await this.listen.execute({\n\t\t\tnamespace: 'taco-bell',\n\t\t})\n\n\t\tassert.isTruthy(results.errors)\n\t\tconst err = results.errors[0]\n\n\t\terrorAssert.assertError(err, 'INVALID_NAMESPACES', {\n\t\t\tnamespaces: ['taco-bell'],\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async throwsWithBadEventName() {\n\t\tawait this.installEventFeature('events')\n\t\tconst results = await this.listen.execute({\n\t\t\tnamespace: 'heartwood',\n\t\t\teventName: 'bad-time',\n\t\t})\n\n\t\tassert.isTruthy(results.errors)\n\t\tconst err = results.errors[0]\n\n\t\terrorAssert.assertError(err, 'INVALID_PARAMETERS', {\n\t\t\tparameters: ['eventName'],\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async generatesMapFile() {\n\t\tconst { results } = await this.installEventsAndCreateListener()\n\n\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t`listeners.ts`,\n\t\t\tresults.files\n\t\t)\n\n\t\tawait this.Service('typeChecker').check(match)\n\t}\n\n\t@test()\n\tprotected static async createsValidListener() {\n\t\tconst { version, results, cli } =\n\t\t\tawait this.installEventsAndCreateListener()\n\n\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t`will-boot.${version}.listener.ts`,\n\t\t\tresults.files\n\t\t)\n\n\t\tassert.doesInclude(match, version)\n\n\t\tawait this.Service('typeChecker').check(match)\n\n\t\tconst health = await cli.checkHealth()\n\n\t\tassert.isFalsy(health?.event?.errors)\n\t\tassert.isTruthy(health.skill)\n\n\t\tassert.isUndefined(health.skill.errors)\n\t\tassert.isTruthy(health.event)\n\n\t\tassert.doesInclude(health.event.listeners, {\n\t\t\teventName: 'will-boot',\n\t\t\teventNamespace: 'skill',\n\t\t\tversion,\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async creatingANewListenerAsksWhichEventToListenTo() {\n\t\tawait this.installEventFeature('events')\n\t\tawait this.executeAndWaitForInput()\n\n\t\tlet lastInvocation = this.ui.getLastInvocation()\n\n\t\tassert.isEqual(lastInvocation.command, 'prompt')\n\t\tassert.doesInclude(lastInvocation.options.label, 'namespace')\n\n\t\tawait this.ui.sendInput(MERCURY_API_NAMESPACE)\n\n\t\tawait this.waitForInput()\n\n\t\tlastInvocation = this.ui.getLastInvocation()\n\n\t\tassert.doesInclude(lastInvocation.options.label, 'event')\n\n\t\tthis.ui.reset()\n\t}\n\n\t@test()\n\tprotected static async loadsContractsFilteringByDependencies() {\n\t\tlet passedTarget: any\n\t\tawait this.fakeGetEventContracts((target) => {\n\t\t\tpassedTarget = target\n\t\t})\n\n\t\tconst namespace = 'waka'\n\t\tawait this.installAddDependencyExecuteAndWaitForInput(namespace)\n\n\t\tassert.isEqualDeep(passedTarget, {\n\t\t\tnamespaces: [namespace, CORE_EVENT_NAMESPACE],\n\t\t})\n\n\t\tthis.ui.reset()\n\t}\n\n\tprivate static async fakeGetEventContracts(\n\t\tcb?: (\n\t\t\ttarget?: SpruceSchemas.Mercury.v2020_12_25.GetEventContractsTarget | null\n\t\t) => void,\n\t\tresults?: SpruceSchemas.Mercury.v2020_12_25.GetEventContractsResponsePayload['contracts']\n\t) {\n\t\tawait eventFaker.on('get-event-contracts::v2020_12_25', ({ target }) => {\n\t\t\tcb?.(target)\n\t\t\treturn {\n\t\t\t\tcontracts: results ?? [...(coreEventContracts as any)],\n\t\t\t}\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async generatesTypedListenerWithoutPayloads() {\n\t\tconst { contents } =\n\t\t\tawait this.setupSkillsInstallAtOrgRegisterEventContractAndGenerateListener(\n\t\t\t\t{\n\t\t\t\t\tisGlobal: true,\n\t\t\t\t}\n\t\t\t)\n\n\t\tassert.doesInclude(\n\t\t\tcontents,\n\t\t\t'export default async (event: SpruceEvent): SpruceEventResponse'\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async generatesTypedListenerWithEmitPayload() {\n\t\tconst { contents, skill2 } =\n\t\t\tawait this.setupSkillsInstallAtOrgRegisterEventContractAndGenerateListener(\n\t\t\t\t{\n\t\t\t\t\temitPayloadSchema: buildEmitTargetAndPayloadSchema({\n\t\t\t\t\t\teventName: 'my-new-event',\n\t\t\t\t\t\ttargetSchema: eventTargetSchema,\n\t\t\t\t\t\tpayloadSchema: {\n\t\t\t\t\t\t\tid: 'myNewEventEmitPayload',\n\t\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\t\tbooleanField: {\n\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t\t}\n\t\t\t)\n\n\t\tassert.doesInclude(\n\t\t\tcontents,\n\t\t\t'event: SpruceEvent<SkillEventContract, EmitPayload>'\n\t\t)\n\n\t\tassert.doesInclude(\n\t\t\tcontents,\n\t\t\t`fullyQualifiedEventName: '${skill2.slug}.my-new-event::${this.expectedVersion}'`\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async emittingEventTriggersListenerAndCrashesWithListenerNotImplemented() {\n\t\tconst { currentSkill, skill2, eventContract, org } =\n\t\t\tawait this.setupSkillsInstallAtOrgRegisterEventContractAndGenerateListener(\n\t\t\t\t{\n\t\t\t\t\temitPayloadSchema: buildEmitTargetAndPayloadSchema({\n\t\t\t\t\t\teventName: 'my-new-event',\n\t\t\t\t\t\ttargetSchema: {\n\t\t\t\t\t\t\tid: 'myNewEventEmitTarget',\n\t\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\t\torganizationId: {\n\t\t\t\t\t\t\t\t\ttype: 'id',\n\t\t\t\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tpayloadSchema: {\n\t\t\t\t\t\t\tid: 'myNewEventEmitPayload',\n\t\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\t\tbooleanField: {\n\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t\t\tresponsePayloadSchema: buildSchema({\n\t\t\t\t\t\tid: 'myNewEventResponsePayload',\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tbooleanField: {\n\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t\t}\n\t\t\t)\n\n\t\tconst currentClient = await this.connectToApi({\n\t\t\tshouldAuthAsCurrentSkill: true,\n\t\t})\n\n\t\tawait currentClient.disconnect()\n\n\t\tconst boot = await this.Action('skill', 'boot').execute({ local: true })\n\n\t\tassert.isFalsy(boot.errors)\n\n\t\t//give the skill time to boot\n\t\tawait this.wait(20000)\n\n\t\tconst client = (await this.connectToApi({\n\t\t\tskillId: skill2.id,\n\t\t\tapiKey: skill2.apiKey,\n\t\t})) as any\n\n\t\tconst eventName = `${skill2.slug}.my-new-event::${this.expectedVersion}`\n\n\t\tclient.mixinContract({\n\t\t\teventSignatures: {\n\t\t\t\t[eventName]:\n\t\t\t\t\teventContract.eventSignatures[\n\t\t\t\t\t\t`my-new-event::${this.expectedVersion}`\n\t\t\t\t\t],\n\t\t\t},\n\t\t})\n\n\t\tlet results: any\n\n\t\tdo {\n\t\t\tawait this.wait(5000)\n\n\t\t\tresults = await client.emit(eventName, {\n\t\t\t\ttarget: {\n\t\t\t\t\torganizationId: org.id,\n\t\t\t\t},\n\t\t\t\tpayload: {\n\t\t\t\t\tbooleanField: true,\n\t\t\t\t},\n\t\t\t})\n\t\t} while (results.totalContracts < 1)\n\n\t\tassert.isEqual(results.totalContracts, 1)\n\t\tassert.isEqual(results.totalErrors, 1)\n\t\tassert.isEqual(results.totalResponses, 1)\n\n\t\tboot.meta?.promise?.catch((err: Error) => {\n\t\t\tassert.fail(err.stack)\n\t\t})\n\n\t\tawait boot.meta?.kill()\n\n\t\tconst error = assert.doesThrow(() =>\n\t\t\teventResponseUtil.getFirstResponseOrThrow(results)\n\t\t)\n\n\t\teventAssertUtil.assertError(error, 'LISTENER_NOT_IMPLEMENTED')\n\n\t\tconst responderRef = results.responses[0].responderRef\n\t\tassert.isEqual(\n\t\t\tresponderRef,\n\t\t\t`skill:${currentSkill.id}:${currentSkill.slug}`\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async listeningToAnEventWithNoEmitTargetOrPayloadGeneratesValidListener() {\n\t\tconst { listenerPath } =\n\t\t\tawait this.setupSkillsInstallAtOrgRegisterEventContractAndGenerateListener(\n\t\t\t\t{\n\t\t\t\t\tisGlobal: true,\n\t\t\t\t\tresponsePayloadSchema: {\n\t\t\t\t\t\tid: 'test',\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tid: {\n\t\t\t\t\t\t\t\ttype: 'id',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t)\n\n\t\tawait this.Service('typeChecker').check(listenerPath)\n\t}\n\n\tprivate static async installAddDependencyExecuteAndWaitForInput(\n\t\tnamespace: string\n\t) {\n\t\tawait this.installEventFeature('events')\n\t\tMercuryClientFactory.setIsTestMode(true)\n\t\tthis.addDependency(namespace)\n\t\tawait this.executeAndWaitForInput()\n\t\treturn this.ui.getLastInvocation()\n\t}\n\n\tprivate static async executeAndWaitForInput() {\n\t\tvoid this.listen.execute({})\n\t\tawait this.waitForInput()\n\t}\n\n\tprivate static addDependency(namespace: string) {\n\t\tconst dependencies = this.Service('dependency')\n\t\tdependencies.add({\n\t\t\tid: namespace,\n\t\t\tnamespace: 'waka',\n\t\t})\n\t}\n\n\tprivate static async installEventsAndCreateListener() {\n\t\tconst cli = await this.installEventFeature('events')\n\n\t\tconst version = 'v2020_01_01'\n\n\t\tconst results = await this.listen.execute({\n\t\t\tnamespace: 'skill',\n\t\t\teventName: 'will-boot',\n\t\t\tversion,\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\t\treturn { version, results, cli }\n\t}\n\n\tprivate static async setupSkillsInstallAtOrgRegisterEventContractAndGenerateListener(\n\t\teventSignature: EventSignature\n\t) {\n\t\tconst expectedVersion = this.expectedVersion\n\n\t\tconst eventContract = {\n\t\t\teventSignatures: {\n\t\t\t\t[`my-new-event::${expectedVersion}`]: eventSignature,\n\t\t\t},\n\t\t} as const\n\n\t\tconst { skillFixture, skill2, currentSkill, cli, org } =\n\t\t\tawait this.seedDummySkillRegisterCurrentSkillAndInstallToOrg()\n\n\t\tawait skillFixture.registerEventContract(skill2, eventContract)\n\n\t\tthis.Service('dependency').add({\n\t\t\tid: skill2.id,\n\t\t\tnamespace: skill2.slug,\n\t\t})\n\n\t\tconst results = await this.listen.execute({\n\t\t\tnamespace: skill2.slug,\n\t\t\teventName: `my-new-event`,\n\t\t\tversion: expectedVersion,\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst listener = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t`my-new-event.${expectedVersion}.listener.ts`,\n\t\t\tresults.files\n\t\t)\n\n\t\tawait this.Service('typeChecker').check(listener)\n\n\t\tconst contents = diskUtil.readFile(listener)\n\n\t\treturn {\n\t\t\tcontents,\n\t\t\tskill2,\n\t\t\tlistenerPath: listener,\n\t\t\tcli,\n\t\t\teventContract,\n\t\t\torg,\n\t\t\tcurrentSkill,\n\t\t}\n\t}\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CreatingAListener.test.js","names":["CreatingAListenerTest","test","listen","Action","installEventFeature","execute","namespace","results","assert","isTruthy","errors","err","errorAssert","assertError","namespaces","eventName","parameters","installEventsCreateListenerAndGetListenerMap","match","Service","check","installEventsAndCreateListener","version","cli","testUtil","assertFileByNameInGeneratedFiles","files","doesInclude","checkHealth","health","isFalsy","event","skill","isUndefined","listeners","eventNamespace","executeAndWaitForInput","lastInvocation","ui","getLastInvocation","isEqual","command","options","label","sendInput","MERCURY_API_NAMESPACE","waitForInput","reset","MercuryClientFactory","setIsTestMode","MercuryTestClient","setShouldRequireLocalListeners","fakeGetEventContracts","target","passedTarget","generateId","installAddDependencyExecuteAndWaitForInput","isEqualDeep","CORE_EVENT_NAMESPACE","cb","eventFaker","on","contracts","coreEventContracts","setupSkillsInstallAtOrgRegisterEventContractAndGenerateListener","isGlobal","contents","emitPayloadSchema","buildEmitTargetAndPayloadSchema","targetSchema","eventTargetSchema","payloadSchema","id","fields","booleanField","type","skill2","slug","expectedVersion","organizationId","isRequired","responsePayloadSchema","buildSchema","currentSkill","eventContract","org","connectToApi","shouldAuthAsCurrentSkill","currentClient","disconnect","local","boot","wait","skillId","apiKey","client","mixinContract","eventSignatures","emit","payload","totalContracts","totalErrors","totalResponses","meta","promise","fail","stack","kill","error","doesThrow","eventResponseUtil","getFirstResponseOrThrow","eventAssertUtil","responderRef","responses","listenerPath","diskUtil","readFile","addDependency","then","setError","dependencies","add","eventSignature","seedDummySkillRegisterCurrentSkillAndInstallToOrg","skillFixture","registerEventContract","listener","AbstractEventTest","versionUtil","generateVersion","constValue"],"sources":["../../../../src/__tests__/behavioral/events/CreatingAListener.test.ts"],"sourcesContent":["import {\n\tMercuryClientFactory,\n\tMercuryTestClient,\n} from '@sprucelabs/mercury-client'\nimport { coreEventContracts } from '@sprucelabs/mercury-core-events'\nimport { EventSignature, SpruceSchemas } from '@sprucelabs/mercury-types'\nimport { buildSchema } from '@sprucelabs/schema'\nimport {\n\tbuildEmitTargetAndPayloadSchema,\n\teventAssertUtil,\n\teventResponseUtil,\n\teventTargetSchema,\n} from '@sprucelabs/spruce-event-utils'\nimport {\n\tdiskUtil,\n\tMERCURY_API_NAMESPACE,\n\tversionUtil,\n} from '@sprucelabs/spruce-skill-utils'\nimport { eventFaker } from '@sprucelabs/spruce-test-fixtures'\nimport { test, assert, generateId } from '@sprucelabs/test-utils'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport ListenAction, {\n\tCORE_EVENT_NAMESPACE,\n} from '../../../features/event/actions/ListenAction'\nimport AbstractEventTest from '../../../tests/AbstractEventTest'\nimport testUtil from '../../../tests/utilities/test.utility'\n\nexport default class CreatingAListenerTest extends AbstractEventTest {\n\tprivate static readonly expectedVersion =\n\t\tversionUtil.generateVersion().constValue\n\tprivate static listen: ListenAction\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tthis.listen = this.Action('event', 'listen')\n\t}\n\n\t@test()\n\tprotected static async throwsWithBadNamespace() {\n\t\tawait this.installEventFeature('events')\n\n\t\tconst results = await this.listen.execute({\n\t\t\tnamespace: 'taco-bell',\n\t\t})\n\n\t\tassert.isTruthy(results.errors)\n\t\tconst err = results.errors[0]\n\n\t\terrorAssert.assertError(err, 'INVALID_NAMESPACES', {\n\t\t\tnamespaces: ['taco-bell'],\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async throwsWithBadEventName() {\n\t\tawait this.installEventFeature('events')\n\t\tconst results = await this.listen.execute({\n\t\t\tnamespace: 'heartwood',\n\t\t\teventName: 'bad-time',\n\t\t})\n\n\t\tassert.isTruthy(results.errors)\n\t\tconst err = results.errors[0]\n\n\t\terrorAssert.assertError(err, 'INVALID_PARAMETERS', {\n\t\t\tparameters: ['eventName'],\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async generatesMapFile() {\n\t\tconst match = await this.installEventsCreateListenerAndGetListenerMap()\n\t\tawait this.Service('typeChecker').check(match)\n\t}\n\n\t@test()\n\tprotected static async createsValidListener() {\n\t\tconst { version, results, cli } =\n\t\t\tawait this.installEventsAndCreateListener()\n\n\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t`will-boot.${version}.listener.ts`,\n\t\t\tresults.files\n\t\t)\n\n\t\tassert.doesInclude(match, version)\n\n\t\tawait this.Service('typeChecker').check(match)\n\n\t\tconst health = await cli.checkHealth()\n\n\t\tassert.isFalsy(health?.event?.errors)\n\t\tassert.isTruthy(health.skill)\n\n\t\tassert.isUndefined(health.skill.errors)\n\t\tassert.isTruthy(health.event)\n\n\t\tassert.doesInclude(health.event.listeners, {\n\t\t\teventName: 'will-boot',\n\t\t\teventNamespace: 'skill',\n\t\t\tversion,\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async creatingANewListenerAsksWhichEventToListenTo() {\n\t\tawait this.installEventFeature('events')\n\t\tawait this.executeAndWaitForInput()\n\n\t\tlet lastInvocation = this.ui.getLastInvocation()\n\n\t\tassert.isEqual(lastInvocation.command, 'prompt')\n\t\tassert.doesInclude(lastInvocation.options.label, 'namespace')\n\n\t\tawait this.ui.sendInput(MERCURY_API_NAMESPACE)\n\t\tawait this.waitForInput()\n\n\t\tlastInvocation = this.ui.getLastInvocation()\n\n\t\tassert.doesInclude(lastInvocation.options.label, 'event')\n\n\t\tthis.ui.reset()\n\t}\n\n\t@test()\n\tprotected static async loadsContractsFilteringByDependencies() {\n\t\tMercuryClientFactory.setIsTestMode(true)\n\t\tMercuryTestClient.setShouldRequireLocalListeners(true)\n\n\t\tlet passedTarget: any\n\t\tawait this.fakeGetEventContracts((target) => {\n\t\t\tpassedTarget = target\n\t\t})\n\n\t\tconst namespace = generateId()\n\t\tawait this.installAddDependencyExecuteAndWaitForInput(namespace)\n\n\t\tassert.isEqualDeep(passedTarget, {\n\t\t\tnamespaces: [namespace, CORE_EVENT_NAMESPACE],\n\t\t})\n\n\t\tthis.ui.reset()\n\t}\n\n\tprivate static async fakeGetEventContracts(\n\t\tcb?: (\n\t\t\ttarget?: SpruceSchemas.Mercury.v2020_12_25.GetEventContractsTarget | null\n\t\t) => void,\n\t\tresults?: SpruceSchemas.Mercury.v2020_12_25.GetEventContractsResponsePayload['contracts']\n\t) {\n\t\tawait eventFaker.on('get-event-contracts::v2020_12_25', ({ target }) => {\n\t\t\tcb?.(target)\n\n\t\t\treturn {\n\t\t\t\tcontracts: results ?? [...(coreEventContracts as any)],\n\t\t\t}\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async generatesTypedListenerWithoutPayloads() {\n\t\tconst { contents } =\n\t\t\tawait this.setupSkillsInstallAtOrgRegisterEventContractAndGenerateListener(\n\t\t\t\t{\n\t\t\t\t\tisGlobal: true,\n\t\t\t\t}\n\t\t\t)\n\n\t\tassert.doesInclude(\n\t\t\tcontents,\n\t\t\t'export default async (event: SpruceEvent): SpruceEventResponse'\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async generatesTypedListenerWithEmitPayload() {\n\t\tconst { contents, skill2 } =\n\t\t\tawait this.setupSkillsInstallAtOrgRegisterEventContractAndGenerateListener(\n\t\t\t\t{\n\t\t\t\t\temitPayloadSchema: buildEmitTargetAndPayloadSchema({\n\t\t\t\t\t\teventName: 'my-new-event',\n\t\t\t\t\t\ttargetSchema: eventTargetSchema,\n\t\t\t\t\t\tpayloadSchema: {\n\t\t\t\t\t\t\tid: 'myNewEventEmitPayload',\n\t\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\t\tbooleanField: {\n\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t\t}\n\t\t\t)\n\n\t\tassert.doesInclude(\n\t\t\tcontents,\n\t\t\t'event: SpruceEvent<SkillEventContract, EmitPayload>'\n\t\t)\n\n\t\tassert.doesInclude(\n\t\t\tcontents,\n\t\t\t`fullyQualifiedEventName: '${skill2.slug}.my-new-event::${this.expectedVersion}'`\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async emittingEventTriggersListenerAndCrashesWithListenerNotImplemented() {\n\t\tconst { currentSkill, skill2, eventContract, org } =\n\t\t\tawait this.setupSkillsInstallAtOrgRegisterEventContractAndGenerateListener(\n\t\t\t\t{\n\t\t\t\t\temitPayloadSchema: buildEmitTargetAndPayloadSchema({\n\t\t\t\t\t\teventName: 'my-new-event',\n\t\t\t\t\t\ttargetSchema: {\n\t\t\t\t\t\t\tid: 'myNewEventEmitTarget',\n\t\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\t\torganizationId: {\n\t\t\t\t\t\t\t\t\ttype: 'id',\n\t\t\t\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tpayloadSchema: {\n\t\t\t\t\t\t\tid: 'myNewEventEmitPayload',\n\t\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\t\tbooleanField: {\n\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t\t\tresponsePayloadSchema: buildSchema({\n\t\t\t\t\t\tid: 'myNewEventResponsePayload',\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tbooleanField: {\n\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t\t}\n\t\t\t)\n\n\t\tconst currentClient = await this.connectToApi({\n\t\t\tshouldAuthAsCurrentSkill: true,\n\t\t})\n\n\t\tawait currentClient.disconnect()\n\n\t\tconst boot = await this.Action('skill', 'boot').execute({ local: true })\n\n\t\tassert.isFalsy(boot.errors)\n\n\t\t//give the skill time to boot\n\t\tawait this.wait(20000)\n\n\t\tconst client = (await this.connectToApi({\n\t\t\tskillId: skill2.id,\n\t\t\tapiKey: skill2.apiKey,\n\t\t})) as any\n\n\t\tconst eventName = `${skill2.slug}.my-new-event::${this.expectedVersion}`\n\n\t\tclient.mixinContract({\n\t\t\teventSignatures: {\n\t\t\t\t[eventName]:\n\t\t\t\t\teventContract.eventSignatures[\n\t\t\t\t\t\t`my-new-event::${this.expectedVersion}`\n\t\t\t\t\t],\n\t\t\t},\n\t\t})\n\n\t\tlet results: any\n\n\t\tdo {\n\t\t\tawait this.wait(5000)\n\n\t\t\tresults = await client.emit(eventName, {\n\t\t\t\ttarget: {\n\t\t\t\t\torganizationId: org.id,\n\t\t\t\t},\n\t\t\t\tpayload: {\n\t\t\t\t\tbooleanField: true,\n\t\t\t\t},\n\t\t\t})\n\t\t} while (results.totalContracts < 1)\n\n\t\tassert.isEqual(results.totalContracts, 1)\n\t\tassert.isEqual(results.totalErrors, 1)\n\t\tassert.isEqual(results.totalResponses, 1)\n\n\t\tboot.meta?.promise?.catch((err: Error) => {\n\t\t\tassert.fail(err.stack)\n\t\t})\n\n\t\tawait boot.meta?.kill()\n\n\t\tconst error = assert.doesThrow(() =>\n\t\t\teventResponseUtil.getFirstResponseOrThrow(results)\n\t\t)\n\n\t\teventAssertUtil.assertError(error, 'LISTENER_NOT_IMPLEMENTED')\n\n\t\tconst responderRef = results.responses[0].responderRef\n\t\tassert.isEqual(\n\t\t\tresponderRef,\n\t\t\t`skill:${currentSkill.id}:${currentSkill.slug}`\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async listeningToAnEventWithNoEmitTargetOrPayloadGeneratesValidListener() {\n\t\tconst { listenerPath } =\n\t\t\tawait this.setupSkillsInstallAtOrgRegisterEventContractAndGenerateListener(\n\t\t\t\t{\n\t\t\t\t\tisGlobal: true,\n\t\t\t\t\tresponsePayloadSchema: {\n\t\t\t\t\t\tid: 'test',\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tid: {\n\t\t\t\t\t\t\t\ttype: 'id',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t)\n\n\t\tawait this.Service('typeChecker').check(listenerPath)\n\t}\n\n\t@test()\n\tprotected static async hasIsGlobalCheck() {\n\t\tconst match = await this.installEventsCreateListenerAndGetListenerMap()\n\t\tconst contents = diskUtil.readFile(match)\n\n\t\tassert.doesInclude(\n\t\t\tcontents,\n\t\t\t\"isGlobal: require('../../listeners/skill/will-boot.v2020_01_01.listener').isGlobal,\"\n\t\t)\n\t}\n\n\tprivate static async installAddDependencyExecuteAndWaitForInput(\n\t\tnamespace: string\n\t) {\n\t\tawait this.installEventFeature('events')\n\n\t\tthis.addDependency(namespace)\n\n\t\tawait this.executeAndWaitForInput()\n\t\treturn this.ui.getLastInvocation()\n\t}\n\n\tprivate static async executeAndWaitForInput() {\n\t\tvoid this.listen.execute({}).then((results) => {\n\t\t\tif (results.errors) {\n\t\t\t\tthis.ui.setError(results.errors[0])\n\t\t\t}\n\t\t})\n\n\t\tawait this.waitForInput()\n\t}\n\n\tprivate static addDependency(namespace: string) {\n\t\tconst dependencies = this.Service('dependency')\n\t\tdependencies.add({\n\t\t\tid: namespace,\n\t\t\tnamespace,\n\t\t})\n\t}\n\n\tprivate static async installEventsAndCreateListener() {\n\t\tconst cli = await this.installEventFeature('events')\n\n\t\tconst version = 'v2020_01_01'\n\n\t\tconst results = await this.listen.execute({\n\t\t\tnamespace: 'skill',\n\t\t\teventName: 'will-boot',\n\t\t\tversion,\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\t\treturn { version, results, cli }\n\t}\n\n\tprivate static async setupSkillsInstallAtOrgRegisterEventContractAndGenerateListener(\n\t\teventSignature: EventSignature\n\t) {\n\t\tconst expectedVersion = this.expectedVersion\n\n\t\tconst eventContract = {\n\t\t\teventSignatures: {\n\t\t\t\t[`my-new-event::${expectedVersion}`]: eventSignature,\n\t\t\t},\n\t\t} as const\n\n\t\tconst { skillFixture, skill2, currentSkill, cli, org } =\n\t\t\tawait this.seedDummySkillRegisterCurrentSkillAndInstallToOrg()\n\n\t\tawait skillFixture.registerEventContract(skill2, eventContract)\n\n\t\tthis.Service('dependency').add({\n\t\t\tid: skill2.id,\n\t\t\tnamespace: skill2.slug,\n\t\t})\n\n\t\tconst results = await this.listen.execute({\n\t\t\tnamespace: skill2.slug,\n\t\t\teventName: `my-new-event`,\n\t\t\tversion: expectedVersion,\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst listener = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t`my-new-event.${expectedVersion}.listener.ts`,\n\t\t\tresults.files\n\t\t)\n\n\t\tawait this.Service('typeChecker').check(listener)\n\n\t\tconst contents = diskUtil.readFile(listener)\n\n\t\treturn {\n\t\t\tcontents,\n\t\t\tskill2,\n\t\t\tlistenerPath: listener,\n\t\t\tcli,\n\t\t\teventContract,\n\t\t\torg,\n\t\t\tcurrentSkill,\n\t\t}\n\t}\n\n\tprivate static async installEventsCreateListenerAndGetListenerMap() {\n\t\tconst { results } = await this.installEventsAndCreateListener()\n\n\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t`listeners.ts`,\n\t\t\tresults.files\n\t\t)\n\t\treturn match\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { FeatureDependency } from '../../../features/AbstractFeature';
|
|
2
|
+
import FeatureInstaller from '../../../features/FeatureInstaller';
|
|
3
|
+
import { FeatureCode, FeatureInstallResponse, FeatureMap } from '../../../features/features.types';
|
|
4
|
+
export default class EverythingInstalledInstaller implements FeatureInstaller {
|
|
5
|
+
private featureMap;
|
|
6
|
+
mapFeature<C extends keyof FeatureMap>(code: C, feature: FeatureMap[C]): void;
|
|
7
|
+
install(): Promise<FeatureInstallResponse>;
|
|
8
|
+
getInstalledFeatures(): Promise<(import("../../../features/schema/SchemaFeature").default | import("../../../features/test/TestFeature").default | import("../../../features/skill/SkillFeature").default<import("@sprucelabs/mercury-types").SpruceSchemas.SpruceCli.v2020_07_22.SkillFeatureSchema> | import("../../../features/error/ErrorFeature").default | import("../../../features/node/NodeFeature").default<import("@sprucelabs/mercury-types").SpruceSchemas.SpruceCli.v2020_07_22.NodeFeatureOptionsSchema> | import("../../../features/dependencies/DependencyFeature").default | import("../../../features/cache/CacheFeature").default | import("../../../features/conversation/ConversationFeature").default | import("../../../features/deploy/DeployFeature").default | import("../../../features/event/EventFeature").default | import("../../../features/eventContract/EventContractFeature").default | import("../../../features/log/LogFeature").default | import("../../../features/onboard/OnboardFeature").default | import("../../../features/organization/OrganizationFeature").default | import("../../../features/permission/PermissionFeature").default | import("../../../features/person/PersonFeature").default | import("../../../features/polish/PolishFeature").default | import("../../../features/sandbox/SandboxFeature").default | import("../../../features/store/StoreFeature").default | import("../../../features/view/ViewFeature").default | import("../../../features/vscode/VsCodeFeature").default | import("../../../features/watch/WatchFeature").default)[]>;
|
|
9
|
+
getFeatureDependencies(): FeatureDependency[];
|
|
10
|
+
getAllCodes(): FeatureCode[];
|
|
11
|
+
isInstalled(_code: keyof FeatureMap): Promise<boolean>;
|
|
12
|
+
markAsSkippedThisRun(_code: keyof FeatureMap): void;
|
|
13
|
+
markAsPermanentlySkipped(_code: keyof FeatureMap): void;
|
|
14
|
+
isMarkedAsSkipped(_code: keyof FeatureMap): boolean;
|
|
15
|
+
getFeature<C extends keyof FeatureMap>(code: C): FeatureMap[C];
|
|
16
|
+
areInstalled(_codes: FeatureCode[]): Promise<boolean>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = void 0;
|
|
8
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
12
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
+
var EverythingInstalledInstaller = /*#__PURE__*/function () {
|
|
14
|
+
function EverythingInstalledInstaller() {
|
|
15
|
+
(0, _classCallCheck2["default"])(this, EverythingInstalledInstaller);
|
|
16
|
+
(0, _defineProperty2["default"])(this, "featureMap", {});
|
|
17
|
+
}
|
|
18
|
+
(0, _createClass2["default"])(EverythingInstalledInstaller, [{
|
|
19
|
+
key: "mapFeature",
|
|
20
|
+
value: function mapFeature(code, feature) {
|
|
21
|
+
this.featureMap[code] = feature;
|
|
22
|
+
}
|
|
23
|
+
}, {
|
|
24
|
+
key: "install",
|
|
25
|
+
value: function () {
|
|
26
|
+
var _install = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
27
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
28
|
+
while (1) {
|
|
29
|
+
switch (_context.prev = _context.next) {
|
|
30
|
+
case 0:
|
|
31
|
+
return _context.abrupt("return", {});
|
|
32
|
+
case 1:
|
|
33
|
+
case "end":
|
|
34
|
+
return _context.stop();
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}, _callee);
|
|
38
|
+
}));
|
|
39
|
+
function install() {
|
|
40
|
+
return _install.apply(this, arguments);
|
|
41
|
+
}
|
|
42
|
+
return install;
|
|
43
|
+
}()
|
|
44
|
+
}, {
|
|
45
|
+
key: "getInstalledFeatures",
|
|
46
|
+
value: function () {
|
|
47
|
+
var _getInstalledFeatures = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
48
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
49
|
+
while (1) {
|
|
50
|
+
switch (_context2.prev = _context2.next) {
|
|
51
|
+
case 0:
|
|
52
|
+
return _context2.abrupt("return", Object.values(this.featureMap));
|
|
53
|
+
case 1:
|
|
54
|
+
case "end":
|
|
55
|
+
return _context2.stop();
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}, _callee2, this);
|
|
59
|
+
}));
|
|
60
|
+
function getInstalledFeatures() {
|
|
61
|
+
return _getInstalledFeatures.apply(this, arguments);
|
|
62
|
+
}
|
|
63
|
+
return getInstalledFeatures;
|
|
64
|
+
}()
|
|
65
|
+
}, {
|
|
66
|
+
key: "getFeatureDependencies",
|
|
67
|
+
value: function getFeatureDependencies() {
|
|
68
|
+
return [];
|
|
69
|
+
}
|
|
70
|
+
}, {
|
|
71
|
+
key: "getAllCodes",
|
|
72
|
+
value: function getAllCodes() {
|
|
73
|
+
return Object.keys(this.featureMap);
|
|
74
|
+
}
|
|
75
|
+
}, {
|
|
76
|
+
key: "isInstalled",
|
|
77
|
+
value: function () {
|
|
78
|
+
var _isInstalled = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(_code) {
|
|
79
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
80
|
+
while (1) {
|
|
81
|
+
switch (_context3.prev = _context3.next) {
|
|
82
|
+
case 0:
|
|
83
|
+
return _context3.abrupt("return", true);
|
|
84
|
+
case 1:
|
|
85
|
+
case "end":
|
|
86
|
+
return _context3.stop();
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}, _callee3);
|
|
90
|
+
}));
|
|
91
|
+
function isInstalled(_x) {
|
|
92
|
+
return _isInstalled.apply(this, arguments);
|
|
93
|
+
}
|
|
94
|
+
return isInstalled;
|
|
95
|
+
}()
|
|
96
|
+
}, {
|
|
97
|
+
key: "markAsSkippedThisRun",
|
|
98
|
+
value: function markAsSkippedThisRun(_code) {}
|
|
99
|
+
}, {
|
|
100
|
+
key: "markAsPermanentlySkipped",
|
|
101
|
+
value: function markAsPermanentlySkipped(_code) {}
|
|
102
|
+
}, {
|
|
103
|
+
key: "isMarkedAsSkipped",
|
|
104
|
+
value: function isMarkedAsSkipped(_code) {
|
|
105
|
+
return false;
|
|
106
|
+
}
|
|
107
|
+
}, {
|
|
108
|
+
key: "getFeature",
|
|
109
|
+
value: function getFeature(code) {
|
|
110
|
+
return this.featureMap[code];
|
|
111
|
+
}
|
|
112
|
+
}, {
|
|
113
|
+
key: "areInstalled",
|
|
114
|
+
value: function () {
|
|
115
|
+
var _areInstalled = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(_codes) {
|
|
116
|
+
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
117
|
+
while (1) {
|
|
118
|
+
switch (_context4.prev = _context4.next) {
|
|
119
|
+
case 0:
|
|
120
|
+
return _context4.abrupt("return", true);
|
|
121
|
+
case 1:
|
|
122
|
+
case "end":
|
|
123
|
+
return _context4.stop();
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}, _callee4);
|
|
127
|
+
}));
|
|
128
|
+
function areInstalled(_x2) {
|
|
129
|
+
return _areInstalled.apply(this, arguments);
|
|
130
|
+
}
|
|
131
|
+
return areInstalled;
|
|
132
|
+
}()
|
|
133
|
+
}]);
|
|
134
|
+
return EverythingInstalledInstaller;
|
|
135
|
+
}();
|
|
136
|
+
exports["default"] = EverythingInstalledInstaller;
|
|
137
|
+
//# sourceMappingURL=EverythingInstalledInstaller.js.map
|