@sprucelabs/spruce-cli 14.26.16 → 14.27.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +35 -0
- package/build/.spruce/errors/errors.types.d.ts +19 -0
- package/build/.spruce/errors/options.types.d.ts +4 -1
- package/build/.spruce/errors/spruceCli/dependencyExists.schema.d.ts +3 -0
- package/build/.spruce/errors/spruceCli/dependencyExists.schema.js +28 -0
- package/build/.spruce/errors/spruceCli/dependencyExists.schema.js.map +1 -0
- package/build/__tests__/behavioral/AddingADependency.test.d.ts +6 -3
- package/build/__tests__/behavioral/AddingADependency.test.js +116 -44
- package/build/__tests__/behavioral/AddingADependency.test.js.map +1 -1
- package/build/__tests__/behavioral/InstallingASkillAtAnOrg.test.js +2 -2
- package/build/__tests__/behavioral/InstallingASkillAtAnOrg.test.js.map +1 -1
- package/build/__tests__/behavioral/LoggingInAsASkill.test.js +4 -4
- package/build/__tests__/behavioral/LoggingInAsASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/ManagingDependencies.test.js +3 -3
- package/build/__tests__/behavioral/ManagingDependencies.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/SettingRemote.test.js +1 -1
- package/build/__tests__/behavioral/SettingRemote.test.js.map +1 -1
- package/build/__tests__/behavioral/SettingUpVscode.test.js +3 -3
- package/build/__tests__/behavioral/SettingUpVscode.test.js.map +1 -1
- package/build/__tests__/behavioral/TestingDataStores.test.js +2 -2
- package/build/__tests__/behavioral/TestingDataStores.test.js.map +1 -1
- package/build/__tests__/behavioral/events/CreatingAListener.test.js +2 -2
- package/build/__tests__/behavioral/events/CreatingAListener.test.js.map +1 -1
- package/build/__tests__/behavioral/events/CreatingAnEvent.test.d.ts +3 -2
- package/build/__tests__/behavioral/events/CreatingAnEvent.test.js +156 -106
- package/build/__tests__/behavioral/events/CreatingAnEvent.test.js.map +1 -1
- package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js +6 -9
- package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js +7 -4
- package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/skill/UpgradingASkill.test.js +7 -7
- package/build/__tests__/behavioral/skill/UpgradingASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/skill/UpgradingASkill3.test.js +2 -2
- package/build/__tests__/behavioral/skill/UpgradingASkill3.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js +1 -1
- package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js.map +1 -1
- package/build/__tests__/behavioral/views/CreatingASkillView.test.js +3 -3
- package/build/__tests__/behavioral/views/CreatingASkillView.test.js.map +1 -1
- package/build/__tests__/behavioral/views/TestingViewControllers.test.js +2 -2
- package/build/__tests__/behavioral/views/TestingViewControllers.test.js.map +1 -1
- package/build/__tests__/implementation/ActionExecuter2.test.js +3 -3
- package/build/__tests__/implementation/ActionExecuter2.test.js.map +1 -1
- package/build/errors/SpruceError.js +4 -0
- package/build/errors/SpruceError.js.map +1 -1
- package/build/errors/dependencyExists.builder.d.ts +11 -0
- package/build/errors/dependencyExists.builder.js +22 -0
- package/build/errors/dependencyExists.builder.js.map +1 -0
- package/build/features/AbstractAction.js +1 -1
- package/build/features/AbstractAction.js.map +1 -1
- package/build/features/dependencies/actions/AddAction.js +22 -15
- package/build/features/dependencies/actions/AddAction.js.map +1 -1
- package/build/features/event/actions/CreateAction.js +1 -1
- package/build/features/event/actions/CreateAction.js.map +1 -1
- package/build/interfaces/SpyInterface.d.ts +1 -1
- package/build/interfaces/SpyInterface.js +2 -2
- package/build/interfaces/SpyInterface.js.map +1 -1
- package/build/services/DependencyService.d.ts +1 -0
- package/build/services/DependencyService.js +18 -0
- package/build/services/DependencyService.js.map +1 -1
- package/build/tests/AbstractCliTest.js +1 -1
- package/build/tests/AbstractCliTest.js.map +1 -1
- package/build/tests/utilities/uiAssert.utility.d.ts +6 -0
- package/build/tests/utilities/uiAssert.utility.js +51 -0
- package/build/tests/utilities/uiAssert.utility.js.map +1 -0
- package/package.json +30 -28
- package/src/.spruce/errors/errors.types.ts +29 -0
- package/src/.spruce/errors/options.types.ts +4 -1
- package/src/.spruce/errors/spruceCli/dependencyExists.schema.ts +22 -0
- package/src/__tests__/behavioral/AddingADependency.test.ts +45 -8
- package/src/__tests__/behavioral/InstallingASkillAtAnOrg.test.ts +3 -3
- package/src/__tests__/behavioral/LoggingInAsASkill.test.ts +4 -4
- package/src/__tests__/behavioral/ManagingDependencies.test.ts +3 -3
- package/src/__tests__/behavioral/RememberingUpgradeSelections.test.ts +1 -1
- package/src/__tests__/behavioral/SettingRemote.test.ts +1 -1
- package/src/__tests__/behavioral/SettingUpVscode.test.ts +3 -3
- package/src/__tests__/behavioral/TestingDataStores.test.ts +2 -2
- package/src/__tests__/behavioral/events/CreatingAListener.test.ts +2 -2
- package/src/__tests__/behavioral/events/CreatingAnEvent.test.ts +44 -22
- package/src/__tests__/behavioral/events/KeepingEventsInSync2.test.ts +1 -1
- package/src/__tests__/behavioral/schemas/KeepingSchemasInSync.test.ts +2 -0
- package/src/__tests__/behavioral/skill/UpgradingASkill.test.ts +7 -7
- package/src/__tests__/behavioral/skill/UpgradingASkill3.test.ts +2 -2
- package/src/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.ts +1 -1
- package/src/__tests__/behavioral/views/CreatingASkillView.test.ts +3 -3
- package/src/__tests__/behavioral/views/TestingViewControllers.test.ts +2 -2
- package/src/__tests__/implementation/ActionExecuter2.test.ts +3 -3
- package/src/errors/SpruceError.ts +4 -0
- package/src/errors/dependencyExists.builder.ts +12 -0
- package/src/features/AbstractAction.ts +1 -4
- package/src/features/dependencies/actions/AddAction.ts +12 -5
- package/src/features/event/actions/CreateAction.ts +4 -1
- package/src/interfaces/SpyInterface.ts +1 -1
- package/src/services/DependencyService.ts +14 -0
- package/src/tests/AbstractCliTest.ts +1 -1
- package/src/tests/utilities/uiAssert.utility.ts +29 -0
|
@@ -37,9 +37,15 @@ var _AbstractEventTest2 = _interopRequireDefault(require("../../../tests/Abstrac
|
|
|
37
37
|
|
|
38
38
|
var _test2 = _interopRequireDefault(require("../../../tests/utilities/test.utility"));
|
|
39
39
|
|
|
40
|
+
var _uiAssert = _interopRequireDefault(require("../../../tests/utilities/uiAssert.utility"));
|
|
41
|
+
|
|
40
42
|
var _action = _interopRequireDefault(require("../../../utilities/action.utility"));
|
|
41
43
|
|
|
42
|
-
var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _class, _class2, _temp;
|
|
44
|
+
var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _class, _class2, _temp;
|
|
45
|
+
|
|
46
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
47
|
+
|
|
48
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
43
49
|
|
|
44
50
|
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); }; }
|
|
45
51
|
|
|
@@ -48,7 +54,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
|
|
|
48
54
|
var EVENT_NAME_READABLE = 'my fantastically amazing event';
|
|
49
55
|
var EVENT_NAME = 'my-fantastically-amazing-event';
|
|
50
56
|
var EVENT_CAMEL = 'myFantasticallyAmazingEvent';
|
|
51
|
-
var CreatingAnEventTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(), _dec3 = (0, _test.test)(), _dec4 = (0, _test.test)(), _dec5 = (0, _test.test)(), _dec6 = (0, _test.test)(), (_class = (_temp = _class2 = /*#__PURE__*/function (_AbstractEventTest) {
|
|
57
|
+
var CreatingAnEventTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(), _dec3 = (0, _test.test)(), _dec4 = (0, _test.test)(), _dec5 = (0, _test.test)(), _dec6 = (0, _test.test)(), _dec7 = (0, _test.test)(), (_class = (_temp = _class2 = /*#__PURE__*/function (_AbstractEventTest) {
|
|
52
58
|
(0, _inherits2["default"])(CreatingAnEventTest, _AbstractEventTest);
|
|
53
59
|
|
|
54
60
|
var _super = _createSuper(CreatingAnEventTest);
|
|
@@ -86,6 +92,7 @@ var CreatingAnEventTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
|
|
|
86
92
|
key: "cantCreateEventWithoutBeingRegistered",
|
|
87
93
|
value: function () {
|
|
88
94
|
var _cantCreateEventWithoutBeingRegistered = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
95
|
+
var results;
|
|
89
96
|
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
90
97
|
while (1) {
|
|
91
98
|
switch (_context2.prev = _context2.next) {
|
|
@@ -95,9 +102,21 @@ var CreatingAnEventTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
|
|
|
95
102
|
|
|
96
103
|
case 2:
|
|
97
104
|
_context2.next = 4;
|
|
98
|
-
return this.
|
|
105
|
+
return this.Action('event', 'create').execute({
|
|
106
|
+
nameReadable: EVENT_NAME_READABLE,
|
|
107
|
+
nameKebab: EVENT_NAME,
|
|
108
|
+
nameCamel: EVENT_CAMEL,
|
|
109
|
+
version: this.expectedVersion
|
|
110
|
+
});
|
|
99
111
|
|
|
100
112
|
case 4:
|
|
113
|
+
results = _context2.sent;
|
|
114
|
+
|
|
115
|
+
_test.assert.isArray(results.errors);
|
|
116
|
+
|
|
117
|
+
_testUtils.errorAssertUtil.assertError(results.errors[0], 'SKILL_NOT_REGISTERED');
|
|
118
|
+
|
|
119
|
+
case 7:
|
|
101
120
|
case "end":
|
|
102
121
|
return _context2.stop();
|
|
103
122
|
}
|
|
@@ -163,9 +182,9 @@ var CreatingAnEventTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
|
|
|
163
182
|
return createsPayloadBuildersAndSchemas;
|
|
164
183
|
}()
|
|
165
184
|
}, {
|
|
166
|
-
key: "
|
|
185
|
+
key: "createsEventWithPayloadsPermissionsAndOptions",
|
|
167
186
|
value: function () {
|
|
168
|
-
var
|
|
187
|
+
var _createsEventWithPayloadsPermissionsAndOptions = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
|
|
169
188
|
var _yield$this$createEve2, results, cli, skill, syncResults, mixedResults;
|
|
170
189
|
|
|
171
190
|
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
@@ -223,11 +242,11 @@ var CreatingAnEventTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
|
|
|
223
242
|
}, _callee4, this);
|
|
224
243
|
}));
|
|
225
244
|
|
|
226
|
-
function
|
|
227
|
-
return
|
|
245
|
+
function createsEventWithPayloadsPermissionsAndOptions() {
|
|
246
|
+
return _createsEventWithPayloadsPermissionsAndOptions.apply(this, arguments);
|
|
228
247
|
}
|
|
229
248
|
|
|
230
|
-
return
|
|
249
|
+
return createsEventWithPayloadsPermissionsAndOptions;
|
|
231
250
|
}()
|
|
232
251
|
}, {
|
|
233
252
|
key: "createdEventsAreTypedCorrectly",
|
|
@@ -321,38 +340,74 @@ var CreatingAnEventTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
|
|
|
321
340
|
return canReferenceSchemaFromOtherModule;
|
|
322
341
|
}()
|
|
323
342
|
}, {
|
|
324
|
-
key: "
|
|
343
|
+
key: "asksForVersionIfPreviousVersionExistsOnDifferentDay",
|
|
325
344
|
value: function () {
|
|
326
|
-
var
|
|
327
|
-
var cli, skill, results;
|
|
345
|
+
var _asksForVersionIfPreviousVersionExistsOnDifferentDay = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7() {
|
|
328
346
|
return _regenerator["default"].wrap(function _callee7$(_context7) {
|
|
329
347
|
while (1) {
|
|
330
348
|
switch (_context7.prev = _context7.next) {
|
|
331
349
|
case 0:
|
|
332
350
|
_context7.next = 2;
|
|
333
|
-
return this.
|
|
351
|
+
return this.createEvent({
|
|
352
|
+
version: _spruceSkillUtils.versionUtil.generateVersion('2020_01_10').constValue
|
|
353
|
+
});
|
|
334
354
|
|
|
335
355
|
case 2:
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
}, {
|
|
341
|
-
phone: process.env.DEMO_NUMBER_CREATING_AN_EVENT
|
|
356
|
+
void this.Action('event', 'create').execute({
|
|
357
|
+
nameReadable: EVENT_NAME_READABLE,
|
|
358
|
+
nameKebab: EVENT_NAME,
|
|
359
|
+
nameCamel: EVENT_CAMEL
|
|
342
360
|
});
|
|
361
|
+
_context7.next = 5;
|
|
362
|
+
return _uiAssert["default"].assertRendersSelect(this.ui);
|
|
343
363
|
|
|
344
364
|
case 5:
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
365
|
+
this.ui.reset();
|
|
366
|
+
|
|
367
|
+
case 6:
|
|
368
|
+
case "end":
|
|
369
|
+
return _context7.stop();
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
}, _callee7, this);
|
|
373
|
+
}));
|
|
374
|
+
|
|
375
|
+
function asksForVersionIfPreviousVersionExistsOnDifferentDay() {
|
|
376
|
+
return _asksForVersionIfPreviousVersionExistsOnDifferentDay.apply(this, arguments);
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
return asksForVersionIfPreviousVersionExistsOnDifferentDay;
|
|
380
|
+
}()
|
|
381
|
+
}, {
|
|
382
|
+
key: "createEvent",
|
|
383
|
+
value: function () {
|
|
384
|
+
var _createEvent = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee8(options) {
|
|
385
|
+
var cli, skill, results;
|
|
386
|
+
return _regenerator["default"].wrap(function _callee8$(_context8) {
|
|
387
|
+
while (1) {
|
|
388
|
+
switch (_context8.prev = _context8.next) {
|
|
389
|
+
case 0:
|
|
390
|
+
_context8.next = 2;
|
|
391
|
+
return this.FeatureFixture().installCachedFeatures('events');
|
|
392
|
+
|
|
393
|
+
case 2:
|
|
394
|
+
cli = _context8.sent;
|
|
395
|
+
_context8.next = 5;
|
|
396
|
+
return this.registerCurrentSkill();
|
|
397
|
+
|
|
398
|
+
case 5:
|
|
399
|
+
skill = _context8.sent;
|
|
400
|
+
_context8.next = 8;
|
|
401
|
+
return this.Action('event', 'create').execute(_objectSpread({
|
|
348
402
|
nameReadable: EVENT_NAME_READABLE,
|
|
349
403
|
nameKebab: EVENT_NAME,
|
|
350
|
-
nameCamel: EVENT_CAMEL
|
|
351
|
-
|
|
404
|
+
nameCamel: EVENT_CAMEL,
|
|
405
|
+
version: this.expectedVersion
|
|
406
|
+
}, options));
|
|
352
407
|
|
|
353
408
|
case 8:
|
|
354
|
-
results =
|
|
355
|
-
return
|
|
409
|
+
results = _context8.sent;
|
|
410
|
+
return _context8.abrupt("return", {
|
|
356
411
|
results: results,
|
|
357
412
|
cli: cli,
|
|
358
413
|
skill: skill
|
|
@@ -360,33 +415,65 @@ var CreatingAnEventTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
|
|
|
360
415
|
|
|
361
416
|
case 10:
|
|
362
417
|
case "end":
|
|
363
|
-
return
|
|
418
|
+
return _context8.stop();
|
|
364
419
|
}
|
|
365
420
|
}
|
|
366
|
-
},
|
|
421
|
+
}, _callee8, this);
|
|
367
422
|
}));
|
|
368
423
|
|
|
369
|
-
function createEvent() {
|
|
424
|
+
function createEvent(_x) {
|
|
370
425
|
return _createEvent.apply(this, arguments);
|
|
371
426
|
}
|
|
372
427
|
|
|
373
428
|
return createEvent;
|
|
374
429
|
}()
|
|
430
|
+
}, {
|
|
431
|
+
key: "registerCurrentSkill",
|
|
432
|
+
value: function () {
|
|
433
|
+
var _registerCurrentSkill = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee9() {
|
|
434
|
+
return _regenerator["default"].wrap(function _callee9$(_context9) {
|
|
435
|
+
while (1) {
|
|
436
|
+
switch (_context9.prev = _context9.next) {
|
|
437
|
+
case 0:
|
|
438
|
+
_context9.next = 2;
|
|
439
|
+
return this.getSkillFixture().registerCurrentSkill({
|
|
440
|
+
name: 'my new skill'
|
|
441
|
+
}, {
|
|
442
|
+
phone: process.env.DEMO_NUMBER_CREATING_AN_EVENT
|
|
443
|
+
});
|
|
444
|
+
|
|
445
|
+
case 2:
|
|
446
|
+
return _context9.abrupt("return", _context9.sent);
|
|
447
|
+
|
|
448
|
+
case 3:
|
|
449
|
+
case "end":
|
|
450
|
+
return _context9.stop();
|
|
451
|
+
}
|
|
452
|
+
}
|
|
453
|
+
}, _callee9, this);
|
|
454
|
+
}));
|
|
455
|
+
|
|
456
|
+
function registerCurrentSkill() {
|
|
457
|
+
return _registerCurrentSkill.apply(this, arguments);
|
|
458
|
+
}
|
|
459
|
+
|
|
460
|
+
return registerCurrentSkill;
|
|
461
|
+
}()
|
|
375
462
|
}, {
|
|
376
463
|
key: "assertCreatesOptionsFile",
|
|
377
464
|
value: function () {
|
|
378
|
-
var _assertCreatesOptionsFile = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
465
|
+
var _assertCreatesOptionsFile = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee10(results) {
|
|
379
466
|
var optionsFile, imported;
|
|
380
|
-
return _regenerator["default"].wrap(function
|
|
467
|
+
return _regenerator["default"].wrap(function _callee10$(_context10) {
|
|
381
468
|
while (1) {
|
|
382
|
-
switch (
|
|
469
|
+
switch (_context10.prev = _context10.next) {
|
|
383
470
|
case 0:
|
|
384
471
|
optionsFile = _test2["default"].assertFileByNameInGeneratedFiles('event.options.ts', results.files);
|
|
385
|
-
|
|
472
|
+
_context10.next = 3;
|
|
386
473
|
return this.Service('import').importDefault(optionsFile);
|
|
387
474
|
|
|
388
475
|
case 3:
|
|
389
|
-
imported =
|
|
476
|
+
imported = _context10.sent;
|
|
390
477
|
|
|
391
478
|
_test.assert.isEqualDeep(imported, {
|
|
392
479
|
isGlobal: false
|
|
@@ -394,13 +481,13 @@ var CreatingAnEventTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
|
|
|
394
481
|
|
|
395
482
|
case 5:
|
|
396
483
|
case "end":
|
|
397
|
-
return
|
|
484
|
+
return _context10.stop();
|
|
398
485
|
}
|
|
399
486
|
}
|
|
400
|
-
},
|
|
487
|
+
}, _callee10, this);
|
|
401
488
|
}));
|
|
402
489
|
|
|
403
|
-
function assertCreatesOptionsFile(
|
|
490
|
+
function assertCreatesOptionsFile(_x2) {
|
|
404
491
|
return _assertCreatesOptionsFile.apply(this, arguments);
|
|
405
492
|
}
|
|
406
493
|
|
|
@@ -409,20 +496,20 @@ var CreatingAnEventTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
|
|
|
409
496
|
}, {
|
|
410
497
|
key: "assertExpectedTargetAndPayload",
|
|
411
498
|
value: function () {
|
|
412
|
-
var _assertExpectedTargetAndPayload = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
499
|
+
var _assertExpectedTargetAndPayload = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee11(results, skill) {
|
|
413
500
|
var _schema$fields, _schema$fields2;
|
|
414
501
|
|
|
415
502
|
var match, schema;
|
|
416
|
-
return _regenerator["default"].wrap(function
|
|
503
|
+
return _regenerator["default"].wrap(function _callee11$(_context11) {
|
|
417
504
|
while (1) {
|
|
418
|
-
switch (
|
|
505
|
+
switch (_context11.prev = _context11.next) {
|
|
419
506
|
case 0:
|
|
420
507
|
match = _test2["default"].assertFileByPathInGeneratedFiles(new RegExp("".concat(_spruceSkillUtils.namesUtil.toCamel(skill.slug), ".*?").concat(this.expectedVersion, ".*?myFantasticallyAmazingEventEmitTargetAndPayload"), 'gis'), results.files);
|
|
421
|
-
|
|
508
|
+
_context11.next = 3;
|
|
422
509
|
return this.Service('schema').importSchema(match);
|
|
423
510
|
|
|
424
511
|
case 3:
|
|
425
|
-
schema =
|
|
512
|
+
schema = _context11.sent;
|
|
426
513
|
|
|
427
514
|
_test.assert.isEqual(schema.id, 'myFantasticallyAmazingEventEmitTargetAndPayload');
|
|
428
515
|
|
|
@@ -432,13 +519,13 @@ var CreatingAnEventTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
|
|
|
432
519
|
|
|
433
520
|
case 7:
|
|
434
521
|
case "end":
|
|
435
|
-
return
|
|
522
|
+
return _context11.stop();
|
|
436
523
|
}
|
|
437
524
|
}
|
|
438
|
-
},
|
|
525
|
+
}, _callee11, this);
|
|
439
526
|
}));
|
|
440
527
|
|
|
441
|
-
function assertExpectedTargetAndPayload(
|
|
528
|
+
function assertExpectedTargetAndPayload(_x3, _x4) {
|
|
442
529
|
return _assertExpectedTargetAndPayload.apply(this, arguments);
|
|
443
530
|
}
|
|
444
531
|
|
|
@@ -447,12 +534,12 @@ var CreatingAnEventTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
|
|
|
447
534
|
}, {
|
|
448
535
|
key: "createsExpectedPermissionContract",
|
|
449
536
|
value: function () {
|
|
450
|
-
var _createsExpectedPermissionContract = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
537
|
+
var _createsExpectedPermissionContract = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee12(results) {
|
|
451
538
|
var builders, _i2, _builders, builder, filename, match, path;
|
|
452
539
|
|
|
453
|
-
return _regenerator["default"].wrap(function
|
|
540
|
+
return _regenerator["default"].wrap(function _callee12$(_context12) {
|
|
454
541
|
while (1) {
|
|
455
|
-
switch (
|
|
542
|
+
switch (_context12.prev = _context12.next) {
|
|
456
543
|
case 0:
|
|
457
544
|
builders = [{
|
|
458
545
|
filename: 'emitPermissions.builder.ts'
|
|
@@ -473,69 +560,32 @@ var CreatingAnEventTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
|
|
|
473
560
|
|
|
474
561
|
case 2:
|
|
475
562
|
case "end":
|
|
476
|
-
return
|
|
563
|
+
return _context12.stop();
|
|
477
564
|
}
|
|
478
565
|
}
|
|
479
|
-
},
|
|
566
|
+
}, _callee12, this);
|
|
480
567
|
}));
|
|
481
568
|
|
|
482
|
-
function createsExpectedPermissionContract(
|
|
569
|
+
function createsExpectedPermissionContract(_x5) {
|
|
483
570
|
return _createsExpectedPermissionContract.apply(this, arguments);
|
|
484
571
|
}
|
|
485
572
|
|
|
486
573
|
return createsExpectedPermissionContract;
|
|
487
574
|
}()
|
|
488
|
-
}, {
|
|
489
|
-
key: "assertCantCreateWithoutBeingRegistered",
|
|
490
|
-
value: function () {
|
|
491
|
-
var _assertCantCreateWithoutBeingRegistered = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee11() {
|
|
492
|
-
var results;
|
|
493
|
-
return _regenerator["default"].wrap(function _callee11$(_context11) {
|
|
494
|
-
while (1) {
|
|
495
|
-
switch (_context11.prev = _context11.next) {
|
|
496
|
-
case 0:
|
|
497
|
-
_context11.next = 2;
|
|
498
|
-
return this.Action('event', 'create').execute({
|
|
499
|
-
nameReadable: EVENT_NAME_READABLE,
|
|
500
|
-
nameKebab: EVENT_NAME,
|
|
501
|
-
nameCamel: EVENT_CAMEL
|
|
502
|
-
});
|
|
503
|
-
|
|
504
|
-
case 2:
|
|
505
|
-
results = _context11.sent;
|
|
506
|
-
|
|
507
|
-
_test.assert.isArray(results.errors);
|
|
508
|
-
|
|
509
|
-
_testUtils.errorAssertUtil.assertError(results.errors[0], 'SKILL_NOT_REGISTERED');
|
|
510
|
-
|
|
511
|
-
case 5:
|
|
512
|
-
case "end":
|
|
513
|
-
return _context11.stop();
|
|
514
|
-
}
|
|
515
|
-
}
|
|
516
|
-
}, _callee11, this);
|
|
517
|
-
}));
|
|
518
|
-
|
|
519
|
-
function assertCantCreateWithoutBeingRegistered() {
|
|
520
|
-
return _assertCantCreateWithoutBeingRegistered.apply(this, arguments);
|
|
521
|
-
}
|
|
522
|
-
|
|
523
|
-
return assertCantCreateWithoutBeingRegistered;
|
|
524
|
-
}()
|
|
525
575
|
}, {
|
|
526
576
|
key: "assertReturnsEventFromHealthCheck",
|
|
527
577
|
value: function () {
|
|
528
|
-
var _assertReturnsEventFromHealthCheck = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
578
|
+
var _assertReturnsEventFromHealthCheck = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee13(cli, skill) {
|
|
529
579
|
var health, eventName, eventNamespace;
|
|
530
|
-
return _regenerator["default"].wrap(function
|
|
580
|
+
return _regenerator["default"].wrap(function _callee13$(_context13) {
|
|
531
581
|
while (1) {
|
|
532
|
-
switch (
|
|
582
|
+
switch (_context13.prev = _context13.next) {
|
|
533
583
|
case 0:
|
|
534
|
-
|
|
584
|
+
_context13.next = 2;
|
|
535
585
|
return cli.checkHealth();
|
|
536
586
|
|
|
537
587
|
case 2:
|
|
538
|
-
health =
|
|
588
|
+
health = _context13.sent;
|
|
539
589
|
|
|
540
590
|
_test.assert.isTruthy(health.event);
|
|
541
591
|
|
|
@@ -560,13 +610,13 @@ var CreatingAnEventTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
|
|
|
560
610
|
|
|
561
611
|
case 9:
|
|
562
612
|
case "end":
|
|
563
|
-
return
|
|
613
|
+
return _context13.stop();
|
|
564
614
|
}
|
|
565
615
|
}
|
|
566
|
-
},
|
|
616
|
+
}, _callee13, this);
|
|
567
617
|
}));
|
|
568
618
|
|
|
569
|
-
function assertReturnsEventFromHealthCheck(
|
|
619
|
+
function assertReturnsEventFromHealthCheck(_x6, _x7) {
|
|
570
620
|
return _assertReturnsEventFromHealthCheck.apply(this, arguments);
|
|
571
621
|
}
|
|
572
622
|
|
|
@@ -575,12 +625,12 @@ var CreatingAnEventTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
|
|
|
575
625
|
}, {
|
|
576
626
|
key: "assertExpectedPayloadSchemas",
|
|
577
627
|
value: function () {
|
|
578
|
-
var _assertExpectedPayloadSchemas = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
628
|
+
var _assertExpectedPayloadSchemas = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee14(results) {
|
|
579
629
|
var payloadSchemas, schemas, _i3, _payloadSchemas, payload, match, imported;
|
|
580
630
|
|
|
581
|
-
return _regenerator["default"].wrap(function
|
|
631
|
+
return _regenerator["default"].wrap(function _callee14$(_context14) {
|
|
582
632
|
while (1) {
|
|
583
|
-
switch (
|
|
633
|
+
switch (_context14.prev = _context14.next) {
|
|
584
634
|
case 0:
|
|
585
635
|
payloadSchemas = [{
|
|
586
636
|
fileName: 'emitPayload.builder.ts',
|
|
@@ -597,7 +647,7 @@ var CreatingAnEventTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
|
|
|
597
647
|
|
|
598
648
|
case 3:
|
|
599
649
|
if (!(_i3 < _payloadSchemas.length)) {
|
|
600
|
-
|
|
650
|
+
_context14.next = 14;
|
|
601
651
|
break;
|
|
602
652
|
}
|
|
603
653
|
|
|
@@ -610,28 +660,28 @@ var CreatingAnEventTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
|
|
|
610
660
|
version: this.expectedVersion
|
|
611
661
|
}));
|
|
612
662
|
|
|
613
|
-
|
|
663
|
+
_context14.next = 9;
|
|
614
664
|
return schemas.importSchema(match);
|
|
615
665
|
|
|
616
666
|
case 9:
|
|
617
|
-
imported =
|
|
667
|
+
imported = _context14.sent;
|
|
618
668
|
|
|
619
669
|
_test.assert.isEqual(imported.id, payload.expectedId);
|
|
620
670
|
|
|
621
671
|
case 11:
|
|
622
672
|
_i3++;
|
|
623
|
-
|
|
673
|
+
_context14.next = 3;
|
|
624
674
|
break;
|
|
625
675
|
|
|
626
676
|
case 14:
|
|
627
677
|
case "end":
|
|
628
|
-
return
|
|
678
|
+
return _context14.stop();
|
|
629
679
|
}
|
|
630
680
|
}
|
|
631
|
-
},
|
|
681
|
+
}, _callee14, this);
|
|
632
682
|
}));
|
|
633
683
|
|
|
634
|
-
function assertExpectedPayloadSchemas(
|
|
684
|
+
function assertExpectedPayloadSchemas(_x8) {
|
|
635
685
|
return _assertExpectedPayloadSchemas.apply(this, arguments);
|
|
636
686
|
}
|
|
637
687
|
|
|
@@ -639,6 +689,6 @@ var CreatingAnEventTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
|
|
|
639
689
|
}()
|
|
640
690
|
}]);
|
|
641
691
|
return CreatingAnEventTest;
|
|
642
|
-
}(_AbstractEventTest2["default"]), (0, _defineProperty2["default"])(_class2, "expectedVersion", _spruceSkillUtils.versionUtil.generateVersion().constValue), _temp), ((0, _applyDecoratedDescriptor2["default"])(_class, "hasCreateAction", [_dec], Object.getOwnPropertyDescriptor(_class, "hasCreateAction"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "cantCreateEventWithoutBeingRegistered", [_dec2], Object.getOwnPropertyDescriptor(_class, "cantCreateEventWithoutBeingRegistered"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "createsPayloadBuildersAndSchemas", [_dec3], Object.getOwnPropertyDescriptor(_class, "createsPayloadBuildersAndSchemas"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "
|
|
692
|
+
}(_AbstractEventTest2["default"]), (0, _defineProperty2["default"])(_class2, "expectedVersion", _spruceSkillUtils.versionUtil.generateVersion().constValue), _temp), ((0, _applyDecoratedDescriptor2["default"])(_class, "hasCreateAction", [_dec], Object.getOwnPropertyDescriptor(_class, "hasCreateAction"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "cantCreateEventWithoutBeingRegistered", [_dec2], Object.getOwnPropertyDescriptor(_class, "cantCreateEventWithoutBeingRegistered"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "createsPayloadBuildersAndSchemas", [_dec3], Object.getOwnPropertyDescriptor(_class, "createsPayloadBuildersAndSchemas"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "createsEventWithPayloadsPermissionsAndOptions", [_dec4], Object.getOwnPropertyDescriptor(_class, "createsEventWithPayloadsPermissionsAndOptions"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "createdEventsAreTypedCorrectly", [_dec5], Object.getOwnPropertyDescriptor(_class, "createdEventsAreTypedCorrectly"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "canReferenceSchemaFromOtherModule", [_dec6], Object.getOwnPropertyDescriptor(_class, "canReferenceSchemaFromOtherModule"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "asksForVersionIfPreviousVersionExistsOnDifferentDay", [_dec7], Object.getOwnPropertyDescriptor(_class, "asksForVersionIfPreviousVersionExistsOnDifferentDay"), _class)), _class));
|
|
643
693
|
exports["default"] = CreatingAnEventTest;
|
|
644
694
|
//# sourceMappingURL=CreatingAnEvent.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/__tests__/behavioral/events/CreatingAnEvent.test.ts"],"names":["EVENT_NAME_READABLE","EVENT_NAME","EVENT_CAMEL","CreatingAnEventTest","assert","isFunction","Action","execute","FeatureFixture","installCachedFeatures","assertCantCreateWithoutBeingRegistered","createEvent","results","skill","filesThatShouldExist","RegExp","namesUtil","toCamel","slug","expectedVersion","checker","Service","name","match","testUtil","assertFileByPathInGeneratedFiles","files","check","cli","isFalsy","errors","copyEventBuildersAndPermissions","syncResults","mixedResults","actionUtil","mergeActionResults","assertExpectedTargetAndPayload","assertExpectedPayloadSchemas","assertReturnsEventFromHealthCheck","createsExpectedPermissionContract","assertCreatesOptionsFile","meta","fqen","testFileContents","diskUtil","readFile","resolveTestPath","replace","testFile","resolvePath","writeFile","install","emitPayloadFile","assertFileByNameInGeneratedFiles","newContents","getSkillFixture","registerCurrentSkill","phone","process","env","DEMO_NUMBER_CREATING_AN_EVENT","nameReadable","nameKebab","nameCamel","optionsFile","importDefault","imported","isEqualDeep","isGlobal","importSchema","schema","isEqual","id","isTruthy","fields","payload","target","builders","filename","builder","path","versionUtil","cwd","isTrue","doesFileExist","isArray","errorAssertUtil","assertError","checkHealth","health","event","isLength","events","eventName","eventNamespace","toKebab","doesInclude","version","contracts","fullyQualifiedEventName","eventNameUtil","join","payloadSchemas","fileName","expectedId","schemas","eventDiskUtil","resolveEventPath","AbstractEventTest","generateVersion","constValue"],"mappings":"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","sourcesContent":["import { eventDiskUtil, eventNameUtil } from '@sprucelabs/spruce-event-utils'\nimport {\n\tdiskUtil,\n\tnamesUtil,\n\tversionUtil,\n} from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport { errorAssertUtil } from '@sprucelabs/test-utils'\nimport { CliInterface } from '../../../cli'\nimport { FeatureActionResponse } from '../../../features/features.types'\nimport AbstractEventTest from '../../../tests/AbstractEventTest'\nimport testUtil from '../../../tests/utilities/test.utility'\nimport { RegisteredSkill } from '../../../types/cli.types'\nimport actionUtil from '../../../utilities/action.utility'\n\nconst EVENT_NAME_READABLE = 'my fantastically amazing event'\nconst EVENT_NAME = 'my-fantastically-amazing-event'\nconst EVENT_CAMEL = 'myFantasticallyAmazingEvent'\n\nexport default class CreatingAnEventTest extends AbstractEventTest {\n\tprivate static readonly expectedVersion =\n\t\tversionUtil.generateVersion().constValue\n\n\t@test()\n\tprotected static async hasCreateAction() {\n\t\tassert.isFunction(this.Action('event', 'create').execute)\n\t}\n\n\t@test()\n\tprotected static async cantCreateEventWithoutBeingRegistered() {\n\t\tawait this.FeatureFixture().installCachedFeatures('events')\n\t\tawait this.assertCantCreateWithoutBeingRegistered()\n\t}\n\n\t@test()\n\tprotected static async createsPayloadBuildersAndSchemas() {\n\t\tconst { results, skill } = await this.createEvent()\n\n\t\tconst filesThatShouldExist = [\n\t\t\tnew RegExp(\n\t\t\t\t`${namesUtil.toCamel(skill.slug)}.*?${\n\t\t\t\t\tthis.expectedVersion\n\t\t\t\t}.*?myFantasticallyAmazingEventResponsePayload`,\n\t\t\t\t'gis'\n\t\t\t),\n\t\t\tnew RegExp(\n\t\t\t\t`${namesUtil.toCamel(skill.slug)}.*?${\n\t\t\t\t\tthis.expectedVersion\n\t\t\t\t}.*?myFantasticallyAmazingEventEmitTargetAndPayload`,\n\t\t\t\t'gis'\n\t\t\t),\n\t\t\tnew RegExp(\n\t\t\t\t`${namesUtil.toCamel(skill.slug)}.*?${\n\t\t\t\t\tthis.expectedVersion\n\t\t\t\t}.*?myFantasticallyAmazingEventEmitPayload`,\n\t\t\t\t'gis'\n\t\t\t),\n\t\t\t'emitPayload.builder.ts',\n\t\t\t'emitTarget.builder.ts',\n\t\t]\n\n\t\tconst checker = this.Service('typeChecker')\n\n\t\tfor (const name of filesThatShouldExist) {\n\t\t\tconst match = testUtil.assertFileByPathInGeneratedFiles(\n\t\t\t\tname,\n\t\t\t\tresults.files\n\t\t\t)\n\t\t\tawait checker.check(match)\n\t\t}\n\t}\n\n\t@test()\n\tprotected static async createsEventWitPayloadsPermissionsAndOptions() {\n\t\tconst { results, cli, skill } = await this.createEvent()\n\t\tassert.isFalsy(results.errors)\n\n\t\tawait this.copyEventBuildersAndPermissions(EVENT_NAME)\n\n\t\tconst syncResults = await this.Action('event', 'sync').execute({})\n\t\tassert.isFalsy(syncResults.errors)\n\n\t\tconst mixedResults = actionUtil.mergeActionResults(results, syncResults)\n\n\t\tawait this.assertExpectedTargetAndPayload(mixedResults, skill)\n\t\tawait this.assertExpectedPayloadSchemas(mixedResults)\n\t\tawait this.assertReturnsEventFromHealthCheck(cli, skill)\n\t\tawait this.createsExpectedPermissionContract(mixedResults)\n\t\tawait this.assertCreatesOptionsFile(mixedResults)\n\t}\n\n\t@test()\n\tprotected static async createdEventsAreTypedCorrectly() {\n\t\tconst { results } = await this.createEvent()\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst { fqen } = results.meta ?? {}\n\n\t\tconst testFileContents = diskUtil\n\t\t\t.readFile(this.resolveTestPath('client-test.ts.hbs'))\n\t\t\t.replace('{{fqen}}', fqen)\n\n\t\tconst testFile = this.resolvePath('src', 'test-client.ts')\n\t\tdiskUtil.writeFile(testFile, testFileContents)\n\n\t\tawait this.Service('typeChecker').check(testFile)\n\t}\n\n\t@test()\n\tprotected static async canReferenceSchemaFromOtherModule() {\n\t\tconst { results } = await this.createEvent()\n\t\tawait this.Service('pkg').install('@sprucelabs/heartwood-view-controllers')\n\n\t\tconst emitPayloadFile = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'emitPayload.builder.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tconst newContents = `import { formBuilderImportExportObjectSchema } from '@sprucelabs/heartwood-view-controllers'\nimport { buildSchema } from '@sprucelabs/schema'\n\nconst createFormEmitPayloadBuilder = buildSchema({\n\tid: 'myFantasticallyAmazingEventEmitPayload',\n\tfields: {\n\t\t...formBuilderImportExportObjectSchema.fields,\n\t},\n})\n\nexport default createFormEmitPayloadBuilder\n\t\t`\n\n\t\tdiskUtil.writeFile(emitPayloadFile, newContents)\n\n\t\tconst syncResults = await this.Action('event', 'sync').execute({})\n\n\t\tassert.isFalsy(syncResults.errors)\n\t}\n\n\tprivate static async createEvent() {\n\t\tconst cli = await this.FeatureFixture().installCachedFeatures('events')\n\n\t\tconst skill = await this.getSkillFixture().registerCurrentSkill(\n\t\t\t{\n\t\t\t\tname: 'my new skill',\n\t\t\t},\n\t\t\t{\n\t\t\t\tphone: process.env.DEMO_NUMBER_CREATING_AN_EVENT,\n\t\t\t}\n\t\t)\n\n\t\tconst results = await this.Action('event', 'create').execute({\n\t\t\tnameReadable: EVENT_NAME_READABLE,\n\t\t\tnameKebab: EVENT_NAME,\n\t\t\tnameCamel: EVENT_CAMEL,\n\t\t})\n\n\t\treturn { results, cli, skill }\n\t}\n\n\tprivate static async assertCreatesOptionsFile(\n\t\tresults: FeatureActionResponse\n\t) {\n\t\tconst optionsFile = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'event.options.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tconst imported = await this.Service('import').importDefault(optionsFile)\n\n\t\tassert.isEqualDeep(imported, { isGlobal: false })\n\t}\n\n\tprivate static async assertExpectedTargetAndPayload(\n\t\tresults: FeatureActionResponse,\n\t\tskill: RegisteredSkill\n\t) {\n\t\tconst match = testUtil.assertFileByPathInGeneratedFiles(\n\t\t\tnew RegExp(\n\t\t\t\t`${namesUtil.toCamel(skill.slug)}.*?${\n\t\t\t\t\tthis.expectedVersion\n\t\t\t\t}.*?myFantasticallyAmazingEventEmitTargetAndPayload`,\n\t\t\t\t'gis'\n\t\t\t),\n\t\t\tresults.files\n\t\t)\n\n\t\tconst schema = await this.Service('schema').importSchema(match)\n\n\t\tassert.isEqual(schema.id, 'myFantasticallyAmazingEventEmitTargetAndPayload')\n\t\tassert.isTruthy(schema.fields?.payload)\n\t\tassert.isTruthy(schema.fields?.target)\n\t}\n\n\tprotected static async createsExpectedPermissionContract(results: any) {\n\t\tconst builders = [\n\t\t\t{ filename: 'emitPermissions.builder.ts' },\n\t\t\t{ filename: 'listenPermissions.builder.ts' },\n\t\t]\n\n\t\tfor (const builder of builders) {\n\t\t\tconst { filename } = builder\n\n\t\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t\tfilename,\n\t\t\t\tresults.files\n\t\t\t)\n\n\t\t\tconst path = versionUtil.resolvePath(\n\t\t\t\tthis.cwd,\n\t\t\t\t'src/events/',\n\t\t\t\tEVENT_NAME,\n\t\t\t\t'{{@latest}}',\n\t\t\t\tfilename\n\t\t\t)\n\n\t\t\tassert.isEqual(match, path)\n\t\t\tassert.isTrue(diskUtil.doesFileExist(path))\n\t\t}\n\t}\n\n\tprotected static async assertCantCreateWithoutBeingRegistered() {\n\t\tconst results = await this.Action('event', 'create').execute({\n\t\t\tnameReadable: EVENT_NAME_READABLE,\n\t\t\tnameKebab: EVENT_NAME,\n\t\t\tnameCamel: EVENT_CAMEL,\n\t\t})\n\n\t\tassert.isArray(results.errors)\n\t\terrorAssertUtil.assertError(results.errors[0], 'SKILL_NOT_REGISTERED')\n\t}\n\n\tprivate static async assertReturnsEventFromHealthCheck(\n\t\tcli: CliInterface,\n\t\tskill: RegisteredSkill\n\t) {\n\t\tconst health = await cli.checkHealth()\n\n\t\tassert.isTruthy(health.event)\n\t\tassert.isLength(health.event.events, 1)\n\n\t\tconst eventName = EVENT_NAME\n\t\tconst eventNamespace = namesUtil.toKebab(skill.slug)\n\n\t\tassert.doesInclude(health.event.events, {\n\t\t\teventName,\n\t\t\teventNamespace,\n\t\t\tversion: this.expectedVersion,\n\t\t})\n\n\t\tassert.doesInclude(health.event.contracts, {\n\t\t\tfullyQualifiedEventName: eventNameUtil.join({\n\t\t\t\teventName,\n\t\t\t\teventNamespace,\n\t\t\t\tversion: this.expectedVersion,\n\t\t\t}),\n\t\t})\n\t}\n\n\tprivate static async assertExpectedPayloadSchemas(\n\t\tresults: FeatureActionResponse\n\t) {\n\t\tconst payloadSchemas = [\n\t\t\t{\n\t\t\t\tfileName: 'emitPayload.builder.ts',\n\t\t\t\texpectedId: 'myFantasticallyAmazingEventEmitPayload',\n\t\t\t},\n\t\t\t{\n\t\t\t\tfileName: 'emitTarget.builder.ts',\n\t\t\t\texpectedId: 'myFantasticallyAmazingEventEmitTarget',\n\t\t\t},\n\t\t\t{\n\t\t\t\tfileName: 'responsePayload.builder.ts',\n\t\t\t\texpectedId: 'myFantasticallyAmazingEventResponsePayload',\n\t\t\t},\n\t\t]\n\n\t\tconst schemas = this.Service('schema')\n\n\t\tfor (const payload of payloadSchemas) {\n\t\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t\tpayload.fileName,\n\t\t\t\tresults.files\n\t\t\t)\n\n\t\t\tassert.isEqual(\n\t\t\t\tmatch,\n\t\t\t\teventDiskUtil.resolveEventPath(this.cwd + '/src/events', {\n\t\t\t\t\tfileName: payload.fileName as any,\n\t\t\t\t\teventName: EVENT_NAME,\n\t\t\t\t\tversion: this.expectedVersion,\n\t\t\t\t})\n\t\t\t)\n\n\t\t\tconst imported = await schemas.importSchema(match)\n\t\t\tassert.isEqual(imported.id, payload.expectedId)\n\t\t}\n\t}\n}\n"],"file":"CreatingAnEvent.test.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/__tests__/behavioral/events/CreatingAnEvent.test.ts"],"names":["EVENT_NAME_READABLE","EVENT_NAME","EVENT_CAMEL","CreatingAnEventTest","assert","isFunction","Action","execute","FeatureFixture","installCachedFeatures","nameReadable","nameKebab","nameCamel","version","expectedVersion","results","isArray","errors","errorAssertUtil","assertError","createEvent","skill","filesThatShouldExist","RegExp","namesUtil","toCamel","slug","checker","Service","name","match","testUtil","assertFileByPathInGeneratedFiles","files","check","cli","isFalsy","copyEventBuildersAndPermissions","syncResults","mixedResults","actionUtil","mergeActionResults","assertExpectedTargetAndPayload","assertExpectedPayloadSchemas","assertReturnsEventFromHealthCheck","createsExpectedPermissionContract","assertCreatesOptionsFile","meta","fqen","testFileContents","diskUtil","readFile","resolveTestPath","replace","testFile","resolvePath","writeFile","install","emitPayloadFile","assertFileByNameInGeneratedFiles","newContents","versionUtil","generateVersion","constValue","uiAssertUtil","assertRendersSelect","ui","reset","options","registerCurrentSkill","getSkillFixture","phone","process","env","DEMO_NUMBER_CREATING_AN_EVENT","optionsFile","importDefault","imported","isEqualDeep","isGlobal","importSchema","schema","isEqual","id","isTruthy","fields","payload","target","builders","filename","builder","path","cwd","isTrue","doesFileExist","checkHealth","health","event","isLength","events","eventName","eventNamespace","toKebab","doesInclude","contracts","fullyQualifiedEventName","eventNameUtil","join","payloadSchemas","fileName","expectedId","schemas","eventDiskUtil","resolveEventPath","AbstractEventTest"],"mappings":"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","sourcesContent":["import { eventDiskUtil, eventNameUtil } from '@sprucelabs/spruce-event-utils'\nimport {\n\tdiskUtil,\n\tnamesUtil,\n\tversionUtil,\n} from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport { errorAssertUtil } from '@sprucelabs/test-utils'\nimport { CliInterface } from '../../../cli'\nimport { FeatureActionResponse } from '../../../features/features.types'\nimport AbstractEventTest from '../../../tests/AbstractEventTest'\nimport testUtil from '../../../tests/utilities/test.utility'\nimport uiAssertUtil from '../../../tests/utilities/uiAssert.utility'\nimport { RegisteredSkill } from '../../../types/cli.types'\nimport actionUtil from '../../../utilities/action.utility'\n\nconst EVENT_NAME_READABLE = 'my fantastically amazing event'\nconst EVENT_NAME = 'my-fantastically-amazing-event'\nconst EVENT_CAMEL = 'myFantasticallyAmazingEvent'\n\nexport default class CreatingAnEventTest extends AbstractEventTest {\n\tprivate static readonly expectedVersion =\n\t\tversionUtil.generateVersion().constValue\n\n\t@test()\n\tprotected static async hasCreateAction() {\n\t\tassert.isFunction(this.Action('event', 'create').execute)\n\t}\n\n\t@test()\n\tprotected static async cantCreateEventWithoutBeingRegistered() {\n\t\tawait this.FeatureFixture().installCachedFeatures('events')\n\n\t\tconst results = await this.Action('event', 'create').execute({\n\t\t\tnameReadable: EVENT_NAME_READABLE,\n\t\t\tnameKebab: EVENT_NAME,\n\t\t\tnameCamel: EVENT_CAMEL,\n\t\t\tversion: this.expectedVersion,\n\t\t})\n\n\t\tassert.isArray(results.errors)\n\t\terrorAssertUtil.assertError(results.errors[0], 'SKILL_NOT_REGISTERED')\n\t}\n\n\t@test()\n\tprotected static async createsPayloadBuildersAndSchemas() {\n\t\tconst { results, skill } = await this.createEvent()\n\n\t\tconst filesThatShouldExist = [\n\t\t\tnew RegExp(\n\t\t\t\t`${namesUtil.toCamel(skill.slug)}.*?${\n\t\t\t\t\tthis.expectedVersion\n\t\t\t\t}.*?myFantasticallyAmazingEventResponsePayload`,\n\t\t\t\t'gis'\n\t\t\t),\n\t\t\tnew RegExp(\n\t\t\t\t`${namesUtil.toCamel(skill.slug)}.*?${\n\t\t\t\t\tthis.expectedVersion\n\t\t\t\t}.*?myFantasticallyAmazingEventEmitTargetAndPayload`,\n\t\t\t\t'gis'\n\t\t\t),\n\t\t\tnew RegExp(\n\t\t\t\t`${namesUtil.toCamel(skill.slug)}.*?${\n\t\t\t\t\tthis.expectedVersion\n\t\t\t\t}.*?myFantasticallyAmazingEventEmitPayload`,\n\t\t\t\t'gis'\n\t\t\t),\n\t\t\t'emitPayload.builder.ts',\n\t\t\t'emitTarget.builder.ts',\n\t\t]\n\n\t\tconst checker = this.Service('typeChecker')\n\n\t\tfor (const name of filesThatShouldExist) {\n\t\t\tconst match = testUtil.assertFileByPathInGeneratedFiles(\n\t\t\t\tname,\n\t\t\t\tresults.files\n\t\t\t)\n\t\t\tawait checker.check(match)\n\t\t}\n\t}\n\n\t@test()\n\tprotected static async createsEventWithPayloadsPermissionsAndOptions() {\n\t\tconst { results, cli, skill } = await this.createEvent()\n\t\tassert.isFalsy(results.errors)\n\n\t\tawait this.copyEventBuildersAndPermissions(EVENT_NAME)\n\n\t\tconst syncResults = await this.Action('event', 'sync').execute({})\n\t\tassert.isFalsy(syncResults.errors)\n\n\t\tconst mixedResults = actionUtil.mergeActionResults(results, syncResults)\n\n\t\tawait this.assertExpectedTargetAndPayload(mixedResults, skill)\n\t\tawait this.assertExpectedPayloadSchemas(mixedResults)\n\t\tawait this.assertReturnsEventFromHealthCheck(cli, skill)\n\t\tawait this.createsExpectedPermissionContract(mixedResults)\n\t\tawait this.assertCreatesOptionsFile(mixedResults)\n\t}\n\n\t@test()\n\tprotected static async createdEventsAreTypedCorrectly() {\n\t\tconst { results } = await this.createEvent()\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst { fqen } = results.meta ?? {}\n\n\t\tconst testFileContents = diskUtil\n\t\t\t.readFile(this.resolveTestPath('client-test.ts.hbs'))\n\t\t\t.replace('{{fqen}}', fqen)\n\n\t\tconst testFile = this.resolvePath('src', 'test-client.ts')\n\t\tdiskUtil.writeFile(testFile, testFileContents)\n\n\t\tawait this.Service('typeChecker').check(testFile)\n\t}\n\n\t@test()\n\tprotected static async canReferenceSchemaFromOtherModule() {\n\t\tconst { results } = await this.createEvent()\n\t\tawait this.Service('pkg').install('@sprucelabs/heartwood-view-controllers')\n\n\t\tconst emitPayloadFile = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'emitPayload.builder.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tconst newContents = `import { formBuilderImportExportObjectSchema } from '@sprucelabs/heartwood-view-controllers'\nimport { buildSchema } from '@sprucelabs/schema'\n\nconst createFormEmitPayloadBuilder = buildSchema({\n\tid: 'myFantasticallyAmazingEventEmitPayload',\n\tfields: {\n\t\t...formBuilderImportExportObjectSchema.fields,\n\t},\n})\n\nexport default createFormEmitPayloadBuilder\n\t\t`\n\n\t\tdiskUtil.writeFile(emitPayloadFile, newContents)\n\n\t\tconst syncResults = await this.Action('event', 'sync').execute({})\n\n\t\tassert.isFalsy(syncResults.errors)\n\t}\n\n\t@test()\n\tprotected static async asksForVersionIfPreviousVersionExistsOnDifferentDay() {\n\t\tawait this.createEvent({\n\t\t\tversion: versionUtil.generateVersion('2020_01_10').constValue,\n\t\t})\n\n\t\tvoid this.Action('event', 'create').execute({\n\t\t\tnameReadable: EVENT_NAME_READABLE,\n\t\t\tnameKebab: EVENT_NAME,\n\t\t\tnameCamel: EVENT_CAMEL,\n\t\t})\n\n\t\tawait uiAssertUtil.assertRendersSelect(this.ui)\n\n\t\tthis.ui.reset()\n\t}\n\n\tprivate static async createEvent(options?: { version?: string }) {\n\t\tconst cli = await this.FeatureFixture().installCachedFeatures('events')\n\n\t\tconst skill = await this.registerCurrentSkill()\n\n\t\tconst results = await this.Action('event', 'create').execute({\n\t\t\tnameReadable: EVENT_NAME_READABLE,\n\t\t\tnameKebab: EVENT_NAME,\n\t\t\tnameCamel: EVENT_CAMEL,\n\t\t\tversion: this.expectedVersion,\n\t\t\t...options,\n\t\t})\n\n\t\treturn { results, cli, skill }\n\t}\n\n\tprivate static async registerCurrentSkill() {\n\t\treturn await this.getSkillFixture().registerCurrentSkill(\n\t\t\t{\n\t\t\t\tname: 'my new skill',\n\t\t\t},\n\t\t\t{\n\t\t\t\tphone: process.env.DEMO_NUMBER_CREATING_AN_EVENT,\n\t\t\t}\n\t\t)\n\t}\n\n\tprivate static async assertCreatesOptionsFile(\n\t\tresults: FeatureActionResponse\n\t) {\n\t\tconst optionsFile = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'event.options.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tconst imported = await this.Service('import').importDefault(optionsFile)\n\n\t\tassert.isEqualDeep(imported, { isGlobal: false })\n\t}\n\n\tprivate static async assertExpectedTargetAndPayload(\n\t\tresults: FeatureActionResponse,\n\t\tskill: RegisteredSkill\n\t) {\n\t\tconst match = testUtil.assertFileByPathInGeneratedFiles(\n\t\t\tnew RegExp(\n\t\t\t\t`${namesUtil.toCamel(skill.slug)}.*?${\n\t\t\t\t\tthis.expectedVersion\n\t\t\t\t}.*?myFantasticallyAmazingEventEmitTargetAndPayload`,\n\t\t\t\t'gis'\n\t\t\t),\n\t\t\tresults.files\n\t\t)\n\n\t\tconst schema = await this.Service('schema').importSchema(match)\n\n\t\tassert.isEqual(schema.id, 'myFantasticallyAmazingEventEmitTargetAndPayload')\n\t\tassert.isTruthy(schema.fields?.payload)\n\t\tassert.isTruthy(schema.fields?.target)\n\t}\n\n\tprotected static async createsExpectedPermissionContract(results: any) {\n\t\tconst builders = [\n\t\t\t{ filename: 'emitPermissions.builder.ts' },\n\t\t\t{ filename: 'listenPermissions.builder.ts' },\n\t\t]\n\n\t\tfor (const builder of builders) {\n\t\t\tconst { filename } = builder\n\n\t\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t\tfilename,\n\t\t\t\tresults.files\n\t\t\t)\n\n\t\t\tconst path = versionUtil.resolvePath(\n\t\t\t\tthis.cwd,\n\t\t\t\t'src/events/',\n\t\t\t\tEVENT_NAME,\n\t\t\t\t'{{@latest}}',\n\t\t\t\tfilename\n\t\t\t)\n\n\t\t\tassert.isEqual(match, path)\n\t\t\tassert.isTrue(diskUtil.doesFileExist(path))\n\t\t}\n\t}\n\n\tprivate static async assertReturnsEventFromHealthCheck(\n\t\tcli: CliInterface,\n\t\tskill: RegisteredSkill\n\t) {\n\t\tconst health = await cli.checkHealth()\n\n\t\tassert.isTruthy(health.event)\n\t\tassert.isLength(health.event.events, 1)\n\n\t\tconst eventName = EVENT_NAME\n\t\tconst eventNamespace = namesUtil.toKebab(skill.slug)\n\n\t\tassert.doesInclude(health.event.events, {\n\t\t\teventName,\n\t\t\teventNamespace,\n\t\t\tversion: this.expectedVersion,\n\t\t})\n\n\t\tassert.doesInclude(health.event.contracts, {\n\t\t\tfullyQualifiedEventName: eventNameUtil.join({\n\t\t\t\teventName,\n\t\t\t\teventNamespace,\n\t\t\t\tversion: this.expectedVersion,\n\t\t\t}),\n\t\t})\n\t}\n\n\tprivate static async assertExpectedPayloadSchemas(\n\t\tresults: FeatureActionResponse\n\t) {\n\t\tconst payloadSchemas = [\n\t\t\t{\n\t\t\t\tfileName: 'emitPayload.builder.ts',\n\t\t\t\texpectedId: 'myFantasticallyAmazingEventEmitPayload',\n\t\t\t},\n\t\t\t{\n\t\t\t\tfileName: 'emitTarget.builder.ts',\n\t\t\t\texpectedId: 'myFantasticallyAmazingEventEmitTarget',\n\t\t\t},\n\t\t\t{\n\t\t\t\tfileName: 'responsePayload.builder.ts',\n\t\t\t\texpectedId: 'myFantasticallyAmazingEventResponsePayload',\n\t\t\t},\n\t\t]\n\n\t\tconst schemas = this.Service('schema')\n\n\t\tfor (const payload of payloadSchemas) {\n\t\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t\tpayload.fileName,\n\t\t\t\tresults.files\n\t\t\t)\n\n\t\t\tassert.isEqual(\n\t\t\t\tmatch,\n\t\t\t\teventDiskUtil.resolveEventPath(this.cwd + '/src/events', {\n\t\t\t\t\tfileName: payload.fileName as any,\n\t\t\t\t\teventName: EVENT_NAME,\n\t\t\t\t\tversion: this.expectedVersion,\n\t\t\t\t})\n\t\t\t)\n\n\t\t\tconst imported = await schemas.importSchema(match)\n\t\t\tassert.isEqual(imported.id, payload.expectedId)\n\t\t}\n\t}\n}\n"],"file":"CreatingAnEvent.test.js"}
|
|
@@ -305,26 +305,23 @@ var KeepingEventsInSyncTest = (_dec = _test.test.skip('find how to simulate conn
|
|
|
305
305
|
});
|
|
306
306
|
|
|
307
307
|
case 9:
|
|
308
|
-
|
|
309
|
-
return this.Service('dependency').add({
|
|
308
|
+
this.Service('dependency').add({
|
|
310
309
|
id: skill2.id,
|
|
311
310
|
namespace: skill2.slug
|
|
312
311
|
});
|
|
313
|
-
|
|
314
|
-
case 11:
|
|
315
|
-
_context4.next = 13;
|
|
312
|
+
_context4.next = 12;
|
|
316
313
|
return this.Action('event', 'sync').execute({});
|
|
317
314
|
|
|
318
|
-
case
|
|
315
|
+
case 12:
|
|
319
316
|
results = _context4.sent;
|
|
320
317
|
match = _test2["default"].assertFileByNameInGeneratedFiles("myNewEvent.".concat(this.todaysVersion.dirValue, ".contract.ts"), results.files);
|
|
321
318
|
|
|
322
319
|
_test.assert.doesInclude(match, "".concat(_spruceSkillUtils.namesUtil.toCamel(skill2.slug)).concat(_path["default"].sep, "myNewEvent.").concat(this.todaysVersion.dirValue, ".contract.ts"));
|
|
323
320
|
|
|
324
|
-
_context4.next =
|
|
321
|
+
_context4.next = 17;
|
|
325
322
|
return this.Service('import').importDefault(match);
|
|
326
323
|
|
|
327
|
-
case
|
|
324
|
+
case 17:
|
|
328
325
|
contract = _context4.sent;
|
|
329
326
|
sig = _spruceEventUtils.eventContractUtil.getSignatureByName(contract, fqen);
|
|
330
327
|
|
|
@@ -347,7 +344,7 @@ var KeepingEventsInSyncTest = (_dec = _test.test.skip('find how to simulate conn
|
|
|
347
344
|
|
|
348
345
|
_test.assert.isEqual(sig.listenPermissionContract.permissions[0].id, 'can-listen');
|
|
349
346
|
|
|
350
|
-
case
|
|
347
|
+
case 28:
|
|
351
348
|
case "end":
|
|
352
349
|
return _context4.stop();
|
|
353
350
|
}
|