@sprucelabs/spruce-cli 14.26.18 → 14.28.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.
Files changed (118) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/build/.spruce/errors/errors.types.d.ts +19 -0
  3. package/build/.spruce/errors/options.types.d.ts +4 -1
  4. package/build/.spruce/errors/spruceCli/dependencyExists.schema.d.ts +3 -0
  5. package/build/.spruce/errors/spruceCli/dependencyExists.schema.js +28 -0
  6. package/build/.spruce/errors/spruceCli/dependencyExists.schema.js.map +1 -0
  7. package/build/__tests__/behavioral/AddingADependency.test.d.ts +6 -3
  8. package/build/__tests__/behavioral/AddingADependency.test.js +116 -44
  9. package/build/__tests__/behavioral/AddingADependency.test.js.map +1 -1
  10. package/build/__tests__/behavioral/InstallingASkillAtAnOrg.test.js +2 -2
  11. package/build/__tests__/behavioral/InstallingASkillAtAnOrg.test.js.map +1 -1
  12. package/build/__tests__/behavioral/LoggingInAsASkill.test.js +4 -4
  13. package/build/__tests__/behavioral/LoggingInAsASkill.test.js.map +1 -1
  14. package/build/__tests__/behavioral/ManagingDependencies.test.js +3 -3
  15. package/build/__tests__/behavioral/ManagingDependencies.test.js.map +1 -1
  16. package/build/__tests__/behavioral/RememberingUpgradeSelections.test.js +1 -1
  17. package/build/__tests__/behavioral/RememberingUpgradeSelections.test.js.map +1 -1
  18. package/build/__tests__/behavioral/SettingRemote.test.js +1 -1
  19. package/build/__tests__/behavioral/SettingRemote.test.js.map +1 -1
  20. package/build/__tests__/behavioral/SettingUpVscode.test.js +3 -3
  21. package/build/__tests__/behavioral/SettingUpVscode.test.js.map +1 -1
  22. package/build/__tests__/behavioral/TestingDataStores.test.js +2 -2
  23. package/build/__tests__/behavioral/TestingDataStores.test.js.map +1 -1
  24. package/build/__tests__/behavioral/UpgradingANodeModule.test.d.ts +1 -0
  25. package/build/__tests__/behavioral/UpgradingANodeModule.test.js +50 -3
  26. package/build/__tests__/behavioral/UpgradingANodeModule.test.js.map +1 -1
  27. package/build/__tests__/behavioral/events/CreatingAListener.test.js +2 -2
  28. package/build/__tests__/behavioral/events/CreatingAListener.test.js.map +1 -1
  29. package/build/__tests__/behavioral/events/CreatingAnEvent.test.d.ts +3 -2
  30. package/build/__tests__/behavioral/events/CreatingAnEvent.test.js +156 -106
  31. package/build/__tests__/behavioral/events/CreatingAnEvent.test.js.map +1 -1
  32. package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js +6 -9
  33. package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js.map +1 -1
  34. package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js +7 -4
  35. package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js.map +1 -1
  36. package/build/__tests__/behavioral/skill/UpgradingASkill.test.js +7 -7
  37. package/build/__tests__/behavioral/skill/UpgradingASkill.test.js.map +1 -1
  38. package/build/__tests__/behavioral/skill/UpgradingASkill3.test.js +2 -2
  39. package/build/__tests__/behavioral/skill/UpgradingASkill3.test.js.map +1 -1
  40. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js +1 -1
  41. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js.map +1 -1
  42. package/build/__tests__/behavioral/views/CreatingASkillView.test.js +3 -3
  43. package/build/__tests__/behavioral/views/CreatingASkillView.test.js.map +1 -1
  44. package/build/__tests__/behavioral/views/TestingViewControllers.test.js +2 -2
  45. package/build/__tests__/behavioral/views/TestingViewControllers.test.js.map +1 -1
  46. package/build/__tests__/implementation/ActionExecuter2.test.js +3 -3
  47. package/build/__tests__/implementation/ActionExecuter2.test.js.map +1 -1
  48. package/build/errors/SpruceError.js +4 -0
  49. package/build/errors/SpruceError.js.map +1 -1
  50. package/build/errors/dependencyExists.builder.d.ts +11 -0
  51. package/build/errors/dependencyExists.builder.js +22 -0
  52. package/build/errors/dependencyExists.builder.js.map +1 -0
  53. package/build/features/AbstractAction.js +1 -1
  54. package/build/features/AbstractAction.js.map +1 -1
  55. package/build/features/dependencies/actions/AddAction.js +22 -15
  56. package/build/features/dependencies/actions/AddAction.js.map +1 -1
  57. package/build/features/event/actions/CreateAction.js +1 -1
  58. package/build/features/event/actions/CreateAction.js.map +1 -1
  59. package/build/features/node/NodeFeature.d.ts +1 -0
  60. package/build/features/node/NodeFeature.js +83 -64
  61. package/build/features/node/NodeFeature.js.map +1 -1
  62. package/build/features/node/actions/UpgradeAction.js +20 -9
  63. package/build/features/node/actions/UpgradeAction.js.map +1 -1
  64. package/build/features/node/writers/NodeWriter.d.ts +5 -2
  65. package/build/features/node/writers/NodeWriter.js +37 -22
  66. package/build/features/node/writers/NodeWriter.js.map +1 -1
  67. package/build/features/skill/updaters/Updater.js +3 -1
  68. package/build/features/skill/updaters/Updater.js.map +1 -1
  69. package/build/interfaces/SpyInterface.d.ts +1 -1
  70. package/build/interfaces/SpyInterface.js +2 -2
  71. package/build/interfaces/SpyInterface.js.map +1 -1
  72. package/build/services/DependencyService.d.ts +1 -0
  73. package/build/services/DependencyService.js +18 -0
  74. package/build/services/DependencyService.js.map +1 -1
  75. package/build/tests/AbstractCliTest.js +1 -1
  76. package/build/tests/AbstractCliTest.js.map +1 -1
  77. package/build/tests/utilities/uiAssert.utility.d.ts +7 -0
  78. package/build/tests/utilities/uiAssert.utility.js +85 -0
  79. package/build/tests/utilities/uiAssert.utility.js.map +1 -0
  80. package/build/writers/AbstractWriter.d.ts +10 -10
  81. package/build/writers/AbstractWriter.js.map +1 -1
  82. package/package.json +34 -32
  83. package/src/.spruce/errors/errors.types.ts +29 -0
  84. package/src/.spruce/errors/options.types.ts +4 -1
  85. package/src/.spruce/errors/spruceCli/dependencyExists.schema.ts +22 -0
  86. package/src/__tests__/behavioral/AddingADependency.test.ts +45 -8
  87. package/src/__tests__/behavioral/InstallingASkillAtAnOrg.test.ts +3 -3
  88. package/src/__tests__/behavioral/LoggingInAsASkill.test.ts +4 -4
  89. package/src/__tests__/behavioral/ManagingDependencies.test.ts +3 -3
  90. package/src/__tests__/behavioral/RememberingUpgradeSelections.test.ts +1 -1
  91. package/src/__tests__/behavioral/SettingRemote.test.ts +1 -1
  92. package/src/__tests__/behavioral/SettingUpVscode.test.ts +3 -3
  93. package/src/__tests__/behavioral/TestingDataStores.test.ts +2 -2
  94. package/src/__tests__/behavioral/UpgradingANodeModule.test.ts +24 -0
  95. package/src/__tests__/behavioral/events/CreatingAListener.test.ts +2 -2
  96. package/src/__tests__/behavioral/events/CreatingAnEvent.test.ts +44 -22
  97. package/src/__tests__/behavioral/events/KeepingEventsInSync2.test.ts +1 -1
  98. package/src/__tests__/behavioral/schemas/KeepingSchemasInSync.test.ts +2 -0
  99. package/src/__tests__/behavioral/skill/UpgradingASkill.test.ts +7 -7
  100. package/src/__tests__/behavioral/skill/UpgradingASkill3.test.ts +2 -2
  101. package/src/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.ts +1 -1
  102. package/src/__tests__/behavioral/views/CreatingASkillView.test.ts +3 -3
  103. package/src/__tests__/behavioral/views/TestingViewControllers.test.ts +2 -2
  104. package/src/__tests__/implementation/ActionExecuter2.test.ts +3 -3
  105. package/src/errors/SpruceError.ts +4 -0
  106. package/src/errors/dependencyExists.builder.ts +12 -0
  107. package/src/features/AbstractAction.ts +1 -4
  108. package/src/features/dependencies/actions/AddAction.ts +12 -5
  109. package/src/features/event/actions/CreateAction.ts +4 -1
  110. package/src/features/node/NodeFeature.ts +31 -25
  111. package/src/features/node/actions/UpgradeAction.ts +8 -1
  112. package/src/features/node/writers/NodeWriter.ts +38 -23
  113. package/src/features/skill/updaters/Updater.ts +2 -1
  114. package/src/interfaces/SpyInterface.ts +1 -1
  115. package/src/services/DependencyService.ts +14 -0
  116. package/src/tests/AbstractCliTest.ts +1 -1
  117. package/src/tests/utilities/uiAssert.utility.ts +45 -0
  118. package/src/writers/AbstractWriter.ts +15 -10
@@ -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.assertCantCreateWithoutBeingRegistered();
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: "createsEventWitPayloadsPermissionsAndOptions",
185
+ key: "createsEventWithPayloadsPermissionsAndOptions",
167
186
  value: function () {
168
- var _createsEventWitPayloadsPermissionsAndOptions = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
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 createsEventWitPayloadsPermissionsAndOptions() {
227
- return _createsEventWitPayloadsPermissionsAndOptions.apply(this, arguments);
245
+ function createsEventWithPayloadsPermissionsAndOptions() {
246
+ return _createsEventWithPayloadsPermissionsAndOptions.apply(this, arguments);
228
247
  }
229
248
 
230
- return createsEventWitPayloadsPermissionsAndOptions;
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: "createEvent",
343
+ key: "asksForVersionIfPreviousVersionExistsOnDifferentDay",
325
344
  value: function () {
326
- var _createEvent = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7() {
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.FeatureFixture().installCachedFeatures('events');
351
+ return this.createEvent({
352
+ version: _spruceSkillUtils.versionUtil.generateVersion('2020_01_10').constValue
353
+ });
334
354
 
335
355
  case 2:
336
- cli = _context7.sent;
337
- _context7.next = 5;
338
- return this.getSkillFixture().registerCurrentSkill({
339
- name: 'my new skill'
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
- skill = _context7.sent;
346
- _context7.next = 8;
347
- return this.Action('event', 'create').execute({
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 = _context7.sent;
355
- return _context7.abrupt("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 _context7.stop();
418
+ return _context8.stop();
364
419
  }
365
420
  }
366
- }, _callee7, this);
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 _callee8(results) {
465
+ var _assertCreatesOptionsFile = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee10(results) {
379
466
  var optionsFile, imported;
380
- return _regenerator["default"].wrap(function _callee8$(_context8) {
467
+ return _regenerator["default"].wrap(function _callee10$(_context10) {
381
468
  while (1) {
382
- switch (_context8.prev = _context8.next) {
469
+ switch (_context10.prev = _context10.next) {
383
470
  case 0:
384
471
  optionsFile = _test2["default"].assertFileByNameInGeneratedFiles('event.options.ts', results.files);
385
- _context8.next = 3;
472
+ _context10.next = 3;
386
473
  return this.Service('import').importDefault(optionsFile);
387
474
 
388
475
  case 3:
389
- imported = _context8.sent;
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 _context8.stop();
484
+ return _context10.stop();
398
485
  }
399
486
  }
400
- }, _callee8, this);
487
+ }, _callee10, this);
401
488
  }));
402
489
 
403
- function assertCreatesOptionsFile(_x) {
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 _callee9(results, skill) {
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 _callee9$(_context9) {
503
+ return _regenerator["default"].wrap(function _callee11$(_context11) {
417
504
  while (1) {
418
- switch (_context9.prev = _context9.next) {
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
- _context9.next = 3;
508
+ _context11.next = 3;
422
509
  return this.Service('schema').importSchema(match);
423
510
 
424
511
  case 3:
425
- schema = _context9.sent;
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 _context9.stop();
522
+ return _context11.stop();
436
523
  }
437
524
  }
438
- }, _callee9, this);
525
+ }, _callee11, this);
439
526
  }));
440
527
 
441
- function assertExpectedTargetAndPayload(_x2, _x3) {
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 _callee10(results) {
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 _callee10$(_context10) {
540
+ return _regenerator["default"].wrap(function _callee12$(_context12) {
454
541
  while (1) {
455
- switch (_context10.prev = _context10.next) {
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 _context10.stop();
563
+ return _context12.stop();
477
564
  }
478
565
  }
479
- }, _callee10, this);
566
+ }, _callee12, this);
480
567
  }));
481
568
 
482
- function createsExpectedPermissionContract(_x4) {
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 _callee12(cli, skill) {
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 _callee12$(_context12) {
580
+ return _regenerator["default"].wrap(function _callee13$(_context13) {
531
581
  while (1) {
532
- switch (_context12.prev = _context12.next) {
582
+ switch (_context13.prev = _context13.next) {
533
583
  case 0:
534
- _context12.next = 2;
584
+ _context13.next = 2;
535
585
  return cli.checkHealth();
536
586
 
537
587
  case 2:
538
- health = _context12.sent;
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 _context12.stop();
613
+ return _context13.stop();
564
614
  }
565
615
  }
566
- }, _callee12, this);
616
+ }, _callee13, this);
567
617
  }));
568
618
 
569
- function assertReturnsEventFromHealthCheck(_x5, _x6) {
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 _callee13(results) {
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 _callee13$(_context13) {
631
+ return _regenerator["default"].wrap(function _callee14$(_context14) {
582
632
  while (1) {
583
- switch (_context13.prev = _context13.next) {
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
- _context13.next = 14;
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
- _context13.next = 9;
663
+ _context14.next = 9;
614
664
  return schemas.importSchema(match);
615
665
 
616
666
  case 9:
617
- imported = _context13.sent;
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
- _context13.next = 3;
673
+ _context14.next = 3;
624
674
  break;
625
675
 
626
676
  case 14:
627
677
  case "end":
628
- return _context13.stop();
678
+ return _context14.stop();
629
679
  }
630
680
  }
631
- }, _callee13, this);
681
+ }, _callee14, this);
632
682
  }));
633
683
 
634
- function assertExpectedPayloadSchemas(_x7) {
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, "createsEventWitPayloadsPermissionsAndOptions", [_dec4], Object.getOwnPropertyDescriptor(_class, "createsEventWitPayloadsPermissionsAndOptions"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "createdEventsAreTypedCorrectly", [_dec5], Object.getOwnPropertyDescriptor(_class, "createdEventsAreTypedCorrectly"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "canReferenceSchemaFromOtherModule", [_dec6], Object.getOwnPropertyDescriptor(_class, "canReferenceSchemaFromOtherModule"), _class)), _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
- _context4.next = 11;
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 13:
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 = 18;
321
+ _context4.next = 17;
325
322
  return this.Service('import').importDefault(match);
326
323
 
327
- case 18:
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 29:
347
+ case 28:
351
348
  case "end":
352
349
  return _context4.stop();
353
350
  }