@sprucelabs/spruce-cli 14.26.16 → 14.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/build/.spruce/errors/errors.types.d.ts +19 -0
  3. package/build/.spruce/errors/options.types.d.ts +4 -1
  4. package/build/.spruce/errors/spruceCli/dependencyExists.schema.d.ts +3 -0
  5. package/build/.spruce/errors/spruceCli/dependencyExists.schema.js +28 -0
  6. package/build/.spruce/errors/spruceCli/dependencyExists.schema.js.map +1 -0
  7. package/build/__tests__/behavioral/AddingADependency.test.d.ts +6 -3
  8. package/build/__tests__/behavioral/AddingADependency.test.js +116 -44
  9. package/build/__tests__/behavioral/AddingADependency.test.js.map +1 -1
  10. package/build/__tests__/behavioral/InstallingASkillAtAnOrg.test.js +2 -2
  11. package/build/__tests__/behavioral/InstallingASkillAtAnOrg.test.js.map +1 -1
  12. package/build/__tests__/behavioral/LoggingInAsASkill.test.js +4 -4
  13. package/build/__tests__/behavioral/LoggingInAsASkill.test.js.map +1 -1
  14. package/build/__tests__/behavioral/ManagingDependencies.test.js +3 -3
  15. package/build/__tests__/behavioral/ManagingDependencies.test.js.map +1 -1
  16. package/build/__tests__/behavioral/RememberingUpgradeSelections.test.js +1 -1
  17. package/build/__tests__/behavioral/RememberingUpgradeSelections.test.js.map +1 -1
  18. package/build/__tests__/behavioral/SettingRemote.test.js +1 -1
  19. package/build/__tests__/behavioral/SettingRemote.test.js.map +1 -1
  20. package/build/__tests__/behavioral/SettingUpVscode.test.js +3 -3
  21. package/build/__tests__/behavioral/SettingUpVscode.test.js.map +1 -1
  22. package/build/__tests__/behavioral/TestingDataStores.test.js +2 -2
  23. package/build/__tests__/behavioral/TestingDataStores.test.js.map +1 -1
  24. package/build/__tests__/behavioral/events/CreatingAListener.test.js +2 -2
  25. package/build/__tests__/behavioral/events/CreatingAListener.test.js.map +1 -1
  26. package/build/__tests__/behavioral/events/CreatingAnEvent.test.d.ts +3 -2
  27. package/build/__tests__/behavioral/events/CreatingAnEvent.test.js +156 -106
  28. package/build/__tests__/behavioral/events/CreatingAnEvent.test.js.map +1 -1
  29. package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js +6 -9
  30. package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js.map +1 -1
  31. package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js +7 -4
  32. package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js.map +1 -1
  33. package/build/__tests__/behavioral/skill/UpgradingASkill.test.js +7 -7
  34. package/build/__tests__/behavioral/skill/UpgradingASkill.test.js.map +1 -1
  35. package/build/__tests__/behavioral/skill/UpgradingASkill3.test.js +2 -2
  36. package/build/__tests__/behavioral/skill/UpgradingASkill3.test.js.map +1 -1
  37. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js +1 -1
  38. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js.map +1 -1
  39. package/build/__tests__/behavioral/views/CreatingASkillView.test.js +3 -3
  40. package/build/__tests__/behavioral/views/CreatingASkillView.test.js.map +1 -1
  41. package/build/__tests__/behavioral/views/TestingViewControllers.test.js +2 -2
  42. package/build/__tests__/behavioral/views/TestingViewControllers.test.js.map +1 -1
  43. package/build/__tests__/implementation/ActionExecuter2.test.js +3 -3
  44. package/build/__tests__/implementation/ActionExecuter2.test.js.map +1 -1
  45. package/build/errors/SpruceError.js +4 -0
  46. package/build/errors/SpruceError.js.map +1 -1
  47. package/build/errors/dependencyExists.builder.d.ts +11 -0
  48. package/build/errors/dependencyExists.builder.js +22 -0
  49. package/build/errors/dependencyExists.builder.js.map +1 -0
  50. package/build/features/AbstractAction.js +1 -1
  51. package/build/features/AbstractAction.js.map +1 -1
  52. package/build/features/dependencies/actions/AddAction.js +22 -15
  53. package/build/features/dependencies/actions/AddAction.js.map +1 -1
  54. package/build/features/event/actions/CreateAction.js +1 -1
  55. package/build/features/event/actions/CreateAction.js.map +1 -1
  56. package/build/interfaces/SpyInterface.d.ts +1 -1
  57. package/build/interfaces/SpyInterface.js +2 -2
  58. package/build/interfaces/SpyInterface.js.map +1 -1
  59. package/build/services/DependencyService.d.ts +1 -0
  60. package/build/services/DependencyService.js +18 -0
  61. package/build/services/DependencyService.js.map +1 -1
  62. package/build/tests/AbstractCliTest.js +1 -1
  63. package/build/tests/AbstractCliTest.js.map +1 -1
  64. package/build/tests/utilities/uiAssert.utility.d.ts +6 -0
  65. package/build/tests/utilities/uiAssert.utility.js +51 -0
  66. package/build/tests/utilities/uiAssert.utility.js.map +1 -0
  67. package/package.json +30 -28
  68. package/src/.spruce/errors/errors.types.ts +29 -0
  69. package/src/.spruce/errors/options.types.ts +4 -1
  70. package/src/.spruce/errors/spruceCli/dependencyExists.schema.ts +22 -0
  71. package/src/__tests__/behavioral/AddingADependency.test.ts +45 -8
  72. package/src/__tests__/behavioral/InstallingASkillAtAnOrg.test.ts +3 -3
  73. package/src/__tests__/behavioral/LoggingInAsASkill.test.ts +4 -4
  74. package/src/__tests__/behavioral/ManagingDependencies.test.ts +3 -3
  75. package/src/__tests__/behavioral/RememberingUpgradeSelections.test.ts +1 -1
  76. package/src/__tests__/behavioral/SettingRemote.test.ts +1 -1
  77. package/src/__tests__/behavioral/SettingUpVscode.test.ts +3 -3
  78. package/src/__tests__/behavioral/TestingDataStores.test.ts +2 -2
  79. package/src/__tests__/behavioral/events/CreatingAListener.test.ts +2 -2
  80. package/src/__tests__/behavioral/events/CreatingAnEvent.test.ts +44 -22
  81. package/src/__tests__/behavioral/events/KeepingEventsInSync2.test.ts +1 -1
  82. package/src/__tests__/behavioral/schemas/KeepingSchemasInSync.test.ts +2 -0
  83. package/src/__tests__/behavioral/skill/UpgradingASkill.test.ts +7 -7
  84. package/src/__tests__/behavioral/skill/UpgradingASkill3.test.ts +2 -2
  85. package/src/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.ts +1 -1
  86. package/src/__tests__/behavioral/views/CreatingASkillView.test.ts +3 -3
  87. package/src/__tests__/behavioral/views/TestingViewControllers.test.ts +2 -2
  88. package/src/__tests__/implementation/ActionExecuter2.test.ts +3 -3
  89. package/src/errors/SpruceError.ts +4 -0
  90. package/src/errors/dependencyExists.builder.ts +12 -0
  91. package/src/features/AbstractAction.ts +1 -4
  92. package/src/features/dependencies/actions/AddAction.ts +12 -5
  93. package/src/features/event/actions/CreateAction.ts +4 -1
  94. package/src/interfaces/SpyInterface.ts +1 -1
  95. package/src/services/DependencyService.ts +14 -0
  96. package/src/tests/AbstractCliTest.ts +1 -1
  97. package/src/tests/utilities/uiAssert.utility.ts +29 -0
package/CHANGELOG.md CHANGED
@@ -3,6 +3,41 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [14.27.0](https://github.com/sprucelabsai/spruce-cli-workspace/compare/v14.26.19...v14.27.0) (2021-11-29)
7
+
8
+
9
+ ### Features
10
+
11
+ * Sprucebot won't let devs accidently add a dependency twice! ([5b421ec](https://github.com/sprucelabsai/spruce-cli-workspace/commit/5b421ec))
12
+
13
+
14
+
15
+
16
+
17
+ ## [14.26.19](https://github.com/sprucelabsai/spruce-cli-workspace/compare/v14.26.18...v14.26.19) (2021-11-25)
18
+
19
+ **Note:** Version bump only for package @sprucelabs/spruce-cli
20
+
21
+
22
+
23
+
24
+
25
+ ## [14.26.18](https://github.com/sprucelabsai/spruce-cli-workspace/compare/v14.26.17...v14.26.18) (2021-11-24)
26
+
27
+ **Note:** Version bump only for package @sprucelabs/spruce-cli
28
+
29
+
30
+
31
+
32
+
33
+ ## [14.26.17](https://github.com/sprucelabsai/spruce-cli-workspace/compare/v14.26.16...v14.26.17) (2021-11-24)
34
+
35
+ **Note:** Version bump only for package @sprucelabs/spruce-cli
36
+
37
+
38
+
39
+
40
+
6
41
  ## [14.26.16](https://github.com/sprucelabsai/spruce-cli-workspace/compare/v14.26.15...v14.26.16) (2021-11-23)
7
42
 
8
43
  **Note:** Version bump only for package @sprucelabs/spruce-cli
@@ -679,6 +679,25 @@ export declare namespace SpruceErrors.SpruceCli {
679
679
  }
680
680
  type DeployFailedEntity = SchemaEntity<SpruceErrors.SpruceCli.DeployFailedSchema>;
681
681
  }
682
+ export declare namespace SpruceErrors.SpruceCli {
683
+ interface DependencyExists {
684
+ 'namespace': string;
685
+ }
686
+ interface DependencyExistsSchema extends SpruceSchema.Schema {
687
+ id: 'dependencyExists';
688
+ namespace: 'SpruceCli';
689
+ name: 'Dependency exists';
690
+ fields: {
691
+ /** . */
692
+ 'namespace': {
693
+ type: 'text';
694
+ isRequired: true;
695
+ options: undefined;
696
+ };
697
+ };
698
+ }
699
+ type DependencyExistsEntity = SchemaEntity<SpruceErrors.SpruceCli.DependencyExistsSchema>;
700
+ }
682
701
  export declare namespace SpruceErrors.SpruceCli {
683
702
  /** Autoloader creation failed */
684
703
  interface CreateAutoloaderFailed {
@@ -93,6 +93,9 @@ export interface DirectoryEmptyErrorOptions extends SpruceErrors.SpruceCli.Direc
93
93
  export interface DeployFailedErrorOptions extends SpruceErrors.SpruceCli.DeployFailed, ISpruceErrorOptions {
94
94
  code: 'DEPLOY_FAILED';
95
95
  }
96
+ export interface DependencyExistsErrorOptions extends SpruceErrors.SpruceCli.DependencyExists, ISpruceErrorOptions {
97
+ code: 'DEPENDENCY_EXISTS';
98
+ }
96
99
  export interface CreateAutoloaderFailedErrorOptions extends SpruceErrors.SpruceCli.CreateAutoloaderFailed, ISpruceErrorOptions {
97
100
  code: 'CREATE_AUTOLOADER_FAILED';
98
101
  }
@@ -117,5 +120,5 @@ export interface BootErrorErrorOptions extends SpruceErrors.SpruceCli.BootError,
117
120
  export interface ActionCancelledErrorOptions extends SpruceErrors.SpruceCli.ActionCancelled, ISpruceErrorOptions {
118
121
  code: 'ACTION_CANCELLED';
119
122
  }
120
- declare type ErrorOptions = VscodeNotInstalledErrorOptions | TransportAlreadyExistsErrorOptions | ThemeExistsErrorOptions | TestFailedErrorOptions | StoreExistsErrorOptions | SkillViewExistsErrorOptions | SkillNotRegisteredErrorOptions | SkillNotFoundErrorOptions | SchemaTemplateItemBuildingFailedErrorOptions | SchemaFailedToImportErrorOptions | SchemaExistsErrorOptions | NotLoggedInErrorOptions | NotImplementedErrorOptions | NoSkillsRegisteredErrorOptions | NoOrganizationsFoundErrorOptions | MissingDependenciesErrorOptions | MercuryResponseErrorErrorOptions | LintFailedErrorOptions | InvalidTestDirectoryErrorOptions | InvalidFeatureCodeErrorOptions | InvalidEventContractErrorOptions | InvalidCommandErrorOptions | GenericErrorOptions | FileExistsErrorOptions | FeatureNotInstalledErrorOptions | FailedToImportErrorOptions | ExecutingCommandFailedErrorOptions | DockerNotStartedErrorOptions | DirectoryNotSkillErrorOptions | DirectoryEmptyErrorOptions | DeployFailedErrorOptions | CreateAutoloaderFailedErrorOptions | CommandNotImplementedErrorOptions | CommandBlockedErrorOptions | CommandAbortedErrorOptions | CacheNotEnabledErrorOptions | BuildFailedErrorOptions | BootErrorErrorOptions | ActionCancelledErrorOptions;
123
+ declare type ErrorOptions = VscodeNotInstalledErrorOptions | TransportAlreadyExistsErrorOptions | ThemeExistsErrorOptions | TestFailedErrorOptions | StoreExistsErrorOptions | SkillViewExistsErrorOptions | SkillNotRegisteredErrorOptions | SkillNotFoundErrorOptions | SchemaTemplateItemBuildingFailedErrorOptions | SchemaFailedToImportErrorOptions | SchemaExistsErrorOptions | NotLoggedInErrorOptions | NotImplementedErrorOptions | NoSkillsRegisteredErrorOptions | NoOrganizationsFoundErrorOptions | MissingDependenciesErrorOptions | MercuryResponseErrorErrorOptions | LintFailedErrorOptions | InvalidTestDirectoryErrorOptions | InvalidFeatureCodeErrorOptions | InvalidEventContractErrorOptions | InvalidCommandErrorOptions | GenericErrorOptions | FileExistsErrorOptions | FeatureNotInstalledErrorOptions | FailedToImportErrorOptions | ExecutingCommandFailedErrorOptions | DockerNotStartedErrorOptions | DirectoryNotSkillErrorOptions | DirectoryEmptyErrorOptions | DeployFailedErrorOptions | DependencyExistsErrorOptions | CreateAutoloaderFailedErrorOptions | CommandNotImplementedErrorOptions | CommandBlockedErrorOptions | CommandAbortedErrorOptions | CacheNotEnabledErrorOptions | BuildFailedErrorOptions | BootErrorErrorOptions | ActionCancelledErrorOptions;
121
124
  export default ErrorOptions;
@@ -0,0 +1,3 @@
1
+ import { SpruceErrors } from '../errors.types';
2
+ declare const dependencyExistsSchema: SpruceErrors.SpruceCli.DependencyExistsSchema;
3
+ export default dependencyExistsSchema;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+
8
+ var _schema = require("@sprucelabs/schema");
9
+
10
+ var dependencyExistsSchema = {
11
+ id: 'dependencyExists',
12
+ namespace: 'SpruceCli',
13
+ name: 'Dependency exists',
14
+ fields: {
15
+ /** . */
16
+ 'namespace': {
17
+ type: 'text',
18
+ isRequired: true,
19
+ options: undefined
20
+ }
21
+ }
22
+ };
23
+
24
+ _schema.SchemaRegistry.getInstance().trackSchema(dependencyExistsSchema);
25
+
26
+ var _default = dependencyExistsSchema;
27
+ exports["default"] = _default;
28
+ //# sourceMappingURL=dependencyExists.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/.spruce/errors/spruceCli/dependencyExists.schema.ts"],"names":["dependencyExistsSchema","id","namespace","name","fields","type","isRequired","options","undefined","SchemaRegistry","getInstance","trackSchema"],"mappings":";;;;;;;AAAA;;AAKA,IAAMA,sBAAqE,GAAI;AAC9EC,EAAAA,EAAE,EAAE,kBAD0E;AAE9EC,EAAAA,SAAS,EAAE,WAFmE;AAG9EC,EAAAA,IAAI,EAAE,mBAHwE;AAI1EC,EAAAA,MAAM,EAAE;AACA;AACA,iBAAa;AACTC,MAAAA,IAAI,EAAE,MADG;AAETC,MAAAA,UAAU,EAAE,IAFH;AAGTC,MAAAA,OAAO,EAAEC;AAHA;AAFb;AAJkE,CAA/E;;AAcAC,uBAAeC,WAAf,GAA6BC,WAA7B,CAAyCX,sBAAzC;;eAEeA,sB","sourcesContent":["import { SchemaRegistry } from '@sprucelabs/schema'\nimport { SpruceErrors } from '../errors.types'\n\n\n\nconst dependencyExistsSchema: SpruceErrors.SpruceCli.DependencyExistsSchema = {\n\tid: 'dependencyExists',\n\tnamespace: 'SpruceCli',\n\tname: 'Dependency exists',\n\t fields: {\n\t /** . */\n\t 'namespace': {\n\t type: 'text',\n\t isRequired: true,\n\t options: undefined\n\t },\n\t }\n}\n\nSchemaRegistry.getInstance().trackSchema(dependencyExistsSchema)\n\nexport default dependencyExistsSchema\n"],"file":"dependencyExists.schema.js"}
@@ -1,9 +1,12 @@
1
1
  import AbstractSkillTest from '../../tests/AbstractSkillTest';
2
2
  export default class ConfiguringDependenciesTest extends AbstractSkillTest {
3
3
  protected static skillCacheKey: string;
4
+ private static parentSkill;
4
5
  protected static hasAddDependencyAction(): Promise<void>;
5
- protected static errorsWhenPassedBadSlug(): Promise<void>;
6
- protected static succeedsWhenPassedGoodSlug(): Promise<void>;
7
- protected static asksToSelectSkillWhenNoSlugPassed(): Promise<void>;
6
+ protected static errorsWhenPassedBadNamespace(): Promise<void>;
7
+ protected static succeedsWhenPassedGoodNamespace(): Promise<void>;
8
+ protected static cantAddDependencyTwice(): Promise<void>;
9
+ protected static asksToSelectSkillWhenNoNamespacePassed(): Promise<void>;
10
+ protected static doesNotShowSkillsThatAreAlreadySetAsADependency(): Promise<void>;
8
11
  protected static canAddSkillThatWasCreatedBySomeoneElse(): Promise<void>;
9
12
  }
@@ -31,13 +31,15 @@ var _testUtils = require("@sprucelabs/test-utils");
31
31
 
32
32
  var _AbstractSkillTest2 = _interopRequireDefault(require("../../tests/AbstractSkillTest"));
33
33
 
34
- var _dec, _dec2, _dec3, _dec4, _dec5, _class, _class2, _temp;
34
+ var _uiAssert = _interopRequireDefault(require("../../tests/utilities/uiAssert.utility"));
35
+
36
+ var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _class, _class2, _temp;
35
37
 
36
38
  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); }; }
37
39
 
38
40
  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; } }
39
41
 
40
- var ConfiguringDependenciesTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(), _dec3 = (0, _test.test)(), _dec4 = (0, _test.test)(), _dec5 = (0, _test.test)(), (_class = (_temp = _class2 = /*#__PURE__*/function (_AbstractSkillTest) {
42
+ var ConfiguringDependenciesTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(), _dec3 = (0, _test.test)(), _dec4 = (0, _test.test)(), _dec5 = (0, _test.test)(), _dec6 = (0, _test.test)(), _dec7 = (0, _test.test)(), (_class = (_temp = _class2 = /*#__PURE__*/function (_AbstractSkillTest) {
41
43
  (0, _inherits2["default"])(ConfiguringDependenciesTest, _AbstractSkillTest);
42
44
 
43
45
  var _super = _createSuper(ConfiguringDependenciesTest);
@@ -72,9 +74,9 @@ var ConfiguringDependenciesTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.t
72
74
  return hasAddDependencyAction;
73
75
  }()
74
76
  }, {
75
- key: "errorsWhenPassedBadSlug",
77
+ key: "errorsWhenPassedBadNamespace",
76
78
  value: function () {
77
- var _errorsWhenPassedBadSlug = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
79
+ var _errorsWhenPassedBadNamespace = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
78
80
  var results;
79
81
  return _regenerator["default"].wrap(function _callee2$(_context2) {
80
82
  while (1) {
@@ -106,17 +108,17 @@ var ConfiguringDependenciesTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.t
106
108
  }, _callee2, this);
107
109
  }));
108
110
 
109
- function errorsWhenPassedBadSlug() {
110
- return _errorsWhenPassedBadSlug.apply(this, arguments);
111
+ function errorsWhenPassedBadNamespace() {
112
+ return _errorsWhenPassedBadNamespace.apply(this, arguments);
111
113
  }
112
114
 
113
- return errorsWhenPassedBadSlug;
115
+ return errorsWhenPassedBadNamespace;
114
116
  }()
115
117
  }, {
116
- key: "succeedsWhenPassedGoodSlug",
118
+ key: "succeedsWhenPassedGoodNamespace",
117
119
  value: function () {
118
- var _succeedsWhenPassedGoodSlug = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
119
- var otherSkill, results, settings, dependencies;
120
+ var _succeedsWhenPassedGoodNamespace = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
121
+ var parentSkill, results, settings, dependencies;
120
122
  return _regenerator["default"].wrap(function _callee3$(_context3) {
121
123
  while (1) {
122
124
  switch (_context3.prev = _context3.next) {
@@ -127,10 +129,10 @@ var ConfiguringDependenciesTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.t
127
129
  });
128
130
 
129
131
  case 2:
130
- otherSkill = _context3.sent;
132
+ parentSkill = _context3.sent;
131
133
  _context3.next = 5;
132
134
  return this.Action('dependency', 'add').execute({
133
- namespace: otherSkill.slug
135
+ namespace: parentSkill.slug
134
136
  });
135
137
 
136
138
  case 5:
@@ -138,15 +140,16 @@ var ConfiguringDependenciesTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.t
138
140
 
139
141
  _test.assert.isFalsy(results.errors);
140
142
 
143
+ this.parentSkill = parentSkill;
141
144
  settings = this.Service('settings');
142
145
  dependencies = settings.get('dependencies');
143
146
 
144
147
  _test.assert.isEqualDeep(dependencies, [{
145
- id: otherSkill.id,
146
- namespace: otherSkill.slug
148
+ id: parentSkill.id,
149
+ namespace: parentSkill.slug
147
150
  }]);
148
151
 
149
- case 10:
152
+ case 11:
150
153
  case "end":
151
154
  return _context3.stop();
152
155
  }
@@ -154,49 +157,83 @@ var ConfiguringDependenciesTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.t
154
157
  }, _callee3, this);
155
158
  }));
156
159
 
157
- function succeedsWhenPassedGoodSlug() {
158
- return _succeedsWhenPassedGoodSlug.apply(this, arguments);
160
+ function succeedsWhenPassedGoodNamespace() {
161
+ return _succeedsWhenPassedGoodNamespace.apply(this, arguments);
159
162
  }
160
163
 
161
- return succeedsWhenPassedGoodSlug;
164
+ return succeedsWhenPassedGoodNamespace;
162
165
  }()
163
166
  }, {
164
- key: "asksToSelectSkillWhenNoSlugPassed",
167
+ key: "cantAddDependencyTwice",
165
168
  value: function () {
166
- var _asksToSelectSkillWhenNoSlugPassed = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
167
- var otherSkill, promise, last, results, settings, dependencies;
169
+ var _cantAddDependencyTwice = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
170
+ var _this = this;
171
+
172
+ var err;
168
173
  return _regenerator["default"].wrap(function _callee4$(_context4) {
169
174
  while (1) {
170
175
  switch (_context4.prev = _context4.next) {
171
176
  case 0:
172
- _context4.next = 2;
177
+ err = _test.assert.doesThrow(function () {
178
+ return _this.Service('dependency').add({
179
+ id: _this.parentSkill.id,
180
+ namespace: _this.parentSkill.slug
181
+ });
182
+ });
183
+
184
+ _testUtils.errorAssertUtil.assertError(err, 'DEPENDENCY_EXISTS');
185
+
186
+ case 2:
187
+ case "end":
188
+ return _context4.stop();
189
+ }
190
+ }
191
+ }, _callee4);
192
+ }));
193
+
194
+ function cantAddDependencyTwice() {
195
+ return _cantAddDependencyTwice.apply(this, arguments);
196
+ }
197
+
198
+ return cantAddDependencyTwice;
199
+ }()
200
+ }, {
201
+ key: "asksToSelectSkillWhenNoNamespacePassed",
202
+ value: function () {
203
+ var _asksToSelectSkillWhenNoNamespacePassed = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
204
+ var otherSkill, promise, last, results, settings, dependencies;
205
+ return _regenerator["default"].wrap(function _callee5$(_context5) {
206
+ while (1) {
207
+ switch (_context5.prev = _context5.next) {
208
+ case 0:
209
+ _context5.next = 2;
173
210
  return this.getSkillFixture().seedDemoSkill({
174
211
  name: 'dependent skill'
175
212
  });
176
213
 
177
214
  case 2:
178
- otherSkill = _context4.sent;
215
+ otherSkill = _context5.sent;
179
216
  promise = this.Action('dependency', 'add').execute({});
180
- _context4.next = 6;
217
+ _context5.next = 6;
181
218
  return this.waitForInput();
182
219
 
183
220
  case 6:
184
- last = this.ui.lastInvocation();
221
+ last = this.ui.getLastInvocation();
185
222
 
186
223
  _test.assert.doesInclude(last.options.options.choices, {
187
224
  value: otherSkill.slug,
188
225
  label: otherSkill.name
189
226
  });
190
227
 
191
- _context4.next = 10;
228
+ _context5.next = 10;
192
229
  return this.ui.sendInput(otherSkill.slug);
193
230
 
194
231
  case 10:
195
- _context4.next = 12;
232
+ _context5.next = 12;
196
233
  return promise;
197
234
 
198
235
  case 12:
199
- results = _context4.sent;
236
+ results = _context5.sent;
200
237
 
201
238
  _test.assert.isFalsy(results.errors);
202
239
 
@@ -210,54 +247,89 @@ var ConfiguringDependenciesTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.t
210
247
 
211
248
  case 17:
212
249
  case "end":
213
- return _context4.stop();
250
+ return _context5.stop();
214
251
  }
215
252
  }
216
- }, _callee4, this);
253
+ }, _callee5, this);
217
254
  }));
218
255
 
219
- function asksToSelectSkillWhenNoSlugPassed() {
220
- return _asksToSelectSkillWhenNoSlugPassed.apply(this, arguments);
256
+ function asksToSelectSkillWhenNoNamespacePassed() {
257
+ return _asksToSelectSkillWhenNoNamespacePassed.apply(this, arguments);
221
258
  }
222
259
 
223
- return asksToSelectSkillWhenNoSlugPassed;
260
+ return asksToSelectSkillWhenNoNamespacePassed;
261
+ }()
262
+ }, {
263
+ key: "doesNotShowSkillsThatAreAlreadySetAsADependency",
264
+ value: function () {
265
+ var _doesNotShowSkillsThatAreAlreadySetAsADependency = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
266
+ return _regenerator["default"].wrap(function _callee6$(_context6) {
267
+ while (1) {
268
+ switch (_context6.prev = _context6.next) {
269
+ case 0:
270
+ _context6.next = 2;
271
+ return this.getPersonFixture().loginAsDemoPerson();
272
+
273
+ case 2:
274
+ void this.Action('dependency', 'add').execute({});
275
+ _context6.next = 5;
276
+ return this.waitForInput();
277
+
278
+ case 5:
279
+ _uiAssert["default"].assertSelectDidNotRenderChoice(this.ui, this.parentSkill.slug, this.parentSkill.name);
280
+
281
+ this.ui.reset();
282
+
283
+ case 7:
284
+ case "end":
285
+ return _context6.stop();
286
+ }
287
+ }
288
+ }, _callee6, this);
289
+ }));
290
+
291
+ function doesNotShowSkillsThatAreAlreadySetAsADependency() {
292
+ return _doesNotShowSkillsThatAreAlreadySetAsADependency.apply(this, arguments);
293
+ }
294
+
295
+ return doesNotShowSkillsThatAreAlreadySetAsADependency;
224
296
  }()
225
297
  }, {
226
298
  key: "canAddSkillThatWasCreatedBySomeoneElse",
227
299
  value: function () {
228
- var _canAddSkillThatWasCreatedBySomeoneElse = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
300
+ var _canAddSkillThatWasCreatedBySomeoneElse = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7() {
229
301
  var skill, results;
230
- return _regenerator["default"].wrap(function _callee5$(_context5) {
302
+ return _regenerator["default"].wrap(function _callee7$(_context7) {
231
303
  while (1) {
232
- switch (_context5.prev = _context5.next) {
304
+ switch (_context7.prev = _context7.next) {
233
305
  case 0:
234
- _context5.next = 2;
306
+ _context7.next = 2;
235
307
  return this.getSkillFixture().seedDemoSkill({
236
308
  name: 'global dependency skill'
237
309
  });
238
310
 
239
311
  case 2:
240
- skill = _context5.sent;
241
- _context5.next = 5;
312
+ skill = _context7.sent;
313
+ _context7.next = 5;
242
314
  return this.getPersonFixture().loginAsDemoPerson(process.env.DEMO_NUMBER_GLOBAL_EVENTS);
243
315
 
244
316
  case 5:
245
- _context5.next = 7;
317
+ _context7.next = 7;
246
318
  return this.Action('dependency', 'add').execute({
247
319
  namespace: skill.slug
248
320
  });
249
321
 
250
322
  case 7:
251
- results = _context5.sent;
323
+ results = _context7.sent;
252
324
 
253
325
  _test.assert.isFalsy(results.errors);
254
326
 
255
327
  case 9:
256
328
  case "end":
257
- return _context5.stop();
329
+ return _context7.stop();
258
330
  }
259
331
  }
260
- }, _callee5, this);
332
+ }, _callee7, this);
261
333
  }));
262
334
 
263
335
  function canAddSkillThatWasCreatedBySomeoneElse() {
@@ -268,6 +340,6 @@ var ConfiguringDependenciesTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.t
268
340
  }()
269
341
  }]);
270
342
  return ConfiguringDependenciesTest;
271
- }(_AbstractSkillTest2["default"]), (0, _defineProperty2["default"])(_class2, "skillCacheKey", 'skills'), _temp), ((0, _applyDecoratedDescriptor2["default"])(_class, "hasAddDependencyAction", [_dec], Object.getOwnPropertyDescriptor(_class, "hasAddDependencyAction"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "errorsWhenPassedBadSlug", [_dec2], Object.getOwnPropertyDescriptor(_class, "errorsWhenPassedBadSlug"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "succeedsWhenPassedGoodSlug", [_dec3], Object.getOwnPropertyDescriptor(_class, "succeedsWhenPassedGoodSlug"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "asksToSelectSkillWhenNoSlugPassed", [_dec4], Object.getOwnPropertyDescriptor(_class, "asksToSelectSkillWhenNoSlugPassed"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "canAddSkillThatWasCreatedBySomeoneElse", [_dec5], Object.getOwnPropertyDescriptor(_class, "canAddSkillThatWasCreatedBySomeoneElse"), _class)), _class));
343
+ }(_AbstractSkillTest2["default"]), (0, _defineProperty2["default"])(_class2, "skillCacheKey", 'skills'), (0, _defineProperty2["default"])(_class2, "parentSkill", void 0), _temp), ((0, _applyDecoratedDescriptor2["default"])(_class, "hasAddDependencyAction", [_dec], Object.getOwnPropertyDescriptor(_class, "hasAddDependencyAction"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "errorsWhenPassedBadNamespace", [_dec2], Object.getOwnPropertyDescriptor(_class, "errorsWhenPassedBadNamespace"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "succeedsWhenPassedGoodNamespace", [_dec3], Object.getOwnPropertyDescriptor(_class, "succeedsWhenPassedGoodNamespace"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "cantAddDependencyTwice", [_dec4], Object.getOwnPropertyDescriptor(_class, "cantAddDependencyTwice"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "asksToSelectSkillWhenNoNamespacePassed", [_dec5], Object.getOwnPropertyDescriptor(_class, "asksToSelectSkillWhenNoNamespacePassed"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "doesNotShowSkillsThatAreAlreadySetAsADependency", [_dec6], Object.getOwnPropertyDescriptor(_class, "doesNotShowSkillsThatAreAlreadySetAsADependency"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "canAddSkillThatWasCreatedBySomeoneElse", [_dec7], Object.getOwnPropertyDescriptor(_class, "canAddSkillThatWasCreatedBySomeoneElse"), _class)), _class));
272
344
  exports["default"] = ConfiguringDependenciesTest;
273
345
  //# sourceMappingURL=AddingADependency.test.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/__tests__/behavioral/AddingADependency.test.ts"],"names":["ConfiguringDependenciesTest","assert","isFunction","Action","execute","getSkillFixture","registerCurrentSkill","name","namespace","results","isTruthy","errors","errorAssertUtil","assertError","seedDemoSkill","otherSkill","slug","isFalsy","settings","Service","dependencies","get","isEqualDeep","id","promise","waitForInput","last","ui","lastInvocation","doesInclude","options","choices","value","label","sendInput","skill","getPersonFixture","loginAsDemoPerson","process","env","DEMO_NUMBER_GLOBAL_EVENTS","AbstractSkillTest"],"mappings":"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","sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport { errorAssertUtil } from '@sprucelabs/test-utils'\nimport AbstractSkillTest from '../../tests/AbstractSkillTest'\n\nexport default class ConfiguringDependenciesTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'skills'\n\n\t@test()\n\tprotected static async hasAddDependencyAction() {\n\t\tassert.isFunction(this.Action('dependency', 'add').execute)\n\t}\n\n\t@test()\n\tprotected static async errorsWhenPassedBadSlug() {\n\t\tawait this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'current skill in adding deps',\n\t\t})\n\n\t\tconst results = await this.Action('dependency', 'add').execute({\n\t\t\tnamespace: 'waka-waka',\n\t\t})\n\n\t\tassert.isTruthy(results.errors)\n\n\t\terrorAssertUtil.assertError(results.errors[0], 'SKILL_NOT_FOUND')\n\t}\n\n\t@test()\n\tprotected static async succeedsWhenPassedGoodSlug() {\n\t\tconst otherSkill = await this.getSkillFixture().seedDemoSkill({\n\t\t\tname: 'dependent skill',\n\t\t})\n\n\t\tconst results = await this.Action('dependency', 'add').execute({\n\t\t\tnamespace: otherSkill.slug,\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst settings = this.Service('settings')\n\t\tconst dependencies = settings.get('dependencies')\n\n\t\tassert.isEqualDeep(dependencies, [\n\t\t\t{\n\t\t\t\tid: otherSkill.id,\n\t\t\t\tnamespace: otherSkill.slug,\n\t\t\t},\n\t\t])\n\t}\n\n\t@test()\n\tprotected static async asksToSelectSkillWhenNoSlugPassed() {\n\t\tconst otherSkill = await this.getSkillFixture().seedDemoSkill({\n\t\t\tname: 'dependent skill',\n\t\t})\n\n\t\tconst promise = this.Action('dependency', 'add').execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tconst last = this.ui.lastInvocation()\n\n\t\tassert.doesInclude(last.options.options.choices, {\n\t\t\tvalue: otherSkill.slug,\n\t\t\tlabel: otherSkill.name,\n\t\t})\n\n\t\tawait this.ui.sendInput(otherSkill.slug)\n\n\t\tconst results = await promise\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst settings = this.Service('settings')\n\t\tconst dependencies = settings.get('dependencies')\n\n\t\tassert.isEqualDeep(dependencies[1], {\n\t\t\tid: otherSkill.id,\n\t\t\tnamespace: otherSkill.slug,\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async canAddSkillThatWasCreatedBySomeoneElse() {\n\t\tconst skill = await this.getSkillFixture().seedDemoSkill({\n\t\t\tname: 'global dependency skill',\n\t\t})\n\n\t\tawait this.getPersonFixture().loginAsDemoPerson(\n\t\t\tprocess.env.DEMO_NUMBER_GLOBAL_EVENTS\n\t\t)\n\n\t\tconst results = await this.Action('dependency', 'add').execute({\n\t\t\tnamespace: skill.slug,\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\t}\n}\n"],"file":"AddingADependency.test.js"}
1
+ {"version":3,"sources":["../../../src/__tests__/behavioral/AddingADependency.test.ts"],"names":["ConfiguringDependenciesTest","assert","isFunction","Action","execute","getSkillFixture","registerCurrentSkill","name","namespace","results","isTruthy","errors","errorAssertUtil","assertError","seedDemoSkill","parentSkill","slug","isFalsy","settings","Service","dependencies","get","isEqualDeep","id","err","doesThrow","add","otherSkill","promise","waitForInput","last","ui","getLastInvocation","doesInclude","options","choices","value","label","sendInput","getPersonFixture","loginAsDemoPerson","uiAssertUtil","assertSelectDidNotRenderChoice","reset","skill","process","env","DEMO_NUMBER_GLOBAL_EVENTS","AbstractSkillTest"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;;;IAEqBA,2B,WAQnB,iB,UAKA,iB,UAeA,iB,UAyBA,iB,UAYA,iB,UA+BA,iB,UAiBA,iB;;;;;;;;;;;;;kHAzGD;AAAA;AAAA;AAAA;AAAA;AAECC,6BAAOC,UAAP,CAAkB,KAAKC,MAAL,CAAY,YAAZ,EAA0B,KAA1B,EAAiCC,OAAnD;;AAFD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;wHAKA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEO,KAAKC,eAAL,GAAuBC,oBAAvB,CAA4C;AACjDC,kBAAAA,IAAI,EAAE;AAD2C,iBAA5C,CAFP;;AAAA;AAAA;AAAA,uBAMuB,KAAKJ,MAAL,CAAY,YAAZ,EAA0B,KAA1B,EAAiCC,OAAjC,CAAyC;AAC9DI,kBAAAA,SAAS,EAAE;AADmD,iBAAzC,CANvB;;AAAA;AAMOC,gBAAAA,OANP;;AAUCR,6BAAOS,QAAP,CAAgBD,OAAO,CAACE,MAAxB;;AAEAC,2CAAgBC,WAAhB,CAA4BJ,OAAO,CAACE,MAAR,CAAe,CAAf,CAA5B,EAA+C,iBAA/C;;AAZD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;2HAeA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAE2B,KAAKN,eAAL,GAAuBS,aAAvB,CAAqC;AAC9DP,kBAAAA,IAAI,EAAE;AADwD,iBAArC,CAF3B;;AAAA;AAEOQ,gBAAAA,WAFP;AAAA;AAAA,uBAMuB,KAAKZ,MAAL,CAAY,YAAZ,EAA0B,KAA1B,EAAiCC,OAAjC,CAAyC;AAC9DI,kBAAAA,SAAS,EAAEO,WAAW,CAACC;AADuC,iBAAzC,CANvB;;AAAA;AAMOP,gBAAAA,OANP;;AAUCR,6BAAOgB,OAAP,CAAeR,OAAO,CAACE,MAAvB;;AAEA,qBAAKI,WAAL,GAAmBA,WAAnB;AAEMG,gBAAAA,QAdP,GAckB,KAAKC,OAAL,CAAa,UAAb,CAdlB;AAeOC,gBAAAA,YAfP,GAesBF,QAAQ,CAACG,GAAT,CAAa,cAAb,CAftB;;AAiBCpB,6BAAOqB,WAAP,CAAmBF,YAAnB,EAAiC,CAChC;AACCG,kBAAAA,EAAE,EAAER,WAAW,CAACQ,EADjB;AAECf,kBAAAA,SAAS,EAAEO,WAAW,CAACC;AAFxB,iBADgC,CAAjC;;AAjBD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;kHAyBA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEOQ,gBAAAA,GAFP,GAEavB,aAAOwB,SAAP,CAAiB;AAAA,yBAC5B,KAAI,CAACN,OAAL,CAAa,YAAb,EAA2BO,GAA3B,CAA+B;AAC9BH,oBAAAA,EAAE,EAAE,KAAI,CAACR,WAAL,CAAiBQ,EADS;AAE9Bf,oBAAAA,SAAS,EAAE,KAAI,CAACO,WAAL,CAAiBC;AAFE,mBAA/B,CAD4B;AAAA,iBAAjB,CAFb;;AASCJ,2CAAgBC,WAAhB,CAA4BW,GAA5B,EAAiC,mBAAjC;;AATD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;kIAYA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAE0B,KAAKnB,eAAL,GAAuBS,aAAvB,CAAqC;AAC7DP,kBAAAA,IAAI,EAAE;AADuD,iBAArC,CAF1B;;AAAA;AAEOoB,gBAAAA,UAFP;AAMOC,gBAAAA,OANP,GAMiB,KAAKzB,MAAL,CAAY,YAAZ,EAA0B,KAA1B,EAAiCC,OAAjC,CAAyC,EAAzC,CANjB;AAAA;AAAA,uBAQO,KAAKyB,YAAL,EARP;;AAAA;AAUOC,gBAAAA,IAVP,GAUc,KAAKC,EAAL,CAAQC,iBAAR,EAVd;;AAYC/B,6BAAOgC,WAAP,CAAmBH,IAAI,CAACI,OAAL,CAAaA,OAAb,CAAqBC,OAAxC,EAAiD;AAChDC,kBAAAA,KAAK,EAAET,UAAU,CAACX,IAD8B;AAEhDqB,kBAAAA,KAAK,EAAEV,UAAU,CAACpB;AAF8B,iBAAjD;;AAZD;AAAA,uBAiBO,KAAKwB,EAAL,CAAQO,SAAR,CAAkBX,UAAU,CAACX,IAA7B,CAjBP;;AAAA;AAAA;AAAA,uBAmBuBY,OAnBvB;;AAAA;AAmBOnB,gBAAAA,OAnBP;;AAoBCR,6BAAOgB,OAAP,CAAeR,OAAO,CAACE,MAAvB;;AAEMO,gBAAAA,QAtBP,GAsBkB,KAAKC,OAAL,CAAa,UAAb,CAtBlB;AAuBOC,gBAAAA,YAvBP,GAuBsBF,QAAQ,CAACG,GAAT,CAAa,cAAb,CAvBtB;;AAyBCpB,6BAAOqB,WAAP,CAAmBF,YAAY,CAAC,CAAD,CAA/B,EAAoC;AACnCG,kBAAAA,EAAE,EAAEI,UAAU,CAACJ,EADoB;AAEnCf,kBAAAA,SAAS,EAAEmB,UAAU,CAACX;AAFa,iBAApC;;AAzBD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;2IA+BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEO,KAAKuB,gBAAL,GAAwBC,iBAAxB,EAFP;;AAAA;AAIC,qBAAK,KAAKrC,MAAL,CAAY,YAAZ,EAA0B,KAA1B,EAAiCC,OAAjC,CAAyC,EAAzC,CAAL;AAJD;AAAA,uBAMO,KAAKyB,YAAL,EANP;;AAAA;AAQCY,qCAAaC,8BAAb,CACC,KAAKX,EADN,EAEC,KAAKhB,WAAL,CAAiBC,IAFlB,EAGC,KAAKD,WAAL,CAAiBR,IAHlB;;AAMA,qBAAKwB,EAAL,CAAQY,KAAR;;AAdD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;kIAiBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEqB,KAAKtC,eAAL,GAAuBS,aAAvB,CAAqC;AACxDP,kBAAAA,IAAI,EAAE;AADkD,iBAArC,CAFrB;;AAAA;AAEOqC,gBAAAA,KAFP;AAAA;AAAA,uBAMO,KAAKL,gBAAL,GAAwBC,iBAAxB,CACLK,OAAO,CAACC,GAAR,CAAYC,yBADP,CANP;;AAAA;AAAA;AAAA,uBAUuB,KAAK5C,MAAL,CAAY,YAAZ,EAA0B,KAA1B,EAAiCC,OAAjC,CAAyC;AAC9DI,kBAAAA,SAAS,EAAEoC,KAAK,CAAC5B;AAD6C,iBAAzC,CAVvB;;AAAA;AAUOP,gBAAAA,OAVP;;AAcCR,6BAAOgB,OAAP,CAAeR,OAAO,CAACE,MAAvB;;AAdD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EAjHwDqC,8B,8DACvB,Q","sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport { errorAssertUtil } from '@sprucelabs/test-utils'\nimport AbstractSkillTest from '../../tests/AbstractSkillTest'\nimport uiAssertUtil from '../../tests/utilities/uiAssert.utility'\n\nexport default class ConfiguringDependenciesTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'skills'\n\tprivate static parentSkill: {\n\t\tid: string\n\t\tslug: string\n\t\tname: string\n\t}\n\n\t@test()\n\tprotected static async hasAddDependencyAction() {\n\t\tassert.isFunction(this.Action('dependency', 'add').execute)\n\t}\n\n\t@test()\n\tprotected static async errorsWhenPassedBadNamespace() {\n\t\tawait this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'current skill in adding deps',\n\t\t})\n\n\t\tconst results = await this.Action('dependency', 'add').execute({\n\t\t\tnamespace: 'waka-waka',\n\t\t})\n\n\t\tassert.isTruthy(results.errors)\n\n\t\terrorAssertUtil.assertError(results.errors[0], 'SKILL_NOT_FOUND')\n\t}\n\n\t@test()\n\tprotected static async succeedsWhenPassedGoodNamespace() {\n\t\tconst parentSkill = await this.getSkillFixture().seedDemoSkill({\n\t\t\tname: 'dependent skill',\n\t\t})\n\n\t\tconst results = await this.Action('dependency', 'add').execute({\n\t\t\tnamespace: parentSkill.slug,\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tthis.parentSkill = parentSkill\n\n\t\tconst settings = this.Service('settings')\n\t\tconst dependencies = settings.get('dependencies')\n\n\t\tassert.isEqualDeep(dependencies, [\n\t\t\t{\n\t\t\t\tid: parentSkill.id,\n\t\t\t\tnamespace: parentSkill.slug,\n\t\t\t},\n\t\t])\n\t}\n\n\t@test()\n\tprotected static async cantAddDependencyTwice() {\n\t\tconst err = assert.doesThrow(() =>\n\t\t\tthis.Service('dependency').add({\n\t\t\t\tid: this.parentSkill.id,\n\t\t\t\tnamespace: this.parentSkill.slug,\n\t\t\t})\n\t\t)\n\n\t\terrorAssertUtil.assertError(err, 'DEPENDENCY_EXISTS')\n\t}\n\n\t@test()\n\tprotected static async asksToSelectSkillWhenNoNamespacePassed() {\n\t\tconst otherSkill = await this.getSkillFixture().seedDemoSkill({\n\t\t\tname: 'dependent skill',\n\t\t})\n\n\t\tconst promise = this.Action('dependency', 'add').execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tconst last = this.ui.getLastInvocation()\n\n\t\tassert.doesInclude(last.options.options.choices, {\n\t\t\tvalue: otherSkill.slug,\n\t\t\tlabel: otherSkill.name,\n\t\t})\n\n\t\tawait this.ui.sendInput(otherSkill.slug)\n\n\t\tconst results = await promise\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst settings = this.Service('settings')\n\t\tconst dependencies = settings.get('dependencies')\n\n\t\tassert.isEqualDeep(dependencies[1], {\n\t\t\tid: otherSkill.id,\n\t\t\tnamespace: otherSkill.slug,\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async doesNotShowSkillsThatAreAlreadySetAsADependency() {\n\t\tawait this.getPersonFixture().loginAsDemoPerson()\n\n\t\tvoid this.Action('dependency', 'add').execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tuiAssertUtil.assertSelectDidNotRenderChoice(\n\t\t\tthis.ui,\n\t\t\tthis.parentSkill.slug,\n\t\t\tthis.parentSkill.name\n\t\t)\n\n\t\tthis.ui.reset()\n\t}\n\n\t@test()\n\tprotected static async canAddSkillThatWasCreatedBySomeoneElse() {\n\t\tconst skill = await this.getSkillFixture().seedDemoSkill({\n\t\t\tname: 'global dependency skill',\n\t\t})\n\n\t\tawait this.getPersonFixture().loginAsDemoPerson(\n\t\t\tprocess.env.DEMO_NUMBER_GLOBAL_EVENTS\n\t\t)\n\n\t\tconst results = await this.Action('dependency', 'add').execute({\n\t\t\tnamespace: skill.slug,\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\t}\n}\n"],"file":"AddingADependency.test.js"}
@@ -313,7 +313,7 @@ var InstallingASkillAtAnOrgTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.t
313
313
  return this.waitForInput();
314
314
 
315
315
  case 11:
316
- _test.assert.doesInclude(this.ui.lastInvocation().command, 'confirm', "ui didn't get back a confirm, got back \n\n".concat(_test.assertUtil.stringify(this.ui.lastInvocation())));
316
+ _test.assert.doesInclude(this.ui.getLastInvocation().command, 'confirm', "ui didn't get back a confirm, got back \n\n".concat(_test.assertUtil.stringify(this.ui.getLastInvocation())));
317
317
 
318
318
  _context7.next = 14;
319
319
  return this.ui.sendInput('');
@@ -387,7 +387,7 @@ var InstallingASkillAtAnOrgTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.t
387
387
  return this.waitForInput();
388
388
 
389
389
  case 13:
390
- _test.assert.doesInclude(this.ui.lastInvocation().options, {
390
+ _test.assert.doesInclude(this.ui.getLastInvocation().options, {
391
391
  type: 'select'
392
392
  });
393
393
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/__tests__/behavioral/InstallingASkillAtAnOrg.test.ts"],"names":["InstallingASkillAtAnOrgTest","login","getOrganizationFixture","clearAllOrgs","getPersonFixture","loginAsDemoPerson","process","env","DEMO_NUMBER_INSTALL_SKILL","Cli","assert","isFunction","Action","execute","seedDemoOrg","name","org","FeatureFixture","installCachedFeatures","getSkillFixture","registerCurrentSkill","logout","organizationId","id","anonResults","isTruthy","errors","eventAssertUtil","assertError","errorAssertUtil","skill","promise","waitForInput","doesInclude","ui","lastInvocation","command","assertUtil","stringify","sendInput","results","isFalsy","Store","isSkillInstalledAtOrg","isInstalled","org2","options","type","AbstractCliTest"],"mappings":"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","sourcesContent":["import { eventAssertUtil } from '@sprucelabs/spruce-event-utils'\nimport { test, assert, assertUtil } from '@sprucelabs/test'\nimport { errorAssertUtil } from '@sprucelabs/test-utils'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\n\nexport default class InstallingASkillAtAnOrgTest extends AbstractCliTest {\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tawait this.login()\n\t\tawait this.getOrganizationFixture().clearAllOrgs()\n\t}\n\n\tprivate static async login() {\n\t\tawait this.getPersonFixture().loginAsDemoPerson(\n\t\t\tprocess.env.DEMO_NUMBER_INSTALL_SKILL\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async hasInstallAction() {\n\t\tawait this.Cli()\n\t\tassert.isFunction(this.Action('organization', 'install').execute)\n\t}\n\n\t@test()\n\tprotected static async cantInstallWithoutBeingLoggedIn() {\n\t\tconst org = await this.getOrganizationFixture().seedDemoOrg({\n\t\t\tname: 'new org',\n\t\t})\n\n\t\tawait this.FeatureFixture().installCachedFeatures('organizations')\n\n\t\tawait this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'my amazing skill',\n\t\t})\n\n\t\tawait this.getPersonFixture().logout()\n\n\t\tawait this.Cli()\n\n\t\tconst anonResults = await this.Action('organization', 'install').execute({\n\t\t\torganizationId: org.id,\n\t\t})\n\n\t\tassert.isTruthy(anonResults.errors)\n\t\teventAssertUtil.assertError(anonResults.errors[0], 'UNAUTHORIZED_ACCESS')\n\t}\n\n\t@test()\n\tprotected static async cantInstallWithoutAnyOrgs() {\n\t\tawait this.FeatureFixture().installCachedFeatures('organizations')\n\n\t\tawait this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'my amazing skill',\n\t\t})\n\n\t\tconst anonResults = await this.Action('organization', 'install').execute({})\n\n\t\tassert.isTruthy(anonResults.errors)\n\t\terrorAssertUtil.assertError(anonResults.errors[0], 'NO_ORGANIZATIONS_FOUND')\n\t}\n\n\t@test()\n\tprotected static async cantInstallWithoutBeingRegistered() {\n\t\tawait this.FeatureFixture().installCachedFeatures('organizations')\n\n\t\tawait this.getOrganizationFixture().seedDemoOrg({\n\t\t\tname: 'My great org',\n\t\t})\n\n\t\tconst anonResults = await this.Action('organization', 'install').execute({})\n\n\t\tassert.isTruthy(anonResults.errors)\n\t\terrorAssertUtil.assertError(anonResults.errors[0], 'SKILL_NOT_REGISTERED')\n\t}\n\n\t@test()\n\tprotected static async canInstallSkillAtOrg() {\n\t\tawait this.FeatureFixture().installCachedFeatures('organizations')\n\n\t\tconst org = await this.getOrganizationFixture().seedDemoOrg({\n\t\t\tname: 'My great org',\n\t\t})\n\n\t\tconst skill = await this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'my amazing skill',\n\t\t})\n\n\t\tconst promise = this.Action('organization', 'install').execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tassert.doesInclude(\n\t\t\tthis.ui.lastInvocation().command,\n\t\t\t'confirm',\n\t\t\t`ui didn't get back a confirm, got back \\n\\n${assertUtil.stringify(\n\t\t\t\tthis.ui.lastInvocation()\n\t\t\t)}`\n\t\t)\n\n\t\tawait this.ui.sendInput('')\n\n\t\tconst results = await promise\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst isInstalled = await this.Store('organization').isSkillInstalledAtOrg(\n\t\t\tskill.id,\n\t\t\torg.id\n\t\t)\n\n\t\tassert.isTruthy(isInstalled)\n\t}\n\n\t@test()\n\tprotected static async asksYouToSelectOrgWithMoreThanOne() {\n\t\tawait this.FeatureFixture().installCachedFeatures('organizations')\n\n\t\tawait this.getOrganizationFixture().seedDemoOrg({\n\t\t\tname: 'My great org',\n\t\t})\n\n\t\tconst org2 = await this.getOrganizationFixture().seedDemoOrg({\n\t\t\tname: 'My great org',\n\t\t})\n\n\t\tconst skill = await this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'my amazing skill',\n\t\t})\n\n\t\tconst promise = this.Action('organization', 'install').execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tassert.doesInclude(this.ui.lastInvocation().options, {\n\t\t\ttype: 'select',\n\t\t})\n\n\t\tawait this.ui.sendInput(org2.id)\n\n\t\tconst results = await promise\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst isInstalled = await this.Store('organization').isSkillInstalledAtOrg(\n\t\t\tskill.id,\n\t\t\torg2.id\n\t\t)\n\n\t\tassert.isTruthy(isInstalled)\n\t}\n}\n"],"file":"InstallingASkillAtAnOrg.test.js"}
1
+ {"version":3,"sources":["../../../src/__tests__/behavioral/InstallingASkillAtAnOrg.test.ts"],"names":["InstallingASkillAtAnOrgTest","login","getOrganizationFixture","clearAllOrgs","getPersonFixture","loginAsDemoPerson","process","env","DEMO_NUMBER_INSTALL_SKILL","Cli","assert","isFunction","Action","execute","seedDemoOrg","name","org","FeatureFixture","installCachedFeatures","getSkillFixture","registerCurrentSkill","logout","organizationId","id","anonResults","isTruthy","errors","eventAssertUtil","assertError","errorAssertUtil","skill","promise","waitForInput","doesInclude","ui","getLastInvocation","command","assertUtil","stringify","sendInput","results","isFalsy","Store","isSkillInstalledAtOrg","isInstalled","org2","options","type","AbstractCliTest"],"mappings":"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","sourcesContent":["import { eventAssertUtil } from '@sprucelabs/spruce-event-utils'\nimport { test, assert, assertUtil } from '@sprucelabs/test'\nimport { errorAssertUtil } from '@sprucelabs/test-utils'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\n\nexport default class InstallingASkillAtAnOrgTest extends AbstractCliTest {\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tawait this.login()\n\t\tawait this.getOrganizationFixture().clearAllOrgs()\n\t}\n\n\tprivate static async login() {\n\t\tawait this.getPersonFixture().loginAsDemoPerson(\n\t\t\tprocess.env.DEMO_NUMBER_INSTALL_SKILL\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async hasInstallAction() {\n\t\tawait this.Cli()\n\t\tassert.isFunction(this.Action('organization', 'install').execute)\n\t}\n\n\t@test()\n\tprotected static async cantInstallWithoutBeingLoggedIn() {\n\t\tconst org = await this.getOrganizationFixture().seedDemoOrg({\n\t\t\tname: 'new org',\n\t\t})\n\n\t\tawait this.FeatureFixture().installCachedFeatures('organizations')\n\n\t\tawait this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'my amazing skill',\n\t\t})\n\n\t\tawait this.getPersonFixture().logout()\n\n\t\tawait this.Cli()\n\n\t\tconst anonResults = await this.Action('organization', 'install').execute({\n\t\t\torganizationId: org.id,\n\t\t})\n\n\t\tassert.isTruthy(anonResults.errors)\n\t\teventAssertUtil.assertError(anonResults.errors[0], 'UNAUTHORIZED_ACCESS')\n\t}\n\n\t@test()\n\tprotected static async cantInstallWithoutAnyOrgs() {\n\t\tawait this.FeatureFixture().installCachedFeatures('organizations')\n\n\t\tawait this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'my amazing skill',\n\t\t})\n\n\t\tconst anonResults = await this.Action('organization', 'install').execute({})\n\n\t\tassert.isTruthy(anonResults.errors)\n\t\terrorAssertUtil.assertError(anonResults.errors[0], 'NO_ORGANIZATIONS_FOUND')\n\t}\n\n\t@test()\n\tprotected static async cantInstallWithoutBeingRegistered() {\n\t\tawait this.FeatureFixture().installCachedFeatures('organizations')\n\n\t\tawait this.getOrganizationFixture().seedDemoOrg({\n\t\t\tname: 'My great org',\n\t\t})\n\n\t\tconst anonResults = await this.Action('organization', 'install').execute({})\n\n\t\tassert.isTruthy(anonResults.errors)\n\t\terrorAssertUtil.assertError(anonResults.errors[0], 'SKILL_NOT_REGISTERED')\n\t}\n\n\t@test()\n\tprotected static async canInstallSkillAtOrg() {\n\t\tawait this.FeatureFixture().installCachedFeatures('organizations')\n\n\t\tconst org = await this.getOrganizationFixture().seedDemoOrg({\n\t\t\tname: 'My great org',\n\t\t})\n\n\t\tconst skill = await this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'my amazing skill',\n\t\t})\n\n\t\tconst promise = this.Action('organization', 'install').execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tassert.doesInclude(\n\t\t\tthis.ui.getLastInvocation().command,\n\t\t\t'confirm',\n\t\t\t`ui didn't get back a confirm, got back \\n\\n${assertUtil.stringify(\n\t\t\t\tthis.ui.getLastInvocation()\n\t\t\t)}`\n\t\t)\n\n\t\tawait this.ui.sendInput('')\n\n\t\tconst results = await promise\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst isInstalled = await this.Store('organization').isSkillInstalledAtOrg(\n\t\t\tskill.id,\n\t\t\torg.id\n\t\t)\n\n\t\tassert.isTruthy(isInstalled)\n\t}\n\n\t@test()\n\tprotected static async asksYouToSelectOrgWithMoreThanOne() {\n\t\tawait this.FeatureFixture().installCachedFeatures('organizations')\n\n\t\tawait this.getOrganizationFixture().seedDemoOrg({\n\t\t\tname: 'My great org',\n\t\t})\n\n\t\tconst org2 = await this.getOrganizationFixture().seedDemoOrg({\n\t\t\tname: 'My great org',\n\t\t})\n\n\t\tconst skill = await this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'my amazing skill',\n\t\t})\n\n\t\tconst promise = this.Action('organization', 'install').execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tassert.doesInclude(this.ui.getLastInvocation().options, {\n\t\t\ttype: 'select',\n\t\t})\n\n\t\tawait this.ui.sendInput(org2.id)\n\n\t\tconst results = await promise\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst isInstalled = await this.Store('organization').isSkillInstalledAtOrg(\n\t\t\tskill.id,\n\t\t\torg2.id\n\t\t)\n\n\t\tassert.isTruthy(isInstalled)\n\t}\n}\n"],"file":"InstallingASkillAtAnOrg.test.js"}
@@ -125,7 +125,7 @@ var LoggingInAsASkillTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)()
125
125
  return this.waitForInput();
126
126
 
127
127
  case 3:
128
- _test.assert.doesInclude(this.ui.lastInvocation().options.label, 'Phone');
128
+ _test.assert.doesInclude(this.ui.getLastInvocation().options.label, 'Phone');
129
129
 
130
130
  this.ui.reset();
131
131
 
@@ -283,11 +283,11 @@ var LoggingInAsASkillTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)()
283
283
  return this.waitForInput();
284
284
 
285
285
  case 8:
286
- _test.assert.doesInclude(this.ui.lastInvocation().command, 'prompt');
286
+ _test.assert.doesInclude(this.ui.getLastInvocation().command, 'prompt');
287
287
 
288
- _test.assert.doesInclude(this.ui.lastInvocation().options.type, 'select');
288
+ _test.assert.doesInclude(this.ui.getLastInvocation().options.type, 'select');
289
289
 
290
- _test.assert.isEqualDeep(this.ui.lastInvocation().options.options.choices, [this.skill1, this.skill2].map(function (s) {
290
+ _test.assert.isEqualDeep(this.ui.getLastInvocation().options.options.choices, [this.skill1, this.skill2].map(function (s) {
291
291
  return {
292
292
  label: s.name,
293
293
  value: s.id
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/__tests__/behavioral/LoggingInAsASkill.test.ts"],"names":["LoggingInAsASkillTest","getPersonFixture","loginAsDemoPerson","process","env","DEMO_NUMBER_LOGIN_AS_SKILL","skillFixture","getSkillFixture","clearAllSkills","logout","assert","isFunction","Action","execute","waitForInput","doesInclude","ui","lastInvocation","options","label","reset","login","results","isTruthy","errors","isLength","errorAssertUtil","assertError","person","Service","setLoggedInPerson","seedDemoSkill","name","Date","getTime","skill1","isFalsy","loggedIn","getCurrentSkill","isEqual","id","skill2","promise","command","type","isEqualDeep","choices","map","s","value","sendInput","skillSlug","skill3","slug","AbstractSkillTest"],"mappings":"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","sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport { errorAssertUtil } from '@sprucelabs/test-utils'\nimport AbstractSkillTest from '../../tests/AbstractSkillTest'\nimport { RegisteredSkill } from '../../types/cli.types'\n\nexport default class LoggingInAsASkillTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'skills'\n\tprivate static skill1: RegisteredSkill\n\tprivate static skill2: RegisteredSkill\n\tprivate static skill3: RegisteredSkill\n\n\tprotected static async beforeAll() {\n\t\tawait super.beforeAll()\n\n\t\tawait this.getPersonFixture().loginAsDemoPerson(\n\t\t\tprocess.env.DEMO_NUMBER_LOGIN_AS_SKILL\n\t\t)\n\n\t\tconst skillFixture = this.getSkillFixture()\n\t\tawait skillFixture.clearAllSkills()\n\n\t\tawait this.getPersonFixture().logout()\n\t}\n\n\t@test()\n\tprotected static async hasLoginAction() {\n\t\tassert.isFunction(this.Action('skill', 'login').execute)\n\t}\n\n\t@test()\n\tprotected static async asksToLoginIfNotLoggedIn() {\n\t\tvoid this.Action('skill', 'login').execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tassert.doesInclude(this.ui.lastInvocation().options.label, 'Phone')\n\n\t\tthis.ui.reset()\n\t}\n\n\t@test()\n\tprotected static async returnsErrorIfNoSkillHasEverBeenRegistered() {\n\t\tawait this.login()\n\n\t\tconst results = await this.Action('skill', 'login').execute({})\n\n\t\tassert.isTruthy(results.errors)\n\t\tassert.isLength(results.errors, 1)\n\t\terrorAssertUtil.assertError(results.errors[0], 'NO_SKILLS_REGISTERED')\n\t}\n\n\tprivate static async login() {\n\t\tconst person = await this.getPersonFixture().loginAsDemoPerson(\n\t\t\tprocess.env.DEMO_NUMBER_LOGIN_AS_SKILL\n\t\t)\n\n\t\tthis.Service('auth').setLoggedInPerson(person)\n\t}\n\n\t@test()\n\tprotected static async logsInAsOnlySkillIfOnly1Registered() {\n\t\tawait this.login()\n\n\t\tthis.skill1 = await this.getSkillFixture().seedDemoSkill({\n\t\t\tname: `login skill ${new Date().getTime()}`,\n\t\t})\n\n\t\tconst results = await this.Action('skill', 'login').execute({})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst loggedIn = this.Service('auth').getCurrentSkill()\n\t\tassert.isEqual(loggedIn?.id, this.skill1.id)\n\t}\n\n\t@test()\n\tprotected static async letsYouSelectSkillIfMoreThan1IsRegistered() {\n\t\tawait this.login()\n\n\t\tthis.skill2 = await this.getSkillFixture().seedDemoSkill({\n\t\t\tname: `login skill 2 ${new Date().getTime()}`,\n\t\t})\n\n\t\tconst promise = this.Action('skill', 'login').execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tassert.doesInclude(this.ui.lastInvocation().command, 'prompt')\n\t\tassert.doesInclude(this.ui.lastInvocation().options.type, 'select')\n\t\tassert.isEqualDeep(\n\t\t\tthis.ui.lastInvocation().options.options.choices,\n\t\t\t[this.skill1, this.skill2].map((s) => ({\n\t\t\t\tlabel: s.name,\n\t\t\t\tvalue: s.id,\n\t\t\t}))\n\t\t)\n\n\t\tawait this.ui.sendInput(this.skill2.id)\n\n\t\tawait promise\n\n\t\tconst loggedIn = this.Service('auth').getCurrentSkill()\n\t\tassert.isEqual(loggedIn?.id, this.skill2.id)\n\t}\n\n\t@test()\n\tprotected static async cantLoginWithSlugYouDontOwn() {\n\t\tawait this.login()\n\t\tconst results = await this.Action('skill', 'login').execute({\n\t\t\tskillSlug: 'never found',\n\t\t})\n\n\t\tassert.isTruthy(results.errors)\n\n\t\terrorAssertUtil.assertError(results.errors[0], 'SKILL_NOT_FOUND')\n\t}\n\n\t@test()\n\tprotected static async canLoginWithSlugYouOwn() {\n\t\tawait this.login()\n\n\t\tthis.skill3 = await this.getSkillFixture().seedDemoSkill({\n\t\t\tname: `login skill 3 ${new Date().getTime()}`,\n\t\t})\n\n\t\tconst results = await this.Action('skill', 'login').execute({\n\t\t\tskillSlug: this.skill3.slug,\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst loggedIn = this.Service('auth').getCurrentSkill()\n\t\tassert.isEqual(loggedIn?.id, this.skill3.id)\n\t}\n}\n"],"file":"LoggingInAsASkill.test.js"}
1
+ {"version":3,"sources":["../../../src/__tests__/behavioral/LoggingInAsASkill.test.ts"],"names":["LoggingInAsASkillTest","getPersonFixture","loginAsDemoPerson","process","env","DEMO_NUMBER_LOGIN_AS_SKILL","skillFixture","getSkillFixture","clearAllSkills","logout","assert","isFunction","Action","execute","waitForInput","doesInclude","ui","getLastInvocation","options","label","reset","login","results","isTruthy","errors","isLength","errorAssertUtil","assertError","person","Service","setLoggedInPerson","seedDemoSkill","name","Date","getTime","skill1","isFalsy","loggedIn","getCurrentSkill","isEqual","id","skill2","promise","command","type","isEqualDeep","choices","map","s","value","sendInput","skillSlug","skill3","slug","AbstractSkillTest"],"mappings":"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","sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport { errorAssertUtil } from '@sprucelabs/test-utils'\nimport AbstractSkillTest from '../../tests/AbstractSkillTest'\nimport { RegisteredSkill } from '../../types/cli.types'\n\nexport default class LoggingInAsASkillTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'skills'\n\tprivate static skill1: RegisteredSkill\n\tprivate static skill2: RegisteredSkill\n\tprivate static skill3: RegisteredSkill\n\n\tprotected static async beforeAll() {\n\t\tawait super.beforeAll()\n\n\t\tawait this.getPersonFixture().loginAsDemoPerson(\n\t\t\tprocess.env.DEMO_NUMBER_LOGIN_AS_SKILL\n\t\t)\n\n\t\tconst skillFixture = this.getSkillFixture()\n\t\tawait skillFixture.clearAllSkills()\n\n\t\tawait this.getPersonFixture().logout()\n\t}\n\n\t@test()\n\tprotected static async hasLoginAction() {\n\t\tassert.isFunction(this.Action('skill', 'login').execute)\n\t}\n\n\t@test()\n\tprotected static async asksToLoginIfNotLoggedIn() {\n\t\tvoid this.Action('skill', 'login').execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tassert.doesInclude(this.ui.getLastInvocation().options.label, 'Phone')\n\n\t\tthis.ui.reset()\n\t}\n\n\t@test()\n\tprotected static async returnsErrorIfNoSkillHasEverBeenRegistered() {\n\t\tawait this.login()\n\n\t\tconst results = await this.Action('skill', 'login').execute({})\n\n\t\tassert.isTruthy(results.errors)\n\t\tassert.isLength(results.errors, 1)\n\t\terrorAssertUtil.assertError(results.errors[0], 'NO_SKILLS_REGISTERED')\n\t}\n\n\tprivate static async login() {\n\t\tconst person = await this.getPersonFixture().loginAsDemoPerson(\n\t\t\tprocess.env.DEMO_NUMBER_LOGIN_AS_SKILL\n\t\t)\n\n\t\tthis.Service('auth').setLoggedInPerson(person)\n\t}\n\n\t@test()\n\tprotected static async logsInAsOnlySkillIfOnly1Registered() {\n\t\tawait this.login()\n\n\t\tthis.skill1 = await this.getSkillFixture().seedDemoSkill({\n\t\t\tname: `login skill ${new Date().getTime()}`,\n\t\t})\n\n\t\tconst results = await this.Action('skill', 'login').execute({})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst loggedIn = this.Service('auth').getCurrentSkill()\n\t\tassert.isEqual(loggedIn?.id, this.skill1.id)\n\t}\n\n\t@test()\n\tprotected static async letsYouSelectSkillIfMoreThan1IsRegistered() {\n\t\tawait this.login()\n\n\t\tthis.skill2 = await this.getSkillFixture().seedDemoSkill({\n\t\t\tname: `login skill 2 ${new Date().getTime()}`,\n\t\t})\n\n\t\tconst promise = this.Action('skill', 'login').execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tassert.doesInclude(this.ui.getLastInvocation().command, 'prompt')\n\t\tassert.doesInclude(this.ui.getLastInvocation().options.type, 'select')\n\t\tassert.isEqualDeep(\n\t\t\tthis.ui.getLastInvocation().options.options.choices,\n\t\t\t[this.skill1, this.skill2].map((s) => ({\n\t\t\t\tlabel: s.name,\n\t\t\t\tvalue: s.id,\n\t\t\t}))\n\t\t)\n\n\t\tawait this.ui.sendInput(this.skill2.id)\n\n\t\tawait promise\n\n\t\tconst loggedIn = this.Service('auth').getCurrentSkill()\n\t\tassert.isEqual(loggedIn?.id, this.skill2.id)\n\t}\n\n\t@test()\n\tprotected static async cantLoginWithSlugYouDontOwn() {\n\t\tawait this.login()\n\t\tconst results = await this.Action('skill', 'login').execute({\n\t\t\tskillSlug: 'never found',\n\t\t})\n\n\t\tassert.isTruthy(results.errors)\n\n\t\terrorAssertUtil.assertError(results.errors[0], 'SKILL_NOT_FOUND')\n\t}\n\n\t@test()\n\tprotected static async canLoginWithSlugYouOwn() {\n\t\tawait this.login()\n\n\t\tthis.skill3 = await this.getSkillFixture().seedDemoSkill({\n\t\t\tname: `login skill 3 ${new Date().getTime()}`,\n\t\t})\n\n\t\tconst results = await this.Action('skill', 'login').execute({\n\t\t\tskillSlug: this.skill3.slug,\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst loggedIn = this.Service('auth').getCurrentSkill()\n\t\tassert.isEqual(loggedIn?.id, this.skill3.id)\n\t}\n}\n"],"file":"LoggingInAsASkill.test.js"}