@sprucelabs/spruce-cli 14.28.8 → 14.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js +13 -9
  3. package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js.map +1 -1
  4. package/build/__tests__/behavioral/SyncingEventsOnlyFromDependencies.test.d.ts +1 -1
  5. package/build/__tests__/behavioral/SyncingEventsOnlyFromDependencies.test.js +24 -14
  6. package/build/__tests__/behavioral/SyncingEventsOnlyFromDependencies.test.js.map +1 -1
  7. package/build/__tests__/behavioral/TestingDataStores.test.js +15 -11
  8. package/build/__tests__/behavioral/TestingDataStores.test.js.map +1 -1
  9. package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js +3 -1
  10. package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js.map +1 -1
  11. package/build/__tests__/behavioral/events/CreatingAListener.test.d.ts +2 -0
  12. package/build/__tests__/behavioral/events/CreatingAListener.test.js +157 -81
  13. package/build/__tests__/behavioral/events/CreatingAListener.test.js.map +1 -1
  14. package/build/__tests__/behavioral/events/KeepingListenersInSync.test.d.ts +7 -0
  15. package/build/__tests__/behavioral/events/KeepingListenersInSync.test.js +171 -0
  16. package/build/__tests__/behavioral/events/KeepingListenersInSync.test.js.map +1 -0
  17. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.d.ts +1 -0
  18. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js +53 -21
  19. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js.map +1 -1
  20. package/build/__tests__/behavioral/skill/UpgradingWithListeners.test.d.ts +5 -0
  21. package/build/__tests__/behavioral/skill/UpgradingWithListeners.test.js +137 -0
  22. package/build/__tests__/behavioral/skill/UpgradingWithListeners.test.js.map +1 -0
  23. package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.d.ts +3 -0
  24. package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js +105 -16
  25. package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js.map +1 -1
  26. package/build/__tests__/behavioral/tests/CreatingATest.test.js +14 -10
  27. package/build/__tests__/behavioral/tests/CreatingATest.test.js.map +1 -1
  28. package/build/__tests__/behavioral/views/TestingViewControllers.test.d.ts +1 -0
  29. package/build/__tests__/behavioral/views/TestingViewControllers.test.js +67 -35
  30. package/build/__tests__/behavioral/views/TestingViewControllers.test.js.map +1 -1
  31. package/build/__tests__/implementation/AuthService.test.d.ts +1 -0
  32. package/build/__tests__/implementation/AuthService.test.js +8 -0
  33. package/build/__tests__/implementation/AuthService.test.js.map +1 -1
  34. package/build/__tests__/implementation/EventStore.test.js +3 -1
  35. package/build/__tests__/implementation/EventStore.test.js.map +1 -1
  36. package/build/__tests__/implementation/StoreFeature.test.d.ts +4 -0
  37. package/build/__tests__/implementation/StoreFeature.test.js +132 -0
  38. package/build/__tests__/implementation/StoreFeature.test.js.map +1 -0
  39. package/build/features/event/EventFeature.d.ts +2 -2
  40. package/build/features/event/EventFeature.js +53 -13
  41. package/build/features/event/EventFeature.js.map +1 -1
  42. package/build/features/event/actions/ListenAction.d.ts +1 -0
  43. package/build/features/event/actions/ListenAction.js +60 -31
  44. package/build/features/event/actions/ListenAction.js.map +1 -1
  45. package/build/features/event/actions/SyncListenersAction.d.ts +15 -0
  46. package/build/features/event/actions/SyncListenersAction.js +115 -0
  47. package/build/features/event/actions/SyncListenersAction.js.map +1 -0
  48. package/build/features/event/builders/ListenerTemplateItemBuilder.d.ts +8 -0
  49. package/build/features/event/builders/ListenerTemplateItemBuilder.js +65 -0
  50. package/build/features/event/builders/ListenerTemplateItemBuilder.js.map +1 -0
  51. package/build/features/event/stores/EventStore.js +2 -2
  52. package/build/features/event/stores/EventStore.js.map +1 -1
  53. package/build/features/event/stores/ListenerStore.d.ts +9 -0
  54. package/build/features/event/stores/ListenerStore.js +122 -0
  55. package/build/features/event/stores/ListenerStore.js.map +1 -0
  56. package/build/features/event/writers/EventWriter.d.ts +4 -1
  57. package/build/features/event/writers/EventWriter.js +42 -8
  58. package/build/features/event/writers/EventWriter.js.map +1 -1
  59. package/build/features/skill/SkillFeature.js +1 -1
  60. package/build/features/skill/SkillFeature.js.map +1 -1
  61. package/build/features/skill/stores/SkillStore.js +4 -8
  62. package/build/features/skill/stores/SkillStore.js.map +1 -1
  63. package/build/features/store/StoreFeature.d.ts +1 -1
  64. package/build/features/store/StoreFeature.js +6 -6
  65. package/build/features/store/StoreFeature.js.map +1 -1
  66. package/build/services/AuthService.d.ts +4 -1
  67. package/build/services/AuthService.js +15 -4
  68. package/build/services/AuthService.js.map +1 -1
  69. package/build/services/LintService.d.ts +4 -1
  70. package/build/services/LintService.js +123 -94
  71. package/build/services/LintService.js.map +1 -1
  72. package/build/services/ServiceFactory.js +3 -3
  73. package/build/services/ServiceFactory.js.map +1 -1
  74. package/build/stores/StoreFactory.d.ts +2 -0
  75. package/build/stores/StoreFactory.js +4 -1
  76. package/build/stores/StoreFactory.js.map +1 -1
  77. package/build/tests/AbstractCliTest.js +3 -3
  78. package/build/tests/AbstractCliTest.js.map +1 -1
  79. package/build/writers/AbstractWriter.d.ts +0 -3
  80. package/build/writers/AbstractWriter.js +2 -18
  81. package/build/writers/AbstractWriter.js.map +1 -1
  82. package/package.json +11 -9
  83. package/src/__tests__/behavioral/SettingLogTransportsInASkill.test.ts +2 -0
  84. package/src/__tests__/behavioral/SyncingEventsOnlyFromDependencies.test.ts +10 -5
  85. package/src/__tests__/behavioral/TestingDataStores.test.ts +2 -0
  86. package/src/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.ts +1 -0
  87. package/src/__tests__/behavioral/events/CreatingAListener.test.ts +28 -9
  88. package/src/__tests__/behavioral/events/KeepingListenersInSync.test.ts +47 -0
  89. package/src/__tests__/behavioral/events/SkillEmitsBootEvents.test.ts +6 -0
  90. package/src/__tests__/behavioral/skill/UpgradingWithListeners.test.ts +59 -0
  91. package/src/__tests__/behavioral/stores/KeepingDataStoresInSync.test.ts +31 -2
  92. package/src/__tests__/behavioral/tests/CreatingATest.test.ts +2 -0
  93. package/src/__tests__/behavioral/views/TestingViewControllers.test.ts +6 -0
  94. package/src/__tests__/implementation/AuthService.test.ts +6 -0
  95. package/src/__tests__/implementation/EventStore.test.ts +1 -0
  96. package/src/__tests__/implementation/StoreFeature.test.ts +40 -0
  97. package/src/features/event/EventFeature.ts +21 -4
  98. package/src/features/event/actions/ListenAction.ts +9 -3
  99. package/src/features/event/actions/SyncListenersAction.ts +38 -0
  100. package/src/features/event/builders/ListenerTemplateItemBuilder.ts +27 -0
  101. package/src/features/event/stores/EventStore.ts +1 -1
  102. package/src/features/event/stores/ListenerStore.ts +32 -0
  103. package/src/features/event/writers/EventWriter.ts +19 -0
  104. package/src/features/skill/SkillFeature.ts +1 -1
  105. package/src/features/skill/stores/SkillStore.ts +4 -3
  106. package/src/features/store/StoreFeature.ts +3 -3
  107. package/src/services/AuthService.ts +15 -5
  108. package/src/services/LintService.ts +19 -2
  109. package/src/services/ServiceFactory.ts +9 -3
  110. package/src/stores/StoreFactory.ts +3 -0
  111. package/src/tests/AbstractCliTest.ts +2 -2
  112. package/src/writers/AbstractWriter.ts +2 -13
@@ -37,13 +37,13 @@ var _AbstractSkillTest2 = _interopRequireDefault(require("../../../tests/Abstrac
37
37
 
38
38
  var _test2 = _interopRequireDefault(require("../../../tests/utilities/test.utility"));
39
39
 
40
- var _dec, _dec2, _dec3, _dec4, _class, _class2, _temp;
40
+ var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _class, _class2, _temp;
41
41
 
42
42
  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); }; }
43
43
 
44
44
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
45
45
 
46
- var KeepingDataStoresInSyncTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(), _dec3 = (0, _test.test)(), _dec4 = (0, _test.test)(), (_class = (_temp = _class2 = /*#__PURE__*/function (_AbstractSkillTest) {
46
+ var KeepingDataStoresInSyncTest = (_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 (_AbstractSkillTest) {
47
47
  (0, _inherits2["default"])(KeepingDataStoresInSyncTest, _AbstractSkillTest);
48
48
 
49
49
  var _super = _createSuper(KeepingDataStoresInSyncTest);
@@ -207,7 +207,7 @@ var KeepingDataStoresInSyncTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.t
207
207
  key: "generatesValidTypeFile",
208
208
  value: function () {
209
209
  var _generatesValidTypeFile = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
210
- var results, typesFile;
210
+ var results;
211
211
  return _regenerator["default"].wrap(function _callee6$(_context6) {
212
212
  while (1) {
213
213
  switch (_context6.prev = _context6.next) {
@@ -220,16 +220,11 @@ var KeepingDataStoresInSyncTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.t
220
220
  });
221
221
 
222
222
  case 2:
223
- _context6.next = 4;
224
- return this.syncStores();
225
-
226
- case 4:
227
223
  results = _context6.sent;
228
- typesFile = _test2["default"].assertFileByNameInGeneratedFiles('stores.types.ts', results.files);
229
- _context6.next = 8;
230
- return this.Service('typeChecker').check(typesFile);
224
+ _context6.next = 5;
225
+ return this.validateFiles(results);
231
226
 
232
- case 8:
227
+ case 5:
233
228
  case "end":
234
229
  return _context6.stop();
235
230
  }
@@ -244,16 +239,23 @@ var KeepingDataStoresInSyncTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.t
244
239
  return generatesValidTypeFile;
245
240
  }()
246
241
  }, {
247
- key: "syncStores",
242
+ key: "fileIsValidAfterSync",
248
243
  value: function () {
249
- var _syncStores = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7() {
244
+ var _fileIsValidAfterSync = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7() {
245
+ var results;
250
246
  return _regenerator["default"].wrap(function _callee7$(_context7) {
251
247
  while (1) {
252
248
  switch (_context7.prev = _context7.next) {
253
249
  case 0:
254
- return _context7.abrupt("return", this.Action('store', 'sync').execute({}));
250
+ _context7.next = 2;
251
+ return this.syncStores();
255
252
 
256
- case 1:
253
+ case 2:
254
+ results = _context7.sent;
255
+ _context7.next = 5;
256
+ return this.validateFiles(results);
257
+
258
+ case 5:
257
259
  case "end":
258
260
  return _context7.stop();
259
261
  }
@@ -261,6 +263,93 @@ var KeepingDataStoresInSyncTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.t
261
263
  }, _callee7, this);
262
264
  }));
263
265
 
266
+ function fileIsValidAfterSync() {
267
+ return _fileIsValidAfterSync.apply(this, arguments);
268
+ }
269
+
270
+ return fileIsValidAfterSync;
271
+ }()
272
+ }, {
273
+ key: "canAddSecondStore",
274
+ value: function () {
275
+ var _canAddSecondStore = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee8() {
276
+ var results;
277
+ return _regenerator["default"].wrap(function _callee8$(_context8) {
278
+ while (1) {
279
+ switch (_context8.prev = _context8.next) {
280
+ case 0:
281
+ _context8.next = 2;
282
+ return this.Action('store', 'create').execute({
283
+ nameReadable: 'Person',
284
+ nameReadablePlural: 'People',
285
+ namePascal: 'Person'
286
+ });
287
+
288
+ case 2:
289
+ results = _context8.sent;
290
+ _context8.next = 5;
291
+ return this.validateFiles(results);
292
+
293
+ case 5:
294
+ case "end":
295
+ return _context8.stop();
296
+ }
297
+ }
298
+ }, _callee8, this);
299
+ }));
300
+
301
+ function canAddSecondStore() {
302
+ return _canAddSecondStore.apply(this, arguments);
303
+ }
304
+
305
+ return canAddSecondStore;
306
+ }()
307
+ }, {
308
+ key: "validateFiles",
309
+ value: function () {
310
+ var _validateFiles = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee9(results) {
311
+ var typesFile, mapFile;
312
+ return _regenerator["default"].wrap(function _callee9$(_context9) {
313
+ while (1) {
314
+ switch (_context9.prev = _context9.next) {
315
+ case 0:
316
+ typesFile = _test2["default"].assertFileByNameInGeneratedFiles('stores.types.ts', results.files);
317
+ mapFile = _test2["default"].assertFileByNameInGeneratedFiles('stores.ts', results.files);
318
+ _context9.next = 4;
319
+ return Promise.all([this.Service('typeChecker').check(typesFile), this.Service('typeChecker').check(mapFile)]);
320
+
321
+ case 4:
322
+ case "end":
323
+ return _context9.stop();
324
+ }
325
+ }
326
+ }, _callee9, this);
327
+ }));
328
+
329
+ function validateFiles(_x) {
330
+ return _validateFiles.apply(this, arguments);
331
+ }
332
+
333
+ return validateFiles;
334
+ }()
335
+ }, {
336
+ key: "syncStores",
337
+ value: function () {
338
+ var _syncStores = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee10() {
339
+ return _regenerator["default"].wrap(function _callee10$(_context10) {
340
+ while (1) {
341
+ switch (_context10.prev = _context10.next) {
342
+ case 0:
343
+ return _context10.abrupt("return", this.Action('store', 'sync').execute({}));
344
+
345
+ case 1:
346
+ case "end":
347
+ return _context10.stop();
348
+ }
349
+ }
350
+ }, _callee10, this);
351
+ }));
352
+
264
353
  function syncStores() {
265
354
  return _syncStores.apply(this, arguments);
266
355
  }
@@ -269,6 +358,6 @@ var KeepingDataStoresInSyncTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.t
269
358
  }()
270
359
  }]);
271
360
  return KeepingDataStoresInSyncTest;
272
- }(_AbstractSkillTest2["default"]), (0, _defineProperty2["default"])(_class2, "skillCacheKey", 'stores'), (0, _defineProperty2["default"])(_class2, "badStoreDest", void 0), _temp), ((0, _applyDecoratedDescriptor2["default"])(_class, "hasSyncAction", [_dec], Object.getOwnPropertyDescriptor(_class, "hasSyncAction"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "syncsNothingToStart", [_dec2], Object.getOwnPropertyDescriptor(_class, "syncsNothingToStart"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "badFileReturnsError", [_dec3], Object.getOwnPropertyDescriptor(_class, "badFileReturnsError"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "generatesValidTypeFile", [_dec4], Object.getOwnPropertyDescriptor(_class, "generatesValidTypeFile"), _class)), _class));
361
+ }(_AbstractSkillTest2["default"]), (0, _defineProperty2["default"])(_class2, "skillCacheKey", 'stores'), (0, _defineProperty2["default"])(_class2, "badStoreDest", void 0), _temp), ((0, _applyDecoratedDescriptor2["default"])(_class, "hasSyncAction", [_dec], Object.getOwnPropertyDescriptor(_class, "hasSyncAction"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "syncsNothingToStart", [_dec2], Object.getOwnPropertyDescriptor(_class, "syncsNothingToStart"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "badFileReturnsError", [_dec3], Object.getOwnPropertyDescriptor(_class, "badFileReturnsError"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "generatesValidTypeFile", [_dec4], Object.getOwnPropertyDescriptor(_class, "generatesValidTypeFile"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "fileIsValidAfterSync", [_dec5], Object.getOwnPropertyDescriptor(_class, "fileIsValidAfterSync"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "canAddSecondStore", [_dec6], Object.getOwnPropertyDescriptor(_class, "canAddSecondStore"), _class)), _class));
273
362
  exports["default"] = KeepingDataStoresInSyncTest;
274
363
  //# sourceMappingURL=KeepingDataStoresInSync.test.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/__tests__/behavioral/stores/KeepingDataStoresInSync.test.ts"],"names":["KeepingDataStoresInSyncTest","badStoreDest","resolvePath","diskUtil","deleteFile","assert","isFunction","Action","execute","syncStores","results","isLength","files","writeFile","isArray","errors","errorAssertUtil","assertError","file","nameReadable","nameReadablePlural","namePascal","typesFile","testUtil","assertFileByNameInGeneratedFiles","Service","check","AbstractSkillTest"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;;;IAEqBA,2B,WAanB,iB,UAKA,iB,UAOA,iB,UAaA,iB;;;;;;;;;;;;;qGAnCD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAEC,qBAAKC,YAAL,GAAoB,KAAKC,WAAL,CAAiB,yBAAjB,CAApB;;AAFD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;sGAKA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAECC,2CAASC,UAAT,CAAoB,KAAKH,YAAzB;;AAFD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;yGAKA;AAAA;AAAA;AAAA;AAAA;AAECI,6BAAOC,UAAP,CAAkB,KAAKC,MAAL,CAAY,OAAZ,EAAqB,MAArB,EAA6BC,OAA/C;;AAFD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;+GAKA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEuB,KAAKC,UAAL,EAFvB;;AAAA;AAEOC,gBAAAA,OAFP;;AAICL,6BAAOM,QAAP,CAAgBD,OAAO,CAACE,KAAxB,EAA+B,CAA/B;;AAJD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;+GAOA;AAAA;AAAA;AAAA;AAAA;AAAA;AAECT,2CAASU,SAAT,CAAmB,KAAKZ,YAAxB,EAAsC,4BAAtC;;AAFD;AAAA,uBAIuB,KAAKQ,UAAL,EAJvB;;AAAA;AAIOC,gBAAAA,OAJP;;AAKCL,6BAAOS,OAAP,CAAeJ,OAAO,CAACK,MAAvB;;AACAV,6BAAOM,QAAP,CAAgBD,OAAO,CAACK,MAAxB,EAAgC,CAAhC;;AAEAC,2CAAgBC,WAAhB,CAA4BP,OAAO,CAACK,MAAR,CAAe,CAAf,CAA5B,EAA+C,kBAA/C,EAAmE;AAClEG,kBAAAA,IAAI,EAAE;AAD4D,iBAAnE;;AARD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;kHAaA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEO,KAAKX,MAAL,CAAY,OAAZ,EAAqB,QAArB,EAA+BC,OAA/B,CAAuC;AAC5CW,kBAAAA,YAAY,EAAE,KAD8B;AAE5CC,kBAAAA,kBAAkB,EAAE,MAFwB;AAG5CC,kBAAAA,UAAU,EAAE;AAHgC,iBAAvC,CAFP;;AAAA;AAAA;AAAA,uBAQuB,KAAKZ,UAAL,EARvB;;AAAA;AAQOC,gBAAAA,OARP;AAUOY,gBAAAA,SAVP,GAUmBC,kBAASC,gCAAT,CACjB,iBADiB,EAEjBd,OAAO,CAACE,KAFS,CAVnB;AAAA;AAAA,uBAeO,KAAKa,OAAL,CAAa,aAAb,EAA4BC,KAA5B,CAAkCJ,SAAlC,CAfP;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;sGAkBA;AAAA;AAAA;AAAA;AAAA;AAAA,kDACQ,KAAKf,MAAL,CAAY,OAAZ,EAAqB,MAArB,EAA6BC,OAA7B,CAAqC,EAArC,CADR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EAxDwDmB,8B,8DACvB,Q","sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport { errorAssertUtil } from '@sprucelabs/test-utils'\nimport AbstractSkillTest from '../../../tests/AbstractSkillTest'\nimport testUtil from '../../../tests/utilities/test.utility'\n\nexport default class KeepingDataStoresInSyncTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'stores'\n\tprotected static badStoreDest: string\n\tprotected static async beforeAll() {\n\t\tawait super.beforeAll()\n\t\tthis.badStoreDest = this.resolvePath('src/stores/Bad.store.ts')\n\t}\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tdiskUtil.deleteFile(this.badStoreDest)\n\t}\n\n\t@test()\n\tprotected static async hasSyncAction() {\n\t\tassert.isFunction(this.Action('store', 'sync').execute)\n\t}\n\n\t@test()\n\tprotected static async syncsNothingToStart() {\n\t\tconst results = await this.syncStores()\n\n\t\tassert.isLength(results.files, 0)\n\t}\n\n\t@test()\n\tprotected static async badFileReturnsError() {\n\t\tdiskUtil.writeFile(this.badStoreDest, 'throw new Error(\"Cheese!\")')\n\n\t\tconst results = await this.syncStores()\n\t\tassert.isArray(results.errors)\n\t\tassert.isLength(results.errors, 1)\n\n\t\terrorAssertUtil.assertError(results.errors[0], 'FAILED_TO_IMPORT', {\n\t\t\tfile: 'Bad.store.ts',\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async generatesValidTypeFile() {\n\t\tawait this.Action('store', 'create').execute({\n\t\t\tnameReadable: 'Bid',\n\t\t\tnameReadablePlural: 'Bids',\n\t\t\tnamePascal: 'Bid',\n\t\t})\n\n\t\tconst results = await this.syncStores()\n\n\t\tconst typesFile = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'stores.types.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tawait this.Service('typeChecker').check(typesFile)\n\t}\n\n\tprivate static async syncStores() {\n\t\treturn this.Action('store', 'sync').execute({})\n\t}\n}\n"],"file":"KeepingDataStoresInSync.test.js"}
1
+ {"version":3,"sources":["../../../../src/__tests__/behavioral/stores/KeepingDataStoresInSync.test.ts"],"names":["KeepingDataStoresInSyncTest","badStoreDest","resolvePath","diskUtil","deleteFile","assert","isFunction","Action","execute","syncStores","results","isLength","files","writeFile","isArray","errors","errorAssertUtil","assertError","file","nameReadable","nameReadablePlural","namePascal","validateFiles","typesFile","testUtil","assertFileByNameInGeneratedFiles","mapFile","Promise","all","Service","check","AbstractSkillTest"],"mappings":"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","sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport { errorAssertUtil } from '@sprucelabs/test-utils'\nimport { FeatureActionResponse } from '../../../features/features.types'\nimport AbstractSkillTest from '../../../tests/AbstractSkillTest'\nimport testUtil from '../../../tests/utilities/test.utility'\n\nexport default class KeepingDataStoresInSyncTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'stores'\n\tprotected static badStoreDest: string\n\tprotected static async beforeAll() {\n\t\tawait super.beforeAll()\n\t\tthis.badStoreDest = this.resolvePath('src/stores/Bad.store.ts')\n\t}\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tdiskUtil.deleteFile(this.badStoreDest)\n\t}\n\n\t@test()\n\tprotected static async hasSyncAction() {\n\t\tassert.isFunction(this.Action('store', 'sync').execute)\n\t}\n\n\t@test()\n\tprotected static async syncsNothingToStart() {\n\t\tconst results = await this.syncStores()\n\n\t\tassert.isLength(results.files, 0)\n\t}\n\n\t@test()\n\tprotected static async badFileReturnsError() {\n\t\tdiskUtil.writeFile(this.badStoreDest, 'throw new Error(\"Cheese!\")')\n\n\t\tconst results = await this.syncStores()\n\t\tassert.isArray(results.errors)\n\t\tassert.isLength(results.errors, 1)\n\n\t\terrorAssertUtil.assertError(results.errors[0], 'FAILED_TO_IMPORT', {\n\t\t\tfile: 'Bad.store.ts',\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async generatesValidTypeFile() {\n\t\tconst results = await this.Action('store', 'create').execute({\n\t\t\tnameReadable: 'Bid',\n\t\t\tnameReadablePlural: 'Bids',\n\t\t\tnamePascal: 'Bid',\n\t\t})\n\n\t\tawait this.validateFiles(results)\n\t}\n\n\t@test()\n\tprotected static async fileIsValidAfterSync() {\n\t\tconst results = await this.syncStores()\n\n\t\tawait this.validateFiles(results)\n\t}\n\n\t@test()\n\tprotected static async canAddSecondStore() {\n\t\tconst results = await this.Action('store', 'create').execute({\n\t\t\tnameReadable: 'Person',\n\t\t\tnameReadablePlural: 'People',\n\t\t\tnamePascal: 'Person',\n\t\t})\n\n\t\tawait this.validateFiles(results)\n\t}\n\n\tprivate static async validateFiles(results: FeatureActionResponse) {\n\t\tconst typesFile = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'stores.types.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tconst mapFile = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'stores.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tawait Promise.all([\n\t\t\tthis.Service('typeChecker').check(typesFile),\n\t\t\tthis.Service('typeChecker').check(mapFile),\n\t\t])\n\t}\n\n\tprivate static async syncStores() {\n\t\treturn this.Action('store', 'sync').execute({})\n\t}\n}\n"],"file":"KeepingDataStoresInSync.test.js"}
@@ -25,6 +25,8 @@ var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/
25
25
 
26
26
  var _test = require("@sprucelabs/test");
27
27
 
28
+ var _LintService = _interopRequireDefault(require("../../../services/LintService"));
29
+
28
30
  var _AbstractTestTest2 = _interopRequireDefault(require("../../../tests/AbstractTestTest"));
29
31
 
30
32
  var _test2 = _interopRequireDefault(require("../../../tests/utilities/test.utility"));
@@ -119,40 +121,42 @@ var CreatingBehavioralTestsTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.t
119
121
  while (1) {
120
122
  switch (_context3.prev = _context3.next) {
121
123
  case 0:
122
- _context3.next = 2;
124
+ _LintService["default"].enableLinting();
125
+
126
+ _context3.next = 3;
123
127
  return this.installTests();
124
128
 
125
- case 2:
129
+ case 3:
126
130
  promise = this.Action('test', 'create').execute({
127
131
  type: 'behavioral',
128
132
  nameReadable: 'Can book appointment',
129
133
  nameCamel: 'canBookAppointment',
130
134
  namePascal: 'CanBookAppointment'
131
135
  });
132
- _context3.next = 5;
136
+ _context3.next = 6;
133
137
  return this.waitForInput();
134
138
 
135
- case 5:
139
+ case 6:
136
140
  this.selectOptionBasedOnLabel(testName);
137
- _context3.next = 8;
141
+ _context3.next = 9;
138
142
  return promise;
139
143
 
140
- case 8:
144
+ case 9:
141
145
  response = _context3.sent;
142
146
  match = _test2["default"].assertFileByNameInGeneratedFiles('CanBookAppointment.test.ts', response.files);
143
147
 
144
148
  _test.assert.doesInclude(match, 'behavioral');
145
149
 
146
- _context3.next = 13;
150
+ _context3.next = 14;
147
151
  return this.Service('build').build();
148
152
 
149
- case 13:
150
- _context3.next = 15;
153
+ case 14:
154
+ _context3.next = 16;
151
155
  return _test.assert.doesThrowAsync(function () {
152
156
  return _this.Service('command').execute('yarn test');
153
157
  }, /false[\s\S]*?does not equal[\s\S]*?true/gi);
154
158
 
155
- case 15:
159
+ case 16:
156
160
  case "end":
157
161
  return _context3.stop();
158
162
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/__tests__/behavioral/tests/CreatingATest.test.ts"],"names":["CreatingBehavioralTestsTest","assert","isFunction","Action","execute","installTests","testFeature","getFeatureInstaller","getFeature","buildParentClassCandidates","candidates","doesInclude","label","name","testName","promise","type","nameReadable","nameCamel","namePascal","waitForInput","selectOptionBasedOnLabel","response","match","testUtil","assertFileByNameInGeneratedFiles","files","Service","build","doesThrowAsync","AbstractTestTest"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;IAEqBA,2B,WACnB,iB,UAKA,iB,UAaA,gBACA,2DADA,EAEA,2BAFA,C,UAIA,gBACA,2DADA,EAEA,sCAFA,C;;;;;;;;;;;;;2GAtBD;AAAA;AAAA;AAAA;AAAA;AAECC,6BAAOC,UAAP,CAAkB,KAAKC,MAAL,CAAY,MAAZ,EAAoB,QAApB,EAA8BC,OAAhD;;AAFD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;8HAKA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEO,KAAKC,YAAL,CAAkB,mBAAlB,CAFP;;AAAA;AAIOC,gBAAAA,WAJP,GAIqB,KAAKC,mBAAL,GAA2BC,UAA3B,CAAsC,MAAtC,CAJrB;AAAA;AAAA,uBAK0BF,WAAW,CAACG,0BAAZ,EAL1B;;AAAA;AAKOC,gBAAAA,UALP;;AAOCT,6BAAOU,WAAP,CAAmBD,UAAnB,EAA+B;AAC9BE,kBAAAA,KAAK,EAAE,8CADuB;AAE9BC,kBAAAA,IAAI,EAAE;AAFwB,iBAA/B;;AAPD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;mHAaA,kBAQ+CC,QAR/C;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBASO,KAAKT,YAAL,EATP;;AAAA;AAUOU,gBAAAA,OAVP,GAUiB,KAAKZ,MAAL,CAAY,MAAZ,EAAoB,QAApB,EAA8BC,OAA9B,CAAsC;AACrDY,kBAAAA,IAAI,EAAE,YAD+C;AAErDC,kBAAAA,YAAY,EAAE,sBAFuC;AAGrDC,kBAAAA,SAAS,EAAE,oBAH0C;AAIrDC,kBAAAA,UAAU,EAAE;AAJyC,iBAAtC,CAVjB;AAAA;AAAA,uBAiBO,KAAKC,YAAL,EAjBP;;AAAA;AAmBC,qBAAKC,wBAAL,CAA8BP,QAA9B;AAnBD;AAAA,uBAqBwBC,OArBxB;;AAAA;AAqBOO,gBAAAA,QArBP;AAuBOC,gBAAAA,KAvBP,GAuBeC,kBAASC,gCAAT,CACb,4BADa,EAEbH,QAAQ,CAACI,KAFI,CAvBf;;AA4BCzB,6BAAOU,WAAP,CAAmBY,KAAnB,EAA0B,YAA1B;;AA5BD;AAAA,uBA8BO,KAAKI,OAAL,CAAa,OAAb,EAAsBC,KAAtB,EA9BP;;AAAA;AAAA;AAAA,uBAgCO3B,aAAO4B,cAAP,CACL;AAAA,yBAAM,KAAI,CAACF,OAAL,CAAa,SAAb,EAAwBvB,OAAxB,CAAgC,WAAhC,CAAN;AAAA,iBADK,EAEL,2CAFK,CAhCP;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EAnBwD0B,6B","sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport AbstractTestTest from '../../../tests/AbstractTestTest'\nimport testUtil from '../../../tests/utilities/test.utility'\n\nexport default class CreatingBehavioralTestsTest extends AbstractTestTest {\n\t@test()\n\tprotected static async hasCreateAction() {\n\t\tassert.isFunction(this.Action('test', 'create').execute)\n\t}\n\n\t@test()\n\tprotected static async requiresInstallIfSkilLNotInstalled() {\n\t\tawait this.installTests('testsInNodeModule')\n\n\t\tconst testFeature = this.getFeatureInstaller().getFeature('test')\n\t\tconst candidates = await testFeature.buildParentClassCandidates()\n\n\t\tassert.doesInclude(candidates, {\n\t\t\tlabel: 'AbstractSpruceFixtureTest (requires install)',\n\t\t\tname: 'AbstractSpruceFixtureTest',\n\t\t})\n\t}\n\n\t@test(\n\t\t'can create behavioral test with AbstractSpruceFixtureTest',\n\t\t'AbstractSpruceFixtureTest'\n\t)\n\t@test(\n\t\t'can create behavioral test with AbstractSpruceFixtureTest',\n\t\t'AbstractStoreTest (requires install)'\n\t)\n\tprotected static async canCreateBehavioralTest(testName: string) {\n\t\tawait this.installTests()\n\t\tconst promise = this.Action('test', 'create').execute({\n\t\t\ttype: 'behavioral',\n\t\t\tnameReadable: 'Can book appointment',\n\t\t\tnameCamel: 'canBookAppointment',\n\t\t\tnamePascal: 'CanBookAppointment',\n\t\t})\n\n\t\tawait this.waitForInput()\n\n\t\tthis.selectOptionBasedOnLabel(testName)\n\n\t\tconst response = await promise\n\n\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'CanBookAppointment.test.ts',\n\t\t\tresponse.files\n\t\t)\n\n\t\tassert.doesInclude(match, 'behavioral')\n\n\t\tawait this.Service('build').build()\n\n\t\tawait assert.doesThrowAsync(\n\t\t\t() => this.Service('command').execute('yarn test'),\n\t\t\t/false.*?does not equal.*?true/gis\n\t\t)\n\t}\n}\n"],"file":"CreatingATest.test.js"}
1
+ {"version":3,"sources":["../../../../src/__tests__/behavioral/tests/CreatingATest.test.ts"],"names":["CreatingBehavioralTestsTest","assert","isFunction","Action","execute","installTests","testFeature","getFeatureInstaller","getFeature","buildParentClassCandidates","candidates","doesInclude","label","name","testName","LintService","enableLinting","promise","type","nameReadable","nameCamel","namePascal","waitForInput","selectOptionBasedOnLabel","response","match","testUtil","assertFileByNameInGeneratedFiles","files","Service","build","doesThrowAsync","AbstractTestTest"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;;;IAEqBA,2B,WACnB,iB,UAKA,iB,UAaA,gBACA,2DADA,EAEA,2BAFA,C,UAIA,gBACA,2DADA,EAEA,sCAFA,C;;;;;;;;;;;;;2GAtBD;AAAA;AAAA;AAAA;AAAA;AAECC,6BAAOC,UAAP,CAAkB,KAAKC,MAAL,CAAY,MAAZ,EAAoB,QAApB,EAA8BC,OAAhD;;AAFD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;8HAKA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEO,KAAKC,YAAL,CAAkB,mBAAlB,CAFP;;AAAA;AAIOC,gBAAAA,WAJP,GAIqB,KAAKC,mBAAL,GAA2BC,UAA3B,CAAsC,MAAtC,CAJrB;AAAA;AAAA,uBAK0BF,WAAW,CAACG,0BAAZ,EAL1B;;AAAA;AAKOC,gBAAAA,UALP;;AAOCT,6BAAOU,WAAP,CAAmBD,UAAnB,EAA+B;AAC9BE,kBAAAA,KAAK,EAAE,8CADuB;AAE9BC,kBAAAA,IAAI,EAAE;AAFwB,iBAA/B;;AAPD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;mHAaA,kBAQ+CC,QAR/C;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AASCC,wCAAYC,aAAZ;;AATD;AAAA,uBAUO,KAAKX,YAAL,EAVP;;AAAA;AAWOY,gBAAAA,OAXP,GAWiB,KAAKd,MAAL,CAAY,MAAZ,EAAoB,QAApB,EAA8BC,OAA9B,CAAsC;AACrDc,kBAAAA,IAAI,EAAE,YAD+C;AAErDC,kBAAAA,YAAY,EAAE,sBAFuC;AAGrDC,kBAAAA,SAAS,EAAE,oBAH0C;AAIrDC,kBAAAA,UAAU,EAAE;AAJyC,iBAAtC,CAXjB;AAAA;AAAA,uBAkBO,KAAKC,YAAL,EAlBP;;AAAA;AAoBC,qBAAKC,wBAAL,CAA8BT,QAA9B;AApBD;AAAA,uBAsBwBG,OAtBxB;;AAAA;AAsBOO,gBAAAA,QAtBP;AAwBOC,gBAAAA,KAxBP,GAwBeC,kBAASC,gCAAT,CACb,4BADa,EAEbH,QAAQ,CAACI,KAFI,CAxBf;;AA6BC3B,6BAAOU,WAAP,CAAmBc,KAAnB,EAA0B,YAA1B;;AA7BD;AAAA,uBA+BO,KAAKI,OAAL,CAAa,OAAb,EAAsBC,KAAtB,EA/BP;;AAAA;AAAA;AAAA,uBAiCO7B,aAAO8B,cAAP,CACL;AAAA,yBAAM,KAAI,CAACF,OAAL,CAAa,SAAb,EAAwBzB,OAAxB,CAAgC,WAAhC,CAAN;AAAA,iBADK,EAEL,2CAFK,CAjCP;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EAnBwD4B,6B","sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport LintService from '../../../services/LintService'\nimport AbstractTestTest from '../../../tests/AbstractTestTest'\nimport testUtil from '../../../tests/utilities/test.utility'\n\nexport default class CreatingBehavioralTestsTest extends AbstractTestTest {\n\t@test()\n\tprotected static async hasCreateAction() {\n\t\tassert.isFunction(this.Action('test', 'create').execute)\n\t}\n\n\t@test()\n\tprotected static async requiresInstallIfSkilLNotInstalled() {\n\t\tawait this.installTests('testsInNodeModule')\n\n\t\tconst testFeature = this.getFeatureInstaller().getFeature('test')\n\t\tconst candidates = await testFeature.buildParentClassCandidates()\n\n\t\tassert.doesInclude(candidates, {\n\t\t\tlabel: 'AbstractSpruceFixtureTest (requires install)',\n\t\t\tname: 'AbstractSpruceFixtureTest',\n\t\t})\n\t}\n\n\t@test(\n\t\t'can create behavioral test with AbstractSpruceFixtureTest',\n\t\t'AbstractSpruceFixtureTest'\n\t)\n\t@test(\n\t\t'can create behavioral test with AbstractSpruceFixtureTest',\n\t\t'AbstractStoreTest (requires install)'\n\t)\n\tprotected static async canCreateBehavioralTest(testName: string) {\n\t\tLintService.enableLinting()\n\t\tawait this.installTests()\n\t\tconst promise = this.Action('test', 'create').execute({\n\t\t\ttype: 'behavioral',\n\t\t\tnameReadable: 'Can book appointment',\n\t\t\tnameCamel: 'canBookAppointment',\n\t\t\tnamePascal: 'CanBookAppointment',\n\t\t})\n\n\t\tawait this.waitForInput()\n\n\t\tthis.selectOptionBasedOnLabel(testName)\n\n\t\tconst response = await promise\n\n\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'CanBookAppointment.test.ts',\n\t\t\tresponse.files\n\t\t)\n\n\t\tassert.doesInclude(match, 'behavioral')\n\n\t\tawait this.Service('build').build()\n\n\t\tawait assert.doesThrowAsync(\n\t\t\t() => this.Service('command').execute('yarn test'),\n\t\t\t/false.*?does not equal.*?true/gis\n\t\t)\n\t}\n}\n"],"file":"CreatingATest.test.js"}
@@ -1,6 +1,7 @@
1
1
  import AbstractSkillTest from '../../../tests/AbstractSkillTest';
2
2
  export default class TestingViewControllersTest extends AbstractSkillTest {
3
3
  protected static skillCacheKey: string;
4
+ protected static beforeEach(): Promise<void>;
4
5
  protected static showsNotInstalled(): Promise<void>;
5
6
  protected static canSelectAbstractTest(): Promise<void>;
6
7
  protected static testsRun(): Promise<void>;
@@ -15,6 +15,8 @@ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/cl
15
15
 
16
16
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
17
 
18
+ var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
19
+
18
20
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
21
 
20
22
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
@@ -29,6 +31,8 @@ var _spruceSkillUtils = require("@sprucelabs/spruce-skill-utils");
29
31
 
30
32
  var _test = require("@sprucelabs/test");
31
33
 
34
+ var _LintService = _interopRequireDefault(require("../../../services/LintService"));
35
+
32
36
  var _AbstractSkillTest2 = _interopRequireDefault(require("../../../tests/AbstractSkillTest"));
33
37
 
34
38
  var _test2 = _interopRequireDefault(require("../../../tests/utilities/test.utility"));
@@ -50,31 +54,59 @@ var TestingViewControllersTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.te
50
54
  }
51
55
 
52
56
  (0, _createClass2["default"])(TestingViewControllersTest, null, [{
57
+ key: "beforeEach",
58
+ value: function () {
59
+ var _beforeEach = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
60
+ return _regenerator["default"].wrap(function _callee$(_context) {
61
+ while (1) {
62
+ switch (_context.prev = _context.next) {
63
+ case 0:
64
+ _context.next = 2;
65
+ return (0, _get2["default"])((0, _getPrototypeOf2["default"])(TestingViewControllersTest), "beforeEach", this).call(this);
66
+
67
+ case 2:
68
+ _LintService["default"].enableLinting();
69
+
70
+ case 3:
71
+ case "end":
72
+ return _context.stop();
73
+ }
74
+ }
75
+ }, _callee, this);
76
+ }));
77
+
78
+ function beforeEach() {
79
+ return _beforeEach.apply(this, arguments);
80
+ }
81
+
82
+ return beforeEach;
83
+ }()
84
+ }, {
53
85
  key: "showsNotInstalled",
54
86
  value: function () {
55
- var _showsNotInstalled = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
87
+ var _showsNotInstalled = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
56
88
  var viewFeature, last;
57
- return _regenerator["default"].wrap(function _callee2$(_context2) {
89
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
58
90
  while (1) {
59
- switch (_context2.prev = _context2.next) {
91
+ switch (_context3.prev = _context3.next) {
60
92
  case 0:
61
93
  viewFeature = this.cli.getFeature('view');
62
- viewFeature.isInstalled = /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
63
- return _regenerator["default"].wrap(function _callee$(_context) {
94
+ viewFeature.isInstalled = /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
95
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
64
96
  while (1) {
65
- switch (_context.prev = _context.next) {
97
+ switch (_context2.prev = _context2.next) {
66
98
  case 0:
67
- return _context.abrupt("return", false);
99
+ return _context2.abrupt("return", false);
68
100
 
69
101
  case 1:
70
102
  case "end":
71
- return _context.stop();
103
+ return _context2.stop();
72
104
  }
73
105
  }
74
- }, _callee);
106
+ }, _callee2);
75
107
  }));
76
108
  void this.executeCreate();
77
- _context2.next = 5;
109
+ _context3.next = 5;
78
110
  return this.waitForInput();
79
111
 
80
112
  case 5:
@@ -88,10 +120,10 @@ var TestingViewControllersTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.te
88
120
 
89
121
  case 8:
90
122
  case "end":
91
- return _context2.stop();
123
+ return _context3.stop();
92
124
  }
93
125
  }
94
- }, _callee2, this);
126
+ }, _callee3, this);
95
127
  }));
96
128
 
97
129
  function showsNotInstalled() {
@@ -103,14 +135,14 @@ var TestingViewControllersTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.te
103
135
  }, {
104
136
  key: "canSelectAbstractTest",
105
137
  value: function () {
106
- var _canSelectAbstractTest = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
138
+ var _canSelectAbstractTest = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
107
139
  var last;
108
- return _regenerator["default"].wrap(function _callee3$(_context3) {
140
+ return _regenerator["default"].wrap(function _callee4$(_context4) {
109
141
  while (1) {
110
- switch (_context3.prev = _context3.next) {
142
+ switch (_context4.prev = _context4.next) {
111
143
  case 0:
112
144
  void this.executeCreate();
113
- _context3.next = 3;
145
+ _context4.next = 3;
114
146
  return this.waitForInput();
115
147
 
116
148
  case 3:
@@ -124,10 +156,10 @@ var TestingViewControllersTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.te
124
156
 
125
157
  case 6:
126
158
  case "end":
127
- return _context3.stop();
159
+ return _context4.stop();
128
160
  }
129
161
  }
130
- }, _callee3, this);
162
+ }, _callee4, this);
131
163
  }));
132
164
 
133
165
  function canSelectAbstractTest() {
@@ -139,25 +171,25 @@ var TestingViewControllersTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.te
139
171
  }, {
140
172
  key: "testsRun",
141
173
  value: function () {
142
- var _testsRun = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
174
+ var _testsRun = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
143
175
  var _testResults$meta;
144
176
 
145
177
  var promise, results, match, contents, testResults;
146
- return _regenerator["default"].wrap(function _callee4$(_context4) {
178
+ return _regenerator["default"].wrap(function _callee5$(_context5) {
147
179
  while (1) {
148
- switch (_context4.prev = _context4.next) {
180
+ switch (_context5.prev = _context5.next) {
149
181
  case 0:
150
182
  promise = this.executeCreate();
151
- _context4.next = 3;
183
+ _context5.next = 3;
152
184
  return this.waitForInput();
153
185
 
154
186
  case 3:
155
187
  this.selectOptionBasedOnLabel('AbstractViewControllerTest');
156
- _context4.next = 6;
188
+ _context5.next = 6;
157
189
  return promise;
158
190
 
159
191
  case 6:
160
- results = _context4.sent;
192
+ results = _context5.sent;
161
193
 
162
194
  _test.assert.isFalsy(results.errors);
163
195
 
@@ -168,17 +200,17 @@ var TestingViewControllersTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.te
168
200
 
169
201
  _test.assert.doesInclude(contents, "import { AbstractViewControllerTest } from '@sprucelabs/spruce-view-plugin'");
170
202
 
171
- _context4.next = 14;
203
+ _context5.next = 14;
172
204
  return this.Service('build').build();
173
205
 
174
206
  case 14:
175
- _context4.next = 16;
207
+ _context5.next = 16;
176
208
  return this.Action('test', 'test').execute({
177
209
  shouldReportWhileRunning: false
178
210
  });
179
211
 
180
212
  case 16:
181
- testResults = _context4.sent;
213
+ testResults = _context5.sent;
182
214
 
183
215
  _test.assert.isArray(testResults.errors);
184
216
 
@@ -191,10 +223,10 @@ var TestingViewControllersTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.te
191
223
 
192
224
  case 20:
193
225
  case "end":
194
- return _context4.stop();
226
+ return _context5.stop();
195
227
  }
196
228
  }
197
- }, _callee4, this);
229
+ }, _callee5, this);
198
230
  }));
199
231
 
200
232
  function testsRun() {
@@ -206,12 +238,12 @@ var TestingViewControllersTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.te
206
238
  }, {
207
239
  key: "executeCreate",
208
240
  value: function () {
209
- var _executeCreate = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
210
- return _regenerator["default"].wrap(function _callee5$(_context5) {
241
+ var _executeCreate = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
242
+ return _regenerator["default"].wrap(function _callee6$(_context6) {
211
243
  while (1) {
212
- switch (_context5.prev = _context5.next) {
244
+ switch (_context6.prev = _context6.next) {
213
245
  case 0:
214
- return _context5.abrupt("return", this.Action('test', 'create').execute({
246
+ return _context6.abrupt("return", this.Action('test', 'create').execute({
215
247
  type: 'behavioral',
216
248
  nameReadable: 'Rendering root view controller',
217
249
  nameCamel: 'renderingRootViewController',
@@ -220,10 +252,10 @@ var TestingViewControllersTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.te
220
252
 
221
253
  case 1:
222
254
  case "end":
223
- return _context5.stop();
255
+ return _context6.stop();
224
256
  }
225
257
  }
226
- }, _callee5, this);
258
+ }, _callee6, this);
227
259
  }));
228
260
 
229
261
  function executeCreate() {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/__tests__/behavioral/views/TestingViewControllers.test.ts"],"names":["TestingViewControllersTest","viewFeature","cli","getFeature","isInstalled","executeCreate","waitForInput","last","ui","getLastInvocation","assert","doesInclude","options","choices","label","reset","promise","selectOptionBasedOnLabel","results","isFalsy","errors","match","testUtil","assertFileByNameInGeneratedFiles","files","contents","diskUtil","readFile","Service","build","Action","execute","shouldReportWhileRunning","testResults","isArray","isLength","meta","testFiles","path","status","type","nameReadable","nameCamel","namePascal","AbstractSkillTest"],"mappings":"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","sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport AbstractSkillTest from '../../../tests/AbstractSkillTest'\nimport testUtil from '../../../tests/utilities/test.utility'\n\nexport default class TestingViewControllersTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'viewsWithTests'\n\n\t@test()\n\tprotected static async showsNotInstalled() {\n\t\tconst viewFeature = this.cli.getFeature('view')\n\t\tviewFeature.isInstalled = async () => false\n\n\t\tvoid this.executeCreate()\n\n\t\tawait this.waitForInput()\n\n\t\tconst last = this.ui.getLastInvocation()\n\t\tassert.doesInclude(last.options.options.choices, {\n\t\t\tlabel: 'AbstractViewControllerTest (requires install)',\n\t\t})\n\n\t\tthis.ui.reset()\n\t}\n\n\t@test()\n\tprotected static async canSelectAbstractTest() {\n\t\tvoid this.executeCreate()\n\n\t\tawait this.waitForInput()\n\n\t\tconst last = this.ui.getLastInvocation()\n\t\tassert.doesInclude(last.options.options.choices, {\n\t\t\tlabel: 'AbstractViewControllerTest',\n\t\t})\n\n\t\tthis.ui.reset()\n\t}\n\n\t@test()\n\tprotected static async testsRun() {\n\t\tconst promise = this.executeCreate()\n\n\t\tawait this.waitForInput()\n\n\t\tthis.selectOptionBasedOnLabel('AbstractViewControllerTest')\n\n\t\tconst results = await promise\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'RenderingRootViewController.test.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tconst contents = diskUtil.readFile(match)\n\t\tassert.doesInclude(\n\t\t\tcontents,\n\t\t\t'RenderingRootViewControllerTest extends AbstractViewControllerTest'\n\t\t)\n\t\tassert.doesInclude(\n\t\t\tcontents,\n\t\t\t\"import { AbstractViewControllerTest } from '@sprucelabs/spruce-view-plugin'\"\n\t\t)\n\n\t\tawait this.Service('build').build()\n\n\t\tconst testResults = await this.Action('test', 'test').execute({\n\t\t\tshouldReportWhileRunning: false,\n\t\t})\n\n\t\tassert.isArray(testResults.errors)\n\t\tassert.isLength(testResults.errors, 1)\n\n\t\tassert.doesInclude(testResults.meta?.testResults.testFiles, {\n\t\t\tpath: 'behavioral/RenderingRootViewController.test.ts',\n\t\t\tstatus: 'failed',\n\t\t})\n\t}\n\n\tprivate static async executeCreate() {\n\t\treturn this.Action('test', 'create').execute({\n\t\t\ttype: 'behavioral',\n\t\t\tnameReadable: 'Rendering root view controller',\n\t\t\tnameCamel: 'renderingRootViewController',\n\t\t\tnamePascal: 'RenderingRootViewController',\n\t\t})\n\t}\n}\n"],"file":"TestingViewControllers.test.js"}
1
+ {"version":3,"sources":["../../../../src/__tests__/behavioral/views/TestingViewControllers.test.ts"],"names":["TestingViewControllersTest","LintService","enableLinting","viewFeature","cli","getFeature","isInstalled","executeCreate","waitForInput","last","ui","getLastInvocation","assert","doesInclude","options","choices","label","reset","promise","selectOptionBasedOnLabel","results","isFalsy","errors","match","testUtil","assertFileByNameInGeneratedFiles","files","contents","diskUtil","readFile","Service","build","Action","execute","shouldReportWhileRunning","testResults","isArray","isLength","meta","testFiles","path","status","type","nameReadable","nameCamel","namePascal","AbstractSkillTest"],"mappings":"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","sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport LintService from '../../../services/LintService'\nimport AbstractSkillTest from '../../../tests/AbstractSkillTest'\nimport testUtil from '../../../tests/utilities/test.utility'\n\nexport default class TestingViewControllersTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'viewsWithTests'\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tLintService.enableLinting()\n\t}\n\n\t@test()\n\tprotected static async showsNotInstalled() {\n\t\tconst viewFeature = this.cli.getFeature('view')\n\t\tviewFeature.isInstalled = async () => false\n\n\t\tvoid this.executeCreate()\n\n\t\tawait this.waitForInput()\n\n\t\tconst last = this.ui.getLastInvocation()\n\t\tassert.doesInclude(last.options.options.choices, {\n\t\t\tlabel: 'AbstractViewControllerTest (requires install)',\n\t\t})\n\n\t\tthis.ui.reset()\n\t}\n\n\t@test()\n\tprotected static async canSelectAbstractTest() {\n\t\tvoid this.executeCreate()\n\n\t\tawait this.waitForInput()\n\n\t\tconst last = this.ui.getLastInvocation()\n\t\tassert.doesInclude(last.options.options.choices, {\n\t\t\tlabel: 'AbstractViewControllerTest',\n\t\t})\n\n\t\tthis.ui.reset()\n\t}\n\n\t@test()\n\tprotected static async testsRun() {\n\t\tconst promise = this.executeCreate()\n\n\t\tawait this.waitForInput()\n\n\t\tthis.selectOptionBasedOnLabel('AbstractViewControllerTest')\n\n\t\tconst results = await promise\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'RenderingRootViewController.test.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tconst contents = diskUtil.readFile(match)\n\t\tassert.doesInclude(\n\t\t\tcontents,\n\t\t\t'RenderingRootViewControllerTest extends AbstractViewControllerTest'\n\t\t)\n\t\tassert.doesInclude(\n\t\t\tcontents,\n\t\t\t\"import { AbstractViewControllerTest } from '@sprucelabs/spruce-view-plugin'\"\n\t\t)\n\n\t\tawait this.Service('build').build()\n\n\t\tconst testResults = await this.Action('test', 'test').execute({\n\t\t\tshouldReportWhileRunning: false,\n\t\t})\n\n\t\tassert.isArray(testResults.errors)\n\t\tassert.isLength(testResults.errors, 1)\n\n\t\tassert.doesInclude(testResults.meta?.testResults.testFiles, {\n\t\t\tpath: 'behavioral/RenderingRootViewController.test.ts',\n\t\t\tstatus: 'failed',\n\t\t})\n\t}\n\n\tprivate static async executeCreate() {\n\t\treturn this.Action('test', 'create').execute({\n\t\t\ttype: 'behavioral',\n\t\t\tnameReadable: 'Rendering root view controller',\n\t\t\tnameCamel: 'renderingRootViewController',\n\t\t\tnamePascal: 'RenderingRootViewController',\n\t\t})\n\t}\n}\n"],"file":"TestingViewControllers.test.js"}
@@ -10,4 +10,5 @@ export default class AuthServiceTest extends AbstractCliTest {
10
10
  protected static canLogOut(): void;
11
11
  protected static getCurrentSkillReturnsNull(): void;
12
12
  protected static canSetCurrentSkill(): void;
13
+ private static writePackageJson;
13
14
  }
@@ -225,11 +225,14 @@ var AuthServiceTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(), _dec
225
225
  }, {
226
226
  key: "getCurrentSkillReturnsNull",
227
227
  value: function getCurrentSkillReturnsNull() {
228
+ this.writePackageJson();
229
+
228
230
  _test.assert.isNull(this.auth.getCurrentSkill());
229
231
  }
230
232
  }, {
231
233
  key: "canSetCurrentSkill",
232
234
  value: function canSetCurrentSkill() {
235
+ this.writePackageJson();
233
236
  var skill = {
234
237
  id: '123467aaoeuaoeu',
235
238
  apiKey: 'taco',
@@ -240,6 +243,11 @@ var AuthServiceTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(), _dec
240
243
 
241
244
  _test.assert.isEqualDeep(this.auth.getCurrentSkill(), skill);
242
245
  }
246
+ }, {
247
+ key: "writePackageJson",
248
+ value: function writePackageJson() {
249
+ _spruceSkillUtils.diskUtil.writeFile(this.resolvePath('package.json'), '{}');
250
+ }
243
251
  }]);
244
252
  return AuthServiceTest;
245
253
  }(_AbstractCliTest2["default"]), (0, _defineProperty2["default"])(_class2, "auth", void 0), _temp), ((0, _applyDecoratedDescriptor2["default"])(_class, "canInstantiatePersonStore", [_dec], Object.getOwnPropertyDescriptor(_class, "canInstantiatePersonStore"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "hasLoggedInPersonMethod", [_dec2], Object.getOwnPropertyDescriptor(_class, "hasLoggedInPersonMethod"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "loggedInPersonIsNullWhenNotLoggedIn", [_dec3], Object.getOwnPropertyDescriptor(_class, "loggedInPersonIsNullWhenNotLoggedIn"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "cantSaveBadLoggedInPerson", [_dec4], Object.getOwnPropertyDescriptor(_class, "cantSaveBadLoggedInPerson"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "canSaveLoggedInPerson", [_dec5], Object.getOwnPropertyDescriptor(_class, "canSaveLoggedInPerson"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "canLogOut", [_dec6], Object.getOwnPropertyDescriptor(_class, "canLogOut"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "getCurrentSkillReturnsNull", [_dec7], Object.getOwnPropertyDescriptor(_class, "getCurrentSkillReturnsNull"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "canSetCurrentSkill", [_dec8], Object.getOwnPropertyDescriptor(_class, "canSetCurrentSkill"), _class)), _class));
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/__tests__/implementation/AuthService.test.ts"],"names":["AuthServiceTest","diskUtil","createDir","resolvePath","HASH_SPRUCE_DIR","auth","Service","assert","isTruthy","isFunction","getLoggedInPerson","isNull","err","doesThrow","setLoggedInPerson","test","errorAssertUtil","assertError","person","id","casualName","token","loggedIn","isEqualDeep","isLoggedIn","logOutPerson","getCurrentSkill","skill","apiKey","name","slug","updateCurrentSkill","AbstractCliTest"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;;;;;;;;;;;IAEqBA,e,WAQnB,iB,UAKA,iB,UAKA,iB,UAKA,iB,UAUA,iB,UAgBA,iB,UAeA,iB,UAKA,iB;;;;;;;;;;;;;sGAnED;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAECC,2CAASC,SAAT,CAAmB,KAAKC,WAAL,CAAiBC,iCAAjB,CAAnB;;AACA,qBAAKC,IAAL,GAAY,KAAKC,OAAL,CAAa,MAAb,CAAZ;;AAHD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;qHAMA;AAAA;AAAA;AAAA;AAAA;AAECC,6BAAOC,QAAP,CAAgB,KAAKH,IAArB;;AAFD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;mHAKA;AAAA;AAAA;AAAA;AAAA;AAECE,6BAAOE,UAAP,CAAkB,KAAKJ,IAAL,CAAUK,iBAA5B;;AAFD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;+HAKA;AAAA;AAAA;AAAA;AAAA;AAECH,6BAAOI,MAAP,CAAc,KAAKN,IAAL,CAAUK,iBAAV,EAAd;;AAFD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;qHAKA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEOE,gBAAAA,GAFP,GAEaL,aAAOM,SAAP,CAAiB;AAAA,yBAC5B;AACA,oBAAA,KAAI,CAACR,IAAL,CAAUS,iBAAV,CAA4B;AAAEC,sBAAAA,IAAI,EAAE;AAAR,qBAA5B;AAF4B;AAAA,iBAAjB,CAFb;;AAOCC,2CAAgBC,WAAhB,CAA4BL,GAA5B,EAAiC,oBAAjC;;AAPD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;WAUA,iCACyC;AACxC,UAAMP,IAAI,GAAG,KAAKA,IAAlB;AACA,UAAMa,MAAM,GAAG;AACdC,QAAAA,EAAE,EAAE,MADU;AAEdC,QAAAA,UAAU,EAAE,QAFE;AAGdC,QAAAA,KAAK,EAAE;AAHO,OAAf;AAMAhB,MAAAA,IAAI,CAACS,iBAAL,CAAuBI,MAAvB;AAEA,UAAMI,QAAQ,GAAGjB,IAAI,CAACK,iBAAL,EAAjB;;AAEAH,mBAAOgB,WAAP,CAAmBD,QAAnB,kCAAkCJ,MAAlC;AAA0CM,QAAAA,UAAU,EAAE;AAAtD;AACA;;;WAED,qBAC6B;AAC5B,UAAMnB,IAAI,GAAG,KAAKA,IAAlB;AACA,UAAMa,MAAM,GAAG;AACdC,QAAAA,EAAE,EAAE,MADU;AAEdC,QAAAA,UAAU,EAAE,QAFE;AAGdC,QAAAA,KAAK,EAAE;AAHO,OAAf;AAMAhB,MAAAA,IAAI,CAACS,iBAAL,CAAuBI,MAAvB;AACAb,MAAAA,IAAI,CAACoB,YAAL;;AAEAlB,mBAAOI,MAAP,CAAcN,IAAI,CAACK,iBAAL,EAAd;AACA;;;WAED,sCAC8C;AAC7CH,mBAAOI,MAAP,CAAc,KAAKN,IAAL,CAAUqB,eAAV,EAAd;AACA;;;WAED,8BACsC;AACrC,UAAMC,KAAK,GAAG;AACbR,QAAAA,EAAE,EAAE,iBADS;AAEbS,QAAAA,MAAM,EAAE,MAFK;AAGbC,QAAAA,IAAI,EAAE,SAHO;AAIbC,QAAAA,IAAI,EAAE;AAJO,OAAd;AAOA,WAAKzB,IAAL,CAAU0B,kBAAV,CAA6BJ,KAA7B;;AAEApB,mBAAOgB,WAAP,CAAmB,KAAKlB,IAAL,CAAUqB,eAAV,EAAnB,EAAgDC,KAAhD;AACA;;;EAjF2CK,4B","sourcesContent":["import { diskUtil, HASH_SPRUCE_DIR } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport { errorAssertUtil } from '@sprucelabs/test-utils'\nimport AuthService from '../../services/AuthService'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\n\nexport default class AuthServiceTest extends AbstractCliTest {\n\tprivate static auth: AuthService\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tdiskUtil.createDir(this.resolvePath(HASH_SPRUCE_DIR))\n\t\tthis.auth = this.Service('auth')\n\t}\n\n\t@test()\n\tprotected static async canInstantiatePersonStore() {\n\t\tassert.isTruthy(this.auth)\n\t}\n\n\t@test()\n\tprotected static async hasLoggedInPersonMethod() {\n\t\tassert.isFunction(this.auth.getLoggedInPerson)\n\t}\n\n\t@test()\n\tprotected static async loggedInPersonIsNullWhenNotLoggedIn() {\n\t\tassert.isNull(this.auth.getLoggedInPerson())\n\t}\n\n\t@test()\n\tprotected static async cantSaveBadLoggedInPerson() {\n\t\tconst err = assert.doesThrow(() =>\n\t\t\t//@ts-ignore\n\t\t\tthis.auth.setLoggedInPerson({ test: true })\n\t\t)\n\n\t\terrorAssertUtil.assertError(err, 'MISSING_PARAMETERS')\n\t}\n\n\t@test()\n\tprotected static canSaveLoggedInPerson() {\n\t\tconst auth = this.auth\n\t\tconst person = {\n\t\t\tid: 'test',\n\t\t\tcasualName: 'friend',\n\t\t\ttoken: 'token',\n\t\t}\n\n\t\tauth.setLoggedInPerson(person)\n\n\t\tconst loggedIn = auth.getLoggedInPerson()\n\n\t\tassert.isEqualDeep(loggedIn, { ...person, isLoggedIn: true })\n\t}\n\n\t@test()\n\tprotected static canLogOut() {\n\t\tconst auth = this.auth\n\t\tconst person = {\n\t\t\tid: 'test',\n\t\t\tcasualName: 'friend',\n\t\t\ttoken: 'token',\n\t\t}\n\n\t\tauth.setLoggedInPerson(person)\n\t\tauth.logOutPerson()\n\n\t\tassert.isNull(auth.getLoggedInPerson())\n\t}\n\n\t@test()\n\tprotected static getCurrentSkillReturnsNull() {\n\t\tassert.isNull(this.auth.getCurrentSkill())\n\t}\n\n\t@test()\n\tprotected static canSetCurrentSkill() {\n\t\tconst skill = {\n\t\t\tid: '123467aaoeuaoeu',\n\t\t\tapiKey: 'taco',\n\t\t\tname: 'go team',\n\t\t\tslug: 'taco-bravo',\n\t\t}\n\n\t\tthis.auth.updateCurrentSkill(skill)\n\n\t\tassert.isEqualDeep(this.auth.getCurrentSkill(), skill)\n\t}\n}\n"],"file":"AuthService.test.js"}
1
+ {"version":3,"sources":["../../../src/__tests__/implementation/AuthService.test.ts"],"names":["AuthServiceTest","diskUtil","createDir","resolvePath","HASH_SPRUCE_DIR","auth","Service","assert","isTruthy","isFunction","getLoggedInPerson","isNull","err","doesThrow","setLoggedInPerson","test","errorAssertUtil","assertError","person","id","casualName","token","loggedIn","isEqualDeep","isLoggedIn","logOutPerson","writePackageJson","getCurrentSkill","skill","apiKey","name","slug","updateCurrentSkill","writeFile","AbstractCliTest"],"mappings":"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","sourcesContent":["import { diskUtil, HASH_SPRUCE_DIR } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport { errorAssertUtil } from '@sprucelabs/test-utils'\nimport AuthService from '../../services/AuthService'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\n\nexport default class AuthServiceTest extends AbstractCliTest {\n\tprivate static auth: AuthService\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tdiskUtil.createDir(this.resolvePath(HASH_SPRUCE_DIR))\n\t\tthis.auth = this.Service('auth')\n\t}\n\n\t@test()\n\tprotected static async canInstantiatePersonStore() {\n\t\tassert.isTruthy(this.auth)\n\t}\n\n\t@test()\n\tprotected static async hasLoggedInPersonMethod() {\n\t\tassert.isFunction(this.auth.getLoggedInPerson)\n\t}\n\n\t@test()\n\tprotected static async loggedInPersonIsNullWhenNotLoggedIn() {\n\t\tassert.isNull(this.auth.getLoggedInPerson())\n\t}\n\n\t@test()\n\tprotected static async cantSaveBadLoggedInPerson() {\n\t\tconst err = assert.doesThrow(() =>\n\t\t\t//@ts-ignore\n\t\t\tthis.auth.setLoggedInPerson({ test: true })\n\t\t)\n\n\t\terrorAssertUtil.assertError(err, 'MISSING_PARAMETERS')\n\t}\n\n\t@test()\n\tprotected static canSaveLoggedInPerson() {\n\t\tconst auth = this.auth\n\t\tconst person = {\n\t\t\tid: 'test',\n\t\t\tcasualName: 'friend',\n\t\t\ttoken: 'token',\n\t\t}\n\n\t\tauth.setLoggedInPerson(person)\n\n\t\tconst loggedIn = auth.getLoggedInPerson()\n\n\t\tassert.isEqualDeep(loggedIn, { ...person, isLoggedIn: true })\n\t}\n\n\t@test()\n\tprotected static canLogOut() {\n\t\tconst auth = this.auth\n\t\tconst person = {\n\t\t\tid: 'test',\n\t\t\tcasualName: 'friend',\n\t\t\ttoken: 'token',\n\t\t}\n\n\t\tauth.setLoggedInPerson(person)\n\t\tauth.logOutPerson()\n\n\t\tassert.isNull(auth.getLoggedInPerson())\n\t}\n\n\t@test()\n\tprotected static getCurrentSkillReturnsNull() {\n\t\tthis.writePackageJson()\n\t\tassert.isNull(this.auth.getCurrentSkill())\n\t}\n\n\t@test()\n\tprotected static canSetCurrentSkill() {\n\t\tthis.writePackageJson()\n\t\tconst skill = {\n\t\t\tid: '123467aaoeuaoeu',\n\t\t\tapiKey: 'taco',\n\t\t\tname: 'go team',\n\t\t\tslug: 'taco-bravo',\n\t\t}\n\n\t\tthis.auth.updateCurrentSkill(skill)\n\n\t\tassert.isEqualDeep(this.auth.getCurrentSkill(), skill)\n\t}\n\n\tprivate static writePackageJson() {\n\t\tdiskUtil.writeFile(this.resolvePath('package.json'), '{}')\n\t}\n}\n"],"file":"AuthService.test.js"}
@@ -87,7 +87,9 @@ var EventStoreTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(), _dec3
87
87
  case 2:
88
88
  this.createAction = this.Action('event', 'create');
89
89
 
90
- case 3:
90
+ _spruceSkillUtils.diskUtil.writeFile(this.resolvePath('package.json'), '{}');
91
+
92
+ case 4:
91
93
  case "end":
92
94
  return _context.stop();
93
95
  }