@sprucelabs/spruce-cli 19.1.4 → 19.1.6

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 (44) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/build/__tests__/behavioral/schemas/SettingUpSchemasForModuleDistribution.test.js +1 -2
  3. package/build/__tests__/behavioral/schemas/SettingUpSchemasForModuleDistribution.test.js.map +1 -1
  4. package/build/__tests__/behavioral/tests/CreatingATest.test.d.ts +0 -2
  5. package/build/__tests__/behavioral/tests/CreatingATest.test.js +75 -147
  6. package/build/__tests__/behavioral/tests/CreatingATest.test.js.map +1 -1
  7. package/build/__tests__/behavioral/tests/RunningTests.test.d.ts +3 -0
  8. package/build/__tests__/behavioral/tests/RunningTests.test.js +99 -43
  9. package/build/__tests__/behavioral/tests/RunningTests.test.js.map +1 -1
  10. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js +3 -1
  11. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js.map +1 -1
  12. package/build/__tests__/implementation/TestRunner.test.d.ts +1 -0
  13. package/build/__tests__/implementation/TestRunner.test.js +22 -10
  14. package/build/__tests__/implementation/TestRunner.test.js.map +1 -1
  15. package/build/features/test/actions/CreateAction.js +13 -29
  16. package/build/features/test/actions/CreateAction.js.map +1 -1
  17. package/build/features/vscode/VsCodeFeature.js +1 -1
  18. package/build/features/vscode/VsCodeFeature.js.map +1 -1
  19. package/build/interfaces/SpyInterface.d.ts +6 -1
  20. package/build/interfaces/SpyInterface.js +1 -1
  21. package/build/interfaces/SpyInterface.js.map +1 -1
  22. package/build/interfaces/TerminalInterface.js +3 -1
  23. package/build/interfaces/TerminalInterface.js.map +1 -1
  24. package/build/tests/utilities/uiAssert.utility.d.ts +1 -0
  25. package/build/tests/utilities/uiAssert.utility.js +9 -0
  26. package/build/tests/utilities/uiAssert.utility.js.map +1 -1
  27. package/build/widgets/types/window.types.js +2 -0
  28. package/build/widgets/types/window.types.js.map +1 -1
  29. package/node_modules/@typescript-eslint/parser/dist/parser.d.ts.map +1 -1
  30. package/node_modules/@typescript-eslint/parser/dist/parser.js +5 -1
  31. package/node_modules/@typescript-eslint/parser/dist/parser.js.map +1 -1
  32. package/node_modules/@typescript-eslint/parser/package.json +5 -5
  33. package/node_modules/@typescript-eslint/scope-manager/package.json +5 -5
  34. package/node_modules/@typescript-eslint/types/package.json +2 -2
  35. package/node_modules/@typescript-eslint/typescript-estree/package.json +4 -4
  36. package/node_modules/@typescript-eslint/visitor-keys/package.json +3 -3
  37. package/package.json +30 -30
  38. package/src/__tests__/behavioral/tests/CreatingATest.test.ts +8 -47
  39. package/src/__tests__/behavioral/tests/RunningTests.test.ts +34 -14
  40. package/src/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.ts +2 -2
  41. package/src/__tests__/implementation/TestRunner.test.ts +9 -0
  42. package/src/features/test/actions/CreateAction.ts +13 -32
  43. package/src/interfaces/SpyInterface.ts +15 -3
  44. package/src/tests/utilities/uiAssert.utility.ts +9 -0
@@ -9,16 +9,20 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
9
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
10
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
11
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
12
+ var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
12
13
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
13
14
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
14
15
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
16
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
17
  var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor"));
16
18
  var _testUtils = require("@sprucelabs/test-utils");
17
19
  var _AbstractTestTest2 = _interopRequireDefault(require("../../../tests/AbstractTestTest"));
18
- var _dec, _dec2, _class;
20
+ var _dec, _dec2, _class, _class2;
21
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
22
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
19
23
  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); }; }
20
24
  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; } }
21
- var RunningTestsTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUtils.test)(), (_class = /*#__PURE__*/function (_AbstractTestTest) {
25
+ var RunningTestsTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUtils.test)(), (_class = (_class2 = /*#__PURE__*/function (_AbstractTestTest) {
22
26
  (0, _inherits2["default"])(RunningTestsTest, _AbstractTestTest);
23
27
  var _super = _createSuper(RunningTestsTest);
24
28
  function RunningTestsTest() {
@@ -26,22 +30,44 @@ var RunningTestsTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUtils.te
26
30
  return _super.apply(this, arguments);
27
31
  }
28
32
  (0, _createClass2["default"])(RunningTestsTest, null, [{
29
- key: "hasTestAction",
33
+ key: "beforeEach",
30
34
  value: function () {
31
- var _hasTestAction = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
35
+ var _beforeEach = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
32
36
  return _regenerator["default"].wrap(function _callee$(_context) {
33
37
  while (1) switch (_context.prev = _context.next) {
34
38
  case 0:
35
39
  _context.next = 2;
36
- return this.Cli();
40
+ return (0, _get2["default"])((0, _getPrototypeOf2["default"])(RunningTestsTest), "beforeEach", this).call(this);
37
41
  case 2:
38
- _testUtils.assert.isFunction(this.Action('test', 'test').execute);
42
+ this.hasCreatedTest = false;
39
43
  case 3:
40
44
  case "end":
41
45
  return _context.stop();
42
46
  }
43
47
  }, _callee, this);
44
48
  }));
49
+ function beforeEach() {
50
+ return _beforeEach.apply(this, arguments);
51
+ }
52
+ return beforeEach;
53
+ }()
54
+ }, {
55
+ key: "hasTestAction",
56
+ value: function () {
57
+ var _hasTestAction = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
58
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
59
+ while (1) switch (_context2.prev = _context2.next) {
60
+ case 0:
61
+ _context2.next = 2;
62
+ return this.Cli();
63
+ case 2:
64
+ _testUtils.assert.isFunction(this.Action('test', 'test').execute);
65
+ case 3:
66
+ case "end":
67
+ return _context2.stop();
68
+ }
69
+ }, _callee2, this);
70
+ }));
45
71
  function hasTestAction() {
46
72
  return _hasTestAction.apply(this, arguments);
47
73
  }
@@ -50,58 +76,42 @@ var RunningTestsTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUtils.te
50
76
  }, {
51
77
  key: "runningTestsActuallyRunsTests",
52
78
  value: function () {
53
- var _runningTestsActuallyRunsTests = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
79
+ var _runningTestsActuallyRunsTests = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
54
80
  var _creationResults$file, _results$meta, _results$meta2;
55
- var creationPromise, creationResults, file, promise, results;
56
- return _regenerator["default"].wrap(function _callee2$(_context2) {
57
- while (1) switch (_context2.prev = _context2.next) {
81
+ var creationResults, file, results;
82
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
83
+ while (1) switch (_context3.prev = _context3.next) {
58
84
  case 0:
59
- _context2.next = 2;
85
+ _context3.next = 2;
60
86
  return this.installTests();
61
87
  case 2:
62
- creationPromise = this.Action('test', 'create').execute({
63
- type: 'behavioral',
88
+ _context3.next = 4;
89
+ return this.createTest({
64
90
  nameReadable: 'Can book appointment',
65
91
  nameCamel: 'canBookAppointment',
66
92
  namePascal: 'CanBookAppointment'
67
93
  });
68
- _context2.next = 5;
69
- return this.waitForInput();
70
- case 5:
71
- _context2.next = 7;
72
- return this.ui.sendInput('');
73
- case 7:
74
- _context2.next = 9;
75
- return creationPromise;
76
- case 9:
77
- creationResults = _context2.sent;
94
+ case 4:
95
+ creationResults = _context3.sent;
78
96
  file = (_creationResults$file = creationResults.files) === null || _creationResults$file === void 0 ? void 0 : _creationResults$file[0];
79
97
  _testUtils.assert.isTruthy(file);
80
98
  this.fixBadTest(file.path);
81
- promise = this.Action('test', 'create').execute({
82
- type: 'behavioral',
99
+ _context3.next = 10;
100
+ return this.createTest({
83
101
  nameReadable: 'Can cancel appointment',
84
102
  nameCamel: 'canCancelAppointment',
85
103
  namePascal: 'CanCancelAppointment'
86
104
  });
87
- _context2.next = 16;
88
- return this.waitForInput();
89
- case 16:
90
- _context2.next = 18;
91
- return this.ui.sendInput('');
92
- case 18:
93
- _context2.next = 20;
94
- return promise;
95
- case 20:
96
- _context2.next = 22;
105
+ case 10:
106
+ _context3.next = 12;
97
107
  return this.Service('build').build();
98
- case 22:
99
- _context2.next = 24;
108
+ case 12:
109
+ _context3.next = 14;
100
110
  return this.Action('test', 'test').execute({
101
111
  shouldReportWhileRunning: false
102
112
  });
103
- case 24:
104
- results = _context2.sent;
113
+ case 14:
114
+ results = _context3.sent;
105
115
  _testUtils.assert.isTruthy(results.errors);
106
116
  _testUtils.assert.isLength(results.errors, 1);
107
117
  _testUtils.errorAssert.assertError(results.errors[0], 'TEST_FAILED');
@@ -117,19 +127,65 @@ var RunningTestsTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUtils.te
117
127
  totalTests: 4,
118
128
  totalTodo: 0
119
129
  });
120
- case 31:
130
+ case 21:
121
131
  case "end":
122
- return _context2.stop();
132
+ return _context3.stop();
123
133
  }
124
- }, _callee2, this);
134
+ }, _callee3, this);
125
135
  }));
126
136
  function runningTestsActuallyRunsTests() {
127
137
  return _runningTestsActuallyRunsTests.apply(this, arguments);
128
138
  }
129
139
  return runningTestsActuallyRunsTests;
130
140
  }()
141
+ }, {
142
+ key: "createTest",
143
+ value: function () {
144
+ var _createTest = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(options) {
145
+ var creationPromise, creationResults;
146
+ return _regenerator["default"].wrap(function _callee4$(_context4) {
147
+ while (1) switch (_context4.prev = _context4.next) {
148
+ case 0:
149
+ creationPromise = this.Action('test', 'create').execute(_objectSpread({
150
+ type: 'behavioral'
151
+ }, options));
152
+ if (!this.hasCreatedTest) {
153
+ _context4.next = 6;
154
+ break;
155
+ }
156
+ _context4.next = 4;
157
+ return this.waitForInput();
158
+ case 4:
159
+ _context4.next = 6;
160
+ return this.ui.sendInput({
161
+ path: '.'
162
+ });
163
+ case 6:
164
+ this.hasCreatedTest = true;
165
+ _context4.next = 9;
166
+ return this.waitForInput();
167
+ case 9:
168
+ _context4.next = 11;
169
+ return this.ui.sendInput('');
170
+ case 11:
171
+ _context4.next = 13;
172
+ return creationPromise;
173
+ case 13:
174
+ creationResults = _context4.sent;
175
+ return _context4.abrupt("return", creationResults);
176
+ case 15:
177
+ case "end":
178
+ return _context4.stop();
179
+ }
180
+ }, _callee4, this);
181
+ }));
182
+ function createTest(_x) {
183
+ return _createTest.apply(this, arguments);
184
+ }
185
+ return createTest;
186
+ }()
131
187
  }]);
132
188
  return RunningTestsTest;
133
- }(_AbstractTestTest2["default"]), ((0, _applyDecoratedDescriptor2["default"])(_class, "hasTestAction", [_dec], Object.getOwnPropertyDescriptor(_class, "hasTestAction"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "runningTestsActuallyRunsTests", [_dec2], Object.getOwnPropertyDescriptor(_class, "runningTestsActuallyRunsTests"), _class)), _class));
189
+ }(_AbstractTestTest2["default"]), (0, _defineProperty2["default"])(_class2, "hasCreatedTest", void 0), _class2), ((0, _applyDecoratedDescriptor2["default"])(_class, "hasTestAction", [_dec], Object.getOwnPropertyDescriptor(_class, "hasTestAction"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "runningTestsActuallyRunsTests", [_dec2], Object.getOwnPropertyDescriptor(_class, "runningTestsActuallyRunsTests"), _class)), _class));
134
190
  exports["default"] = RunningTestsTest;
135
191
  //# sourceMappingURL=RunningTests.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RunningTests.test.js","names":["_testUtils","require","_AbstractTestTest2","_interopRequireDefault","_dec","_dec2","_class","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","RunningTestsTest","test","_AbstractTestTest","_inherits2","_super","_classCallCheck2","_createClass2","key","value","_hasTestAction","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","Cli","assert","isFunction","Action","execute","stop","hasTestAction","_runningTestsActuallyRunsTests","_callee2","_creationResults$file","_results$meta","_results$meta2","creationPromise","creationResults","file","promise","results","_callee2$","_context2","installTests","type","nameReadable","nameCamel","namePascal","waitForInput","ui","sendInput","sent","files","isTruthy","fixBadTest","path","Service","build","shouldReportWhileRunning","errors","isLength","errorAssert","assertError","meta","testResults","doesInclude","wasKilled","totalTestFiles","totalTestFilesComplete","totalFailed","totalPassed","totalSkipped","totalTests","totalTodo","runningTestsActuallyRunsTests","AbstractTestTest","_applyDecoratedDescriptor2","Object","getOwnPropertyDescriptor","exports"],"sources":["../../../../src/__tests__/behavioral/tests/RunningTests.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test-utils'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport AbstractTestTest from '../../../tests/AbstractTestTest'\n\nexport default class RunningTestsTest extends AbstractTestTest {\n\t@test()\n\tprotected static async hasTestAction() {\n\t\tawait this.Cli()\n\t\tassert.isFunction(this.Action('test', 'test').execute)\n\t}\n\n\t@test()\n\tprotected static async runningTestsActuallyRunsTests() {\n\t\tawait this.installTests()\n\t\tconst creationPromise = 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\t\tawait this.ui.sendInput('')\n\n\t\tconst creationResults = await creationPromise\n\n\t\tconst file = creationResults.files?.[0]\n\t\tassert.isTruthy(file)\n\n\t\tthis.fixBadTest(file.path)\n\n\t\tconst promise = this.Action('test', 'create').execute({\n\t\t\ttype: 'behavioral',\n\t\t\tnameReadable: 'Can cancel appointment',\n\t\t\tnameCamel: 'canCancelAppointment',\n\t\t\tnamePascal: 'CanCancelAppointment',\n\t\t})\n\n\t\tawait this.waitForInput()\n\t\tawait this.ui.sendInput('')\n\n\t\tawait promise\n\n\t\tawait this.Service('build').build()\n\n\t\tconst results = await this.Action('test', 'test').execute({\n\t\t\tshouldReportWhileRunning: false,\n\t\t})\n\n\t\tassert.isTruthy(results.errors)\n\t\tassert.isLength(results.errors, 1)\n\n\t\terrorAssert.assertError(results.errors[0], 'TEST_FAILED')\n\n\t\tassert.isTruthy(results.meta)\n\t\tassert.isTruthy(results.meta?.testResults)\n\n\t\tassert.doesInclude(results.meta?.testResults, {\n\t\t\twasKilled: false,\n\t\t\ttotalTestFiles: 2,\n\t\t\ttotalTestFilesComplete: 2,\n\t\t\ttotalFailed: 1,\n\t\t\ttotalPassed: 3,\n\t\t\ttotalSkipped: 0,\n\t\t\ttotalTests: 4,\n\t\t\ttotalTodo: 0,\n\t\t})\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"RunningTests.test.js","names":["_testUtils","require","_AbstractTestTest2","_interopRequireDefault","_dec","_dec2","_class","_class2","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","RunningTestsTest","test","_AbstractTestTest","_inherits2","_super","_classCallCheck2","_createClass2","value","_beforeEach","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","_get2","hasCreatedTest","stop","beforeEach","_hasTestAction","_callee2","_callee2$","_context2","Cli","assert","isFunction","Action","execute","hasTestAction","_runningTestsActuallyRunsTests","_callee3","_creationResults$file","_results$meta","_results$meta2","creationResults","file","results","_callee3$","_context3","installTests","createTest","nameReadable","nameCamel","namePascal","sent","files","isTruthy","fixBadTest","path","Service","build","shouldReportWhileRunning","errors","isLength","errorAssert","assertError","meta","testResults","doesInclude","wasKilled","totalTestFiles","totalTestFilesComplete","totalFailed","totalPassed","totalSkipped","totalTests","totalTodo","runningTestsActuallyRunsTests","_createTest","_callee4","options","creationPromise","_callee4$","_context4","type","waitForInput","ui","sendInput","abrupt","_x","AbstractTestTest","_applyDecoratedDescriptor2","exports"],"sources":["../../../../src/__tests__/behavioral/tests/RunningTests.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test-utils'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport AbstractTestTest from '../../../tests/AbstractTestTest'\n\nexport default class RunningTestsTest extends AbstractTestTest {\n\tprivate static hasCreatedTest: any\n\n\tprotected static async beforeEach(): Promise<void> {\n\t\tawait super.beforeEach()\n\t\tthis.hasCreatedTest = false\n\t}\n\n\t@test()\n\tprotected static async hasTestAction() {\n\t\tawait this.Cli()\n\t\tassert.isFunction(this.Action('test', 'test').execute)\n\t}\n\n\t@test()\n\tprotected static async runningTestsActuallyRunsTests() {\n\t\tawait this.installTests()\n\n\t\tconst creationResults = await this.createTest({\n\t\t\tnameReadable: 'Can book appointment',\n\t\t\tnameCamel: 'canBookAppointment',\n\t\t\tnamePascal: 'CanBookAppointment',\n\t\t})\n\n\t\tconst file = creationResults.files?.[0]\n\t\tassert.isTruthy(file)\n\n\t\tthis.fixBadTest(file.path)\n\n\t\tawait this.createTest({\n\t\t\tnameReadable: 'Can cancel appointment',\n\t\t\tnameCamel: 'canCancelAppointment',\n\t\t\tnamePascal: 'CanCancelAppointment',\n\t\t})\n\n\t\tawait this.Service('build').build()\n\n\t\tconst results = await this.Action('test', 'test').execute({\n\t\t\tshouldReportWhileRunning: false,\n\t\t})\n\n\t\tassert.isTruthy(results.errors)\n\t\tassert.isLength(results.errors, 1)\n\n\t\terrorAssert.assertError(results.errors[0], 'TEST_FAILED')\n\n\t\tassert.isTruthy(results.meta)\n\t\tassert.isTruthy(results.meta?.testResults)\n\n\t\tassert.doesInclude(results.meta?.testResults, {\n\t\t\twasKilled: false,\n\t\t\ttotalTestFiles: 2,\n\t\t\ttotalTestFilesComplete: 2,\n\t\t\ttotalFailed: 1,\n\t\t\ttotalPassed: 3,\n\t\t\ttotalSkipped: 0,\n\t\t\ttotalTests: 4,\n\t\t\ttotalTodo: 0,\n\t\t})\n\t}\n\n\tprivate static async createTest(options: {\n\t\tnameReadable: string\n\t\tnameCamel: string\n\t\tnamePascal: string\n\t}) {\n\t\tconst creationPromise = this.Action('test', 'create').execute({\n\t\t\ttype: 'behavioral',\n\t\t\t...options,\n\t\t})\n\n\t\tif (this.hasCreatedTest) {\n\t\t\tawait this.waitForInput()\n\t\t\tawait this.ui.sendInput({ path: '.' })\n\t\t}\n\n\t\tthis.hasCreatedTest = true\n\n\t\tawait this.waitForInput()\n\t\tawait this.ui.sendInput('')\n\n\t\tconst creationResults = await creationPromise\n\t\treturn creationResults\n\t}\n}\n"],"mappings":"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"}
@@ -85,7 +85,9 @@ var SelectingAnAbstractTestClassTest = (_dec = (0, _testUtils.test)(), _dec2 = (
85
85
  _yield$this$invokeCre = _context2.sent;
86
86
  promise = _yield$this$invokeCre.promise;
87
87
  _context2.next = 10;
88
- return this.ui.sendInput('taco');
88
+ return this.ui.sendInput({
89
+ path: 'taco'
90
+ });
89
91
  case 10:
90
92
  _context2.next = 12;
91
93
  return this.waitForInput();
@@ -1 +1 @@
1
- {"version":3,"file":"SelectingAnAbstractTestClass.test.js","names":["_spruceSkillUtils","require","_testUtils","_AbstractTestTest2","_interopRequireDefault","_test","_dec","_dec2","_dec3","_dec4","_dec5","_dec6","_class","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","expectedAbstractTests","featuresWithRegisteredTests","featureCode","className","SelectingAnAbstractTestClassTest","test","_AbstractTestTest","_inherits2","_super","_classCallCheck2","_createClass2","key","value","_asksForYouToSelectABaseClass","_asyncToGenerator2","_regenerator","mark","_callee","_yield$this$installCo","promise","results","wrap","_callee$","_context","prev","next","installCopyTestFilesSelectLocalAbstractTest","sent","testUtil","assertFileByNameInGeneratedFiles","files","buildAndAssertTestFailsAsExpected","stop","asksForYouToSelectABaseClass","_canSelectAbstractClassWhileSelectingSubDir","_callee2","testDir","_yield$this$invokeCre","_callee2$","_context2","resolvePath","diskUtil","createDir","installAndCopyTestFiles","invokeCreateActionAndWaitForInput","ui","sendInput","waitForInput","selectOptionBasedOnLabel","canSelectAbstractClassWhileSelectingSubDir","_canSelectAbstractTestBasedOnEventEmitter","_callee4","cli","_yield$this$executeCr","choices","match","contents","_callee4$","_context4","installTests","on","_callee3","_callee3$","_context3","abrupt","abstractClasses","name","label","executeCreateUntilAbstractClassSelection","assert","doesInclude","isFalsy","errors","readFile","canSelectAbstractTestBasedOnEventEmitter","_installingAFeatureRemovesLabelFromName","_callee5","_this","testFeature","_loop","_i","_featuresWithRegister","_callee5$","_context6","commandFaker","fakeInstall","featureInstaller","getFeature","feat","candidates","_loop$","_context5","install","features","code","buildParentClassCandidates","isTruthy","find","_ref2","length","delegateYield","installingAFeatureRemovesLabelFromName","_selectingUninstalledTestInstallsTheFeature","_callee6","_this2","_loop2","_i2","_featuresWithRegister2","_callee6$","_context8","_yield$_this2$execute","isInstalled","_loop2$","_context7","cwd","createRandomTempDir","c","includes","isFalse","isTrue","selectingUninstalledTestInstallsTheFeature","relativePathsAddDotSlash","action","Action","actual","buildParentClassFromCandidate","path","isDefaultExport","isEqual","importPath","_buildAndAssertTestFailsAsExpected","_callee7","_this3","_callee7$","_context9","Service","build","doesThrowAsync","execute","_installCopyTestFilesSelectLocalAbstractTest","_callee8","_yield$this$executeCr2","_i3","_expectedAbstractTest","expected","_callee8$","_context10","_installAndCopyTestFiles","_callee9","_callee9$","_context11","copyTestFiles","_copyTestFiles","_callee10","source","destination","_callee10$","_context12","resolveTestPath","copyDir","_executeCreateUntilAbstractClassSelection","_callee11","_last$options$options","_yield$this$invokeCre2","last","_ref3","_callee11$","_context13","getLastInvocation","options","_invokeCreateActionAndWaitForInput","_callee12","_callee12$","_context14","type","nameReadable","nameCamel","AbstractTestTest","_applyDecoratedDescriptor2","Object","getOwnPropertyDescriptor","exports"],"sources":["../../../../src/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.ts"],"sourcesContent":["import { SelectChoice } from '@sprucelabs/schema'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport { FeatureCode } from '../../../features/features.types'\nimport CreateAction from '../../../features/test/actions/CreateAction'\nimport AbstractTestTest from '../../../tests/AbstractTestTest'\nimport testUtil from '../../../tests/utilities/test.utility'\n\nconst expectedAbstractTests = [\n\t'AbstractSpruceTest (default)',\n\t'AbstractStoreTest (requires install)',\n\t'AbstractViewControllerTest (requires install)',\n\t'AbstractSpruceFixtureTest',\n\t'AbstractTest',\n\t'AbstractTest2',\n\t'AbstractBananaTestDifferentThanFileName',\n]\n\nconst featuresWithRegisteredTests: {\n\tfeatureCode: FeatureCode\n\tclassName: string\n}[] = [\n\t{ featureCode: 'store', className: 'AbstractStoreTest' },\n\t{ featureCode: 'view', className: 'AbstractViewControllerTest' },\n]\n\nexport default class SelectingAnAbstractTestClassTest extends AbstractTestTest {\n\t@test()\n\tprotected static async asksForYouToSelectABaseClass() {\n\t\tconst { promise } = await this.installCopyTestFilesSelectLocalAbstractTest()\n\n\t\tconst results = await promise\n\n\t\ttestUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'CanBookAppointment.test.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tawait this.buildAndAssertTestFailsAsExpected()\n\t}\n\n\t@test()\n\tprotected static async canSelectAbstractClassWhileSelectingSubDir() {\n\t\tconst testDir = this.resolvePath('src', '__tests__', 'behavioral', 'taco')\n\t\tdiskUtil.createDir(testDir)\n\n\t\tawait this.installAndCopyTestFiles()\n\n\t\tconst { promise } = await this.invokeCreateActionAndWaitForInput()\n\n\t\tawait this.ui.sendInput('taco')\n\n\t\tawait this.waitForInput()\n\n\t\tthis.selectOptionBasedOnLabel('AbstractBananaTestDifferentThanFileName')\n\n\t\tawait promise\n\n\t\tawait this.buildAndAssertTestFailsAsExpected()\n\t}\n\n\t@test()\n\tprotected static async canSelectAbstractTestBasedOnEventEmitter() {\n\t\tconst cli = await this.installTests()\n\t\tvoid cli.on('test.register-abstract-test-classes', async () => {\n\t\t\treturn {\n\t\t\t\tabstractClasses: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'TestClass',\n\t\t\t\t\t\tlabel: 'TestClass',\n\t\t\t\t\t\timport: '@sprucelabs/another-lib',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'TestClass2',\n\t\t\t\t\t\tlabel: 'TestClass2',\n\t\t\t\t\t\timport: '@sprucelabs/another-lib',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t}\n\t\t})\n\n\t\tconst { choices, promise } =\n\t\t\tawait this.executeCreateUntilAbstractClassSelection()\n\n\t\tassert.doesInclude(choices, {\n\t\t\tlabel: 'TestClass',\n\t\t})\n\n\t\tassert.doesInclude(choices, {\n\t\t\tlabel: 'TestClass2',\n\t\t})\n\n\t\tthis.selectOptionBasedOnLabel('TestClass2')\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'CanBookAppointment.test.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tconst contents = diskUtil.readFile(match)\n\n\t\tassert.doesInclude(\n\t\t\tcontents,\n\t\t\t\"import { TestClass2 } from '@sprucelabs/another-lib'\"\n\t\t)\n\n\t\tassert.doesInclude(contents, 'extends TestClass2')\n\t}\n\n\t@test()\n\tprotected static async installingAFeatureRemovesLabelFromName() {\n\t\tthis.commandFaker.fakeInstall()\n\n\t\tawait this.installTests()\n\n\t\tconst testFeature = this.featureInstaller.getFeature('test')\n\n\t\tfor (const feat of featuresWithRegisteredTests) {\n\t\t\tawait this.featureInstaller.install({\n\t\t\t\tfeatures: [\n\t\t\t\t\t{\n\t\t\t\t\t\t//@ts-ignore\n\t\t\t\t\t\tcode: feat.featureCode,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t})\n\n\t\t\tconst candidates = await testFeature.buildParentClassCandidates()\n\n\t\t\tassert.isTruthy(\n\t\t\t\tcandidates.find(({ name }) => {\n\t\t\t\t\treturn name === feat.className\n\t\t\t\t})\n\t\t\t)\n\t\t}\n\t}\n\n\t@test()\n\tprotected static async selectingUninstalledTestInstallsTheFeature() {\n\t\tthis.commandFaker.fakeInstall()\n\n\t\tfor (const feat of featuresWithRegisteredTests) {\n\t\t\tthis.cwd = diskUtil.createRandomTempDir()\n\t\t\tawait this.installTests()\n\n\t\t\tconst { choices, promise } =\n\t\t\t\tawait this.executeCreateUntilAbstractClassSelection()\n\n\t\t\tconst match = choices.find((c: any) => c.label.includes(feat.className))\n\n\t\t\tassert.isTruthy(match)\n\n\t\t\tlet isInstalled = await this.featureInstaller.isInstalled(\n\t\t\t\tfeat.featureCode as any\n\t\t\t)\n\t\t\tassert.isFalse(isInstalled)\n\n\t\t\tawait this.ui.sendInput(match?.value)\n\n\t\t\tawait promise\n\n\t\t\tisInstalled = await this.featureInstaller.isInstalled(\n\t\t\t\tfeat.featureCode as any\n\t\t\t)\n\t\t\tassert.isTrue(isInstalled)\n\t\t}\n\t}\n\n\t@test()\n\tprotected static relativePathsAddDotSlash() {\n\t\tconst action = this.Action('test', 'create') as CreateAction\n\n\t\t//@ts-ignore\n\t\tconst actual = action.buildParentClassFromCandidate(\n\t\t\t{\n\t\t\t\tlabel: 'test',\n\t\t\t\tname: 'AbstractTest',\n\t\t\t\tpath: this.resolvePath('test/AbstractTest'),\n\t\t\t\tisDefaultExport: false,\n\t\t\t},\n\t\t\tthis.resolvePath('test')\n\t\t)\n\n\t\tassert.isEqual(actual.importPath, './AbstractTest')\n\t}\n\n\tprivate static async buildAndAssertTestFailsAsExpected() {\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\tprivate static async installCopyTestFilesSelectLocalAbstractTest() {\n\t\tawait this.installAndCopyTestFiles()\n\n\t\tconst { choices, promise } =\n\t\t\tawait this.executeCreateUntilAbstractClassSelection()\n\n\t\tfor (const expected of expectedAbstractTests) {\n\t\t\tassert.doesInclude(choices, { label: expected })\n\t\t}\n\n\t\tthis.selectOptionBasedOnLabel('AbstractBananaTestDifferentThanFileName')\n\n\t\treturn { promise }\n\t}\n\n\tprivate static async installAndCopyTestFiles() {\n\t\tawait this.installTests()\n\t\tawait this.copyTestFiles()\n\t}\n\n\tprivate static async copyTestFiles() {\n\t\tconst source = this.resolveTestPath('abstract_tests')\n\t\tconst destination = this.resolvePath('src')\n\n\t\tawait diskUtil.copyDir(source, destination)\n\t}\n\n\tprivate static async executeCreateUntilAbstractClassSelection() {\n\t\tconst { promise } = await this.invokeCreateActionAndWaitForInput()\n\n\t\tconst last = this.ui.getLastInvocation()\n\t\tconst { choices } = last.options.options ?? {}\n\n\t\treturn { promise, choices } as {\n\t\t\tpromise: Promise<any>\n\t\t\tchoices: SelectChoice[]\n\t\t}\n\t}\n\n\tprivate static async invokeCreateActionAndWaitForInput() {\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})\n\n\t\tawait this.waitForInput()\n\t\treturn { promise }\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"SelectingAnAbstractTestClass.test.js","names":["_spruceSkillUtils","require","_testUtils","_AbstractTestTest2","_interopRequireDefault","_test","_dec","_dec2","_dec3","_dec4","_dec5","_dec6","_class","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","expectedAbstractTests","featuresWithRegisteredTests","featureCode","className","SelectingAnAbstractTestClassTest","test","_AbstractTestTest","_inherits2","_super","_classCallCheck2","_createClass2","key","value","_asksForYouToSelectABaseClass","_asyncToGenerator2","_regenerator","mark","_callee","_yield$this$installCo","promise","results","wrap","_callee$","_context","prev","next","installCopyTestFilesSelectLocalAbstractTest","sent","testUtil","assertFileByNameInGeneratedFiles","files","buildAndAssertTestFailsAsExpected","stop","asksForYouToSelectABaseClass","_canSelectAbstractClassWhileSelectingSubDir","_callee2","testDir","_yield$this$invokeCre","_callee2$","_context2","resolvePath","diskUtil","createDir","installAndCopyTestFiles","invokeCreateActionAndWaitForInput","ui","sendInput","path","waitForInput","selectOptionBasedOnLabel","canSelectAbstractClassWhileSelectingSubDir","_canSelectAbstractTestBasedOnEventEmitter","_callee4","cli","_yield$this$executeCr","choices","match","contents","_callee4$","_context4","installTests","on","_callee3","_callee3$","_context3","abrupt","abstractClasses","name","label","executeCreateUntilAbstractClassSelection","assert","doesInclude","isFalsy","errors","readFile","canSelectAbstractTestBasedOnEventEmitter","_installingAFeatureRemovesLabelFromName","_callee5","_this","testFeature","_loop","_i","_featuresWithRegister","_callee5$","_context6","commandFaker","fakeInstall","featureInstaller","getFeature","feat","candidates","_loop$","_context5","install","features","code","buildParentClassCandidates","isTruthy","find","_ref2","length","delegateYield","installingAFeatureRemovesLabelFromName","_selectingUninstalledTestInstallsTheFeature","_callee6","_this2","_loop2","_i2","_featuresWithRegister2","_callee6$","_context8","_yield$_this2$execute","isInstalled","_loop2$","_context7","cwd","createRandomTempDir","c","includes","isFalse","isTrue","selectingUninstalledTestInstallsTheFeature","relativePathsAddDotSlash","action","Action","actual","buildParentClassFromCandidate","isDefaultExport","isEqual","importPath","_buildAndAssertTestFailsAsExpected","_callee7","_this3","_callee7$","_context9","Service","build","doesThrowAsync","execute","_installCopyTestFilesSelectLocalAbstractTest","_callee8","_yield$this$executeCr2","_i3","_expectedAbstractTest","expected","_callee8$","_context10","_installAndCopyTestFiles","_callee9","_callee9$","_context11","copyTestFiles","_copyTestFiles","_callee10","source","destination","_callee10$","_context12","resolveTestPath","copyDir","_executeCreateUntilAbstractClassSelection","_callee11","_last$options$options","_yield$this$invokeCre2","last","_ref3","_callee11$","_context13","getLastInvocation","options","_invokeCreateActionAndWaitForInput","_callee12","_callee12$","_context14","type","nameReadable","nameCamel","AbstractTestTest","_applyDecoratedDescriptor2","Object","getOwnPropertyDescriptor","exports"],"sources":["../../../../src/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.ts"],"sourcesContent":["import { SelectChoice } from '@sprucelabs/schema'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport { FeatureCode } from '../../../features/features.types'\nimport CreateAction from '../../../features/test/actions/CreateAction'\nimport AbstractTestTest from '../../../tests/AbstractTestTest'\nimport testUtil from '../../../tests/utilities/test.utility'\n\nconst expectedAbstractTests = [\n\t'AbstractSpruceTest (default)',\n\t'AbstractStoreTest (requires install)',\n\t'AbstractViewControllerTest (requires install)',\n\t'AbstractSpruceFixtureTest',\n\t'AbstractTest',\n\t'AbstractTest2',\n\t'AbstractBananaTestDifferentThanFileName',\n]\n\nconst featuresWithRegisteredTests: {\n\tfeatureCode: FeatureCode\n\tclassName: string\n}[] = [\n\t{ featureCode: 'store', className: 'AbstractStoreTest' },\n\t{ featureCode: 'view', className: 'AbstractViewControllerTest' },\n]\n\nexport default class SelectingAnAbstractTestClassTest extends AbstractTestTest {\n\t@test()\n\tprotected static async asksForYouToSelectABaseClass() {\n\t\tconst { promise } = await this.installCopyTestFilesSelectLocalAbstractTest()\n\n\t\tconst results = await promise\n\n\t\ttestUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'CanBookAppointment.test.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tawait this.buildAndAssertTestFailsAsExpected()\n\t}\n\n\t@test()\n\tprotected static async canSelectAbstractClassWhileSelectingSubDir() {\n\t\tconst testDir = this.resolvePath('src', '__tests__', 'behavioral', 'taco')\n\n\t\tdiskUtil.createDir(testDir)\n\n\t\tawait this.installAndCopyTestFiles()\n\n\t\tconst { promise } = await this.invokeCreateActionAndWaitForInput()\n\n\t\tawait this.ui.sendInput({ path: 'taco' })\n\t\tawait this.waitForInput()\n\n\t\tthis.selectOptionBasedOnLabel('AbstractBananaTestDifferentThanFileName')\n\n\t\tawait promise\n\n\t\tawait this.buildAndAssertTestFailsAsExpected()\n\t}\n\n\t@test()\n\tprotected static async canSelectAbstractTestBasedOnEventEmitter() {\n\t\tconst cli = await this.installTests()\n\t\tvoid cli.on('test.register-abstract-test-classes', async () => {\n\t\t\treturn {\n\t\t\t\tabstractClasses: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'TestClass',\n\t\t\t\t\t\tlabel: 'TestClass',\n\t\t\t\t\t\timport: '@sprucelabs/another-lib',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'TestClass2',\n\t\t\t\t\t\tlabel: 'TestClass2',\n\t\t\t\t\t\timport: '@sprucelabs/another-lib',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t}\n\t\t})\n\n\t\tconst { choices, promise } =\n\t\t\tawait this.executeCreateUntilAbstractClassSelection()\n\n\t\tassert.doesInclude(choices, {\n\t\t\tlabel: 'TestClass',\n\t\t})\n\n\t\tassert.doesInclude(choices, {\n\t\t\tlabel: 'TestClass2',\n\t\t})\n\n\t\tthis.selectOptionBasedOnLabel('TestClass2')\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'CanBookAppointment.test.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tconst contents = diskUtil.readFile(match)\n\n\t\tassert.doesInclude(\n\t\t\tcontents,\n\t\t\t\"import { TestClass2 } from '@sprucelabs/another-lib'\"\n\t\t)\n\n\t\tassert.doesInclude(contents, 'extends TestClass2')\n\t}\n\n\t@test()\n\tprotected static async installingAFeatureRemovesLabelFromName() {\n\t\tthis.commandFaker.fakeInstall()\n\n\t\tawait this.installTests()\n\n\t\tconst testFeature = this.featureInstaller.getFeature('test')\n\n\t\tfor (const feat of featuresWithRegisteredTests) {\n\t\t\tawait this.featureInstaller.install({\n\t\t\t\tfeatures: [\n\t\t\t\t\t{\n\t\t\t\t\t\t//@ts-ignore\n\t\t\t\t\t\tcode: feat.featureCode,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t})\n\n\t\t\tconst candidates = await testFeature.buildParentClassCandidates()\n\n\t\t\tassert.isTruthy(\n\t\t\t\tcandidates.find(({ name }) => {\n\t\t\t\t\treturn name === feat.className\n\t\t\t\t})\n\t\t\t)\n\t\t}\n\t}\n\n\t@test()\n\tprotected static async selectingUninstalledTestInstallsTheFeature() {\n\t\tthis.commandFaker.fakeInstall()\n\n\t\tfor (const feat of featuresWithRegisteredTests) {\n\t\t\tthis.cwd = diskUtil.createRandomTempDir()\n\t\t\tawait this.installTests()\n\n\t\t\tconst { choices, promise } =\n\t\t\t\tawait this.executeCreateUntilAbstractClassSelection()\n\n\t\t\tconst match = choices.find((c: any) => c.label.includes(feat.className))\n\n\t\t\tassert.isTruthy(match)\n\n\t\t\tlet isInstalled = await this.featureInstaller.isInstalled(\n\t\t\t\tfeat.featureCode as any\n\t\t\t)\n\t\t\tassert.isFalse(isInstalled)\n\n\t\t\tawait this.ui.sendInput(match?.value)\n\n\t\t\tawait promise\n\n\t\t\tisInstalled = await this.featureInstaller.isInstalled(\n\t\t\t\tfeat.featureCode as any\n\t\t\t)\n\t\t\tassert.isTrue(isInstalled)\n\t\t}\n\t}\n\n\t@test()\n\tprotected static relativePathsAddDotSlash() {\n\t\tconst action = this.Action('test', 'create') as CreateAction\n\n\t\t//@ts-ignore\n\t\tconst actual = action.buildParentClassFromCandidate(\n\t\t\t{\n\t\t\t\tlabel: 'test',\n\t\t\t\tname: 'AbstractTest',\n\t\t\t\tpath: this.resolvePath('test/AbstractTest'),\n\t\t\t\tisDefaultExport: false,\n\t\t\t},\n\t\t\tthis.resolvePath('test')\n\t\t)\n\n\t\tassert.isEqual(actual.importPath, './AbstractTest')\n\t}\n\n\tprivate static async buildAndAssertTestFailsAsExpected() {\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\tprivate static async installCopyTestFilesSelectLocalAbstractTest() {\n\t\tawait this.installAndCopyTestFiles()\n\n\t\tconst { choices, promise } =\n\t\t\tawait this.executeCreateUntilAbstractClassSelection()\n\n\t\tfor (const expected of expectedAbstractTests) {\n\t\t\tassert.doesInclude(choices, { label: expected })\n\t\t}\n\n\t\tthis.selectOptionBasedOnLabel('AbstractBananaTestDifferentThanFileName')\n\n\t\treturn { promise }\n\t}\n\n\tprivate static async installAndCopyTestFiles() {\n\t\tawait this.installTests()\n\t\tawait this.copyTestFiles()\n\t}\n\n\tprivate static async copyTestFiles() {\n\t\tconst source = this.resolveTestPath('abstract_tests')\n\t\tconst destination = this.resolvePath('src')\n\n\t\tawait diskUtil.copyDir(source, destination)\n\t}\n\n\tprivate static async executeCreateUntilAbstractClassSelection() {\n\t\tconst { promise } = await this.invokeCreateActionAndWaitForInput()\n\n\t\tconst last = this.ui.getLastInvocation()\n\t\tconst { choices } = last.options.options ?? {}\n\n\t\treturn { promise, choices } as {\n\t\t\tpromise: Promise<any>\n\t\t\tchoices: SelectChoice[]\n\t\t}\n\t}\n\n\tprivate static async invokeCreateActionAndWaitForInput() {\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})\n\n\t\tawait this.waitForInput()\n\t\treturn { promise }\n\t}\n}\n"],"mappings":"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"}
@@ -2,6 +2,7 @@ import TestRunner from '../../features/test/TestRunner';
2
2
  import AbstractTestTest from '../../tests/AbstractTestTest';
3
3
  export default class TestRunnerTest extends AbstractTestTest {
4
4
  protected static testRunner: TestRunner;
5
+ private static hasCreatedTest;
5
6
  protected static beforeEach(): Promise<void>;
6
7
  protected static canCreateTestRunner(): Promise<void>;
7
8
  protected static runningOnDirWithNoTestsConfiguredThrows(): Promise<void>;
@@ -39,11 +39,12 @@ var TestRunnerTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUtils.test
39
39
  _context.next = 2;
40
40
  return (0, _get2["default"])((0, _getPrototypeOf2["default"])(TestRunnerTest), "beforeEach", this).call(this);
41
41
  case 2:
42
+ this.hasCreatedTest = false;
42
43
  this.testRunner = new _TestRunner["default"]({
43
44
  cwd: this.cwd,
44
45
  commandService: this.Service('command')
45
46
  });
46
- case 3:
47
+ case 4:
47
48
  case "end":
48
49
  return _context.stop();
49
50
  }
@@ -339,12 +340,23 @@ var TestRunnerTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUtils.test
339
340
  _context9.next = 4;
340
341
  return this.waitForInput();
341
342
  case 4:
342
- _context9.next = 6;
343
+ if (!this.hasCreatedTest) {
344
+ _context9.next = 9;
345
+ break;
346
+ }
347
+ _context9.next = 7;
348
+ return this.ui.sendInput('');
349
+ case 7:
350
+ _context9.next = 9;
351
+ return this.waitForInput();
352
+ case 9:
353
+ this.hasCreatedTest = true;
354
+ _context9.next = 12;
343
355
  return this.ui.sendInput('');
344
- case 6:
345
- _context9.next = 8;
356
+ case 12:
357
+ _context9.next = 14;
346
358
  return promise;
347
- case 8:
359
+ case 14:
348
360
  results = _context9.sent;
349
361
  if (shouldFix) {
350
362
  file = (_results$files = results.files) === null || _results$files === void 0 ? void 0 : _results$files[0];
@@ -352,14 +364,14 @@ var TestRunnerTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUtils.test
352
364
  this.fixBadTest(file.path);
353
365
  }
354
366
  if (!shouldBuild) {
355
- _context9.next = 13;
367
+ _context9.next = 19;
356
368
  break;
357
369
  }
358
- _context9.next = 13;
370
+ _context9.next = 19;
359
371
  return this.Service('build').build();
360
- case 13:
372
+ case 19:
361
373
  return _context9.abrupt("return", results);
362
- case 14:
374
+ case 20:
363
375
  case "end":
364
376
  return _context9.stop();
365
377
  }
@@ -372,6 +384,6 @@ var TestRunnerTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUtils.test
372
384
  }()
373
385
  }]);
374
386
  return TestRunnerTest;
375
- }(_AbstractTestTest2["default"]), (0, _defineProperty2["default"])(_class2, "testRunner", void 0), _class2), ((0, _applyDecoratedDescriptor2["default"])(_class, "canCreateTestRunner", [_dec], Object.getOwnPropertyDescriptor(_class, "canCreateTestRunner"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "runningOnDirWithNoTestsConfiguredThrows", [_dec2], Object.getOwnPropertyDescriptor(_class, "runningOnDirWithNoTestsConfiguredThrows"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "getsFailedResultsWhenTestFails", [_dec3], Object.getOwnPropertyDescriptor(_class, "getsFailedResultsWhenTestFails"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "passesOnGoodTests", [_dec4], Object.getOwnPropertyDescriptor(_class, "passesOnGoodTests"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "emitsEventsOnTestUpdates", [_dec5], Object.getOwnPropertyDescriptor(_class, "emitsEventsOnTestUpdates"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "canHandlePattern", [_dec6], Object.getOwnPropertyDescriptor(_class, "canHandlePattern"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "testsCanBeKilled", [_dec7], Object.getOwnPropertyDescriptor(_class, "testsCanBeKilled"), _class)), _class));
387
+ }(_AbstractTestTest2["default"]), (0, _defineProperty2["default"])(_class2, "testRunner", void 0), (0, _defineProperty2["default"])(_class2, "hasCreatedTest", void 0), _class2), ((0, _applyDecoratedDescriptor2["default"])(_class, "canCreateTestRunner", [_dec], Object.getOwnPropertyDescriptor(_class, "canCreateTestRunner"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "runningOnDirWithNoTestsConfiguredThrows", [_dec2], Object.getOwnPropertyDescriptor(_class, "runningOnDirWithNoTestsConfiguredThrows"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "getsFailedResultsWhenTestFails", [_dec3], Object.getOwnPropertyDescriptor(_class, "getsFailedResultsWhenTestFails"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "passesOnGoodTests", [_dec4], Object.getOwnPropertyDescriptor(_class, "passesOnGoodTests"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "emitsEventsOnTestUpdates", [_dec5], Object.getOwnPropertyDescriptor(_class, "emitsEventsOnTestUpdates"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "canHandlePattern", [_dec6], Object.getOwnPropertyDescriptor(_class, "canHandlePattern"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "testsCanBeKilled", [_dec7], Object.getOwnPropertyDescriptor(_class, "testsCanBeKilled"), _class)), _class));
376
388
  exports["default"] = TestRunnerTest;
377
389
  //# sourceMappingURL=TestRunner.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TestRunner.test.js","names":["_spruceSkillUtils","require","_testUtils","_TestRunner","_interopRequireDefault","_AbstractTestTest2","_dec","_dec2","_dec3","_dec4","_dec5","_dec6","_dec7","_class","_class2","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","TestRunnerTest","test","_AbstractTestTest","_inherits2","_super","_classCallCheck2","_createClass2","key","value","_beforeEach","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","_get2","testRunner","TestRunner","cwd","commandService","Service","stop","beforeEach","_canCreateTestRunner","_callee2","_callee2$","_context2","assert","isTruthy","canCreateTestRunner","_runningOnDirWithNoTestsConfiguredThrows","_callee3","_this","err","_callee3$","_context3","doesThrowAsync","run","sent","errorAssert","assertError","dir","runningOnDirWithNoTestsConfiguredThrows","_getsFailedResultsWhenTestFails","_callee4","cli","results","_callee4$","_context4","installTests","createTest","name","isEqual","totalTestFiles","totalFailed","totalTests","getsFailedResultsWhenTestFails","_passesOnGoodTests","_callee5","testResults","_callee5$","_context5","shouldFix","totalPassed","passesOnGoodTests","_emitsEventsOnTestUpdates","_callee6","_callee6$","_context6","on","payload","emitsEventsOnTestUpdates","_canHandlePattern","_callee7","_callee7$","_context7","shouldBuild","pattern","canHandlePattern","_testsCanBeKilled","_callee8","promise","_callee8$","_context8","kill","isTrue","wasKilled","testsCanBeKilled","_createTest","_callee9","options","_options$shouldFix","_options$shouldBuild","_results$files","file","_callee9$","_context9","Action","execute","type","nameReadable","nameCamel","namesUtil","toCamel","namePascal","toPascal","waitForInput","ui","sendInput","files","fixBadTest","path","build","abrupt","_x","AbstractTestTest","_defineProperty2","_applyDecoratedDescriptor2","Object","getOwnPropertyDescriptor","exports"],"sources":["../../../src/__tests__/implementation/TestRunner.test.ts"],"sourcesContent":["import { namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport { SpruceTestResults } from '../../features/test/test.types'\nimport TestRunner from '../../features/test/TestRunner'\nimport AbstractTestTest from '../../tests/AbstractTestTest'\nimport { CliInterface } from '../../types/cli.types'\n\nexport default class TestRunnerTest extends AbstractTestTest {\n\tprotected static testRunner: TestRunner\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tthis.testRunner = new TestRunner({\n\t\t\tcwd: this.cwd,\n\t\t\tcommandService: this.Service('command'),\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async canCreateTestRunner() {\n\t\tassert.isTruthy(this.testRunner)\n\t}\n\n\t@test()\n\tprotected static async runningOnDirWithNoTestsConfiguredThrows() {\n\t\tconst err = await assert.doesThrowAsync(() => this.testRunner.run())\n\t\terrorAssert.assertError(err, 'INVALID_TEST_DIRECTORY', {\n\t\t\tdir: this.cwd,\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async getsFailedResultsWhenTestFails() {\n\t\tconst cli = await this.installTests()\n\n\t\tawait this.createTest({ cli, name: 'Can book appointment' })\n\n\t\tlet results = await this.testRunner.run()\n\n\t\tassert.isEqual(results.totalTestFiles, 1)\n\t\tassert.isEqual(results.totalFailed, 1)\n\t\tassert.isEqual(results.totalTests, 2)\n\n\t\tawait this.createTest({ cli, name: 'Can cancel appointment' })\n\n\t\tresults = await this.testRunner.run()\n\n\t\tassert.isEqual(results.totalTestFiles, 2)\n\t\tassert.isEqual(results.totalFailed, 2)\n\t\tassert.isEqual(results.totalTests, 4)\n\t}\n\n\t@test()\n\tprotected static async passesOnGoodTests() {\n\t\tconst cli = await this.installTests()\n\n\t\tawait this.createTest({ cli, name: 'Can pass tests', shouldFix: true })\n\n\t\tconst testResults = await this.testRunner.run()\n\n\t\tassert.isEqual(testResults.totalTestFiles, 1)\n\t\tassert.isEqual(testResults.totalFailed, 0)\n\t\tassert.isEqual(testResults.totalPassed, 2)\n\t\tassert.isEqual(testResults.totalTests, 2)\n\t}\n\n\t@test()\n\tprotected static async emitsEventsOnTestUpdates() {\n\t\tconst cli = await this.installTests()\n\n\t\tlet results: SpruceTestResults | undefined\n\t\tawait this.testRunner.on('did-update', (payload) => {\n\t\t\tresults = payload.results\n\t\t})\n\n\t\tawait this.createTest({ cli, name: 'Emitting test' })\n\n\t\tawait this.testRunner.run()\n\n\t\tassert.isTruthy(results)\n\t\tassert.isEqual(results.totalTestFiles, 1)\n\t\tassert.isEqual(results.totalFailed, 1)\n\t\tassert.isEqual(results.totalTests, 2)\n\t}\n\n\t@test()\n\tprotected static async canHandlePattern() {\n\t\tconst cli = await this.installTests()\n\n\t\tawait this.createTest({\n\t\t\tcli,\n\t\t\tname: 'Can handlePatterns tests',\n\t\t\tshouldBuild: false,\n\t\t})\n\t\tawait this.createTest({ cli, name: 'Can handlePatterns2 tests' })\n\n\t\tconst results = await this.testRunner.run({\n\t\t\tpattern: 'canHandlePatternsTests',\n\t\t})\n\n\t\tassert.isTruthy(results)\n\t\tassert.isEqual(results.totalTestFiles, 1)\n\t\tassert.isEqual(results.totalFailed, 1)\n\t\tassert.isEqual(results.totalTests, 2)\n\t}\n\n\t@test()\n\tprotected static async testsCanBeKilled() {\n\t\tconst cli = await this.installTests()\n\n\t\tawait this.createTest({\n\t\t\tcli,\n\t\t\tname: 'Can handlePatterns tests',\n\t\t\tshouldBuild: false,\n\t\t})\n\t\tawait this.createTest({ cli, name: 'Can handlePatterns2 tests' })\n\n\t\tconst promise = this.testRunner.run({\n\t\t\tpattern: 'canHandlePatternsTests',\n\t\t})\n\n\t\tthis.testRunner.kill()\n\n\t\tconst results = await promise\n\n\t\tassert.isTrue(results.wasKilled)\n\t}\n\n\tprivate static async createTest(options: {\n\t\tcli: CliInterface\n\t\tname: string\n\t\tshouldFix?: boolean\n\t\tshouldBuild?: boolean\n\t}) {\n\t\tconst { name, shouldFix = false, shouldBuild = true } = options\n\n\t\tconst promise = this.Action('test', 'create').execute({\n\t\t\ttype: 'behavioral',\n\t\t\tnameReadable: name,\n\t\t\tnameCamel: namesUtil.toCamel(name),\n\t\t\tnamePascal: namesUtil.toPascal(name),\n\t\t})\n\n\t\tawait this.waitForInput()\n\t\tawait this.ui.sendInput('')\n\n\t\tconst results = await promise\n\n\t\tif (shouldFix) {\n\t\t\tconst file = results.files?.[0]\n\t\t\tassert.isTruthy(file)\n\t\t\tthis.fixBadTest(file.path)\n\t\t}\n\n\t\tif (shouldBuild) {\n\t\t\tawait this.Service('build').build()\n\t\t}\n\n\t\treturn results\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"TestRunner.test.js","names":["_spruceSkillUtils","require","_testUtils","_TestRunner","_interopRequireDefault","_AbstractTestTest2","_dec","_dec2","_dec3","_dec4","_dec5","_dec6","_dec7","_class","_class2","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","TestRunnerTest","test","_AbstractTestTest","_inherits2","_super","_classCallCheck2","_createClass2","key","value","_beforeEach","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","_get2","hasCreatedTest","testRunner","TestRunner","cwd","commandService","Service","stop","beforeEach","_canCreateTestRunner","_callee2","_callee2$","_context2","assert","isTruthy","canCreateTestRunner","_runningOnDirWithNoTestsConfiguredThrows","_callee3","_this","err","_callee3$","_context3","doesThrowAsync","run","sent","errorAssert","assertError","dir","runningOnDirWithNoTestsConfiguredThrows","_getsFailedResultsWhenTestFails","_callee4","cli","results","_callee4$","_context4","installTests","createTest","name","isEqual","totalTestFiles","totalFailed","totalTests","getsFailedResultsWhenTestFails","_passesOnGoodTests","_callee5","testResults","_callee5$","_context5","shouldFix","totalPassed","passesOnGoodTests","_emitsEventsOnTestUpdates","_callee6","_callee6$","_context6","on","payload","emitsEventsOnTestUpdates","_canHandlePattern","_callee7","_callee7$","_context7","shouldBuild","pattern","canHandlePattern","_testsCanBeKilled","_callee8","promise","_callee8$","_context8","kill","isTrue","wasKilled","testsCanBeKilled","_createTest","_callee9","options","_options$shouldFix","_options$shouldBuild","_results$files","file","_callee9$","_context9","Action","execute","type","nameReadable","nameCamel","namesUtil","toCamel","namePascal","toPascal","waitForInput","ui","sendInput","files","fixBadTest","path","build","abrupt","_x","AbstractTestTest","_defineProperty2","_applyDecoratedDescriptor2","Object","getOwnPropertyDescriptor","exports"],"sources":["../../../src/__tests__/implementation/TestRunner.test.ts"],"sourcesContent":["import { namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport { SpruceTestResults } from '../../features/test/test.types'\nimport TestRunner from '../../features/test/TestRunner'\nimport AbstractTestTest from '../../tests/AbstractTestTest'\nimport { CliInterface } from '../../types/cli.types'\n\nexport default class TestRunnerTest extends AbstractTestTest {\n\tprotected static testRunner: TestRunner\n\tprivate static hasCreatedTest: boolean\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tthis.hasCreatedTest = false\n\t\tthis.testRunner = new TestRunner({\n\t\t\tcwd: this.cwd,\n\t\t\tcommandService: this.Service('command'),\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async canCreateTestRunner() {\n\t\tassert.isTruthy(this.testRunner)\n\t}\n\n\t@test()\n\tprotected static async runningOnDirWithNoTestsConfiguredThrows() {\n\t\tconst err = await assert.doesThrowAsync(() => this.testRunner.run())\n\t\terrorAssert.assertError(err, 'INVALID_TEST_DIRECTORY', {\n\t\t\tdir: this.cwd,\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async getsFailedResultsWhenTestFails() {\n\t\tconst cli = await this.installTests()\n\n\t\tawait this.createTest({ cli, name: 'Can book appointment' })\n\n\t\tlet results = await this.testRunner.run()\n\n\t\tassert.isEqual(results.totalTestFiles, 1)\n\t\tassert.isEqual(results.totalFailed, 1)\n\t\tassert.isEqual(results.totalTests, 2)\n\n\t\tawait this.createTest({ cli, name: 'Can cancel appointment' })\n\n\t\tresults = await this.testRunner.run()\n\n\t\tassert.isEqual(results.totalTestFiles, 2)\n\t\tassert.isEqual(results.totalFailed, 2)\n\t\tassert.isEqual(results.totalTests, 4)\n\t}\n\n\t@test()\n\tprotected static async passesOnGoodTests() {\n\t\tconst cli = await this.installTests()\n\n\t\tawait this.createTest({ cli, name: 'Can pass tests', shouldFix: true })\n\n\t\tconst testResults = await this.testRunner.run()\n\n\t\tassert.isEqual(testResults.totalTestFiles, 1)\n\t\tassert.isEqual(testResults.totalFailed, 0)\n\t\tassert.isEqual(testResults.totalPassed, 2)\n\t\tassert.isEqual(testResults.totalTests, 2)\n\t}\n\n\t@test()\n\tprotected static async emitsEventsOnTestUpdates() {\n\t\tconst cli = await this.installTests()\n\n\t\tlet results: SpruceTestResults | undefined\n\t\tawait this.testRunner.on('did-update', (payload) => {\n\t\t\tresults = payload.results\n\t\t})\n\n\t\tawait this.createTest({ cli, name: 'Emitting test' })\n\n\t\tawait this.testRunner.run()\n\n\t\tassert.isTruthy(results)\n\t\tassert.isEqual(results.totalTestFiles, 1)\n\t\tassert.isEqual(results.totalFailed, 1)\n\t\tassert.isEqual(results.totalTests, 2)\n\t}\n\n\t@test()\n\tprotected static async canHandlePattern() {\n\t\tconst cli = await this.installTests()\n\n\t\tawait this.createTest({\n\t\t\tcli,\n\t\t\tname: 'Can handlePatterns tests',\n\t\t\tshouldBuild: false,\n\t\t})\n\t\tawait this.createTest({ cli, name: 'Can handlePatterns2 tests' })\n\n\t\tconst results = await this.testRunner.run({\n\t\t\tpattern: 'canHandlePatternsTests',\n\t\t})\n\n\t\tassert.isTruthy(results)\n\t\tassert.isEqual(results.totalTestFiles, 1)\n\t\tassert.isEqual(results.totalFailed, 1)\n\t\tassert.isEqual(results.totalTests, 2)\n\t}\n\n\t@test()\n\tprotected static async testsCanBeKilled() {\n\t\tconst cli = await this.installTests()\n\n\t\tawait this.createTest({\n\t\t\tcli,\n\t\t\tname: 'Can handlePatterns tests',\n\t\t\tshouldBuild: false,\n\t\t})\n\t\tawait this.createTest({ cli, name: 'Can handlePatterns2 tests' })\n\n\t\tconst promise = this.testRunner.run({\n\t\t\tpattern: 'canHandlePatternsTests',\n\t\t})\n\n\t\tthis.testRunner.kill()\n\n\t\tconst results = await promise\n\n\t\tassert.isTrue(results.wasKilled)\n\t}\n\n\tprivate static async createTest(options: {\n\t\tcli: CliInterface\n\t\tname: string\n\t\tshouldFix?: boolean\n\t\tshouldBuild?: boolean\n\t}) {\n\t\tconst { name, shouldFix = false, shouldBuild = true } = options\n\n\t\tconst promise = this.Action('test', 'create').execute({\n\t\t\ttype: 'behavioral',\n\t\t\tnameReadable: name,\n\t\t\tnameCamel: namesUtil.toCamel(name),\n\t\t\tnamePascal: namesUtil.toPascal(name),\n\t\t})\n\n\t\tawait this.waitForInput()\n\t\tif (this.hasCreatedTest) {\n\t\t\tawait this.ui.sendInput('')\n\t\t\tawait this.waitForInput()\n\t\t}\n\n\t\tthis.hasCreatedTest = true\n\n\t\tawait this.ui.sendInput('')\n\n\t\tconst results = await promise\n\n\t\tif (shouldFix) {\n\t\t\tconst file = results.files?.[0]\n\t\t\tassert.isTruthy(file)\n\t\t\tthis.fixBadTest(file.path)\n\t\t}\n\n\t\tif (shouldBuild) {\n\t\t\tawait this.Service('build').build()\n\t\t}\n\n\t\treturn results\n\t}\n}\n"],"mappings":"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"}