@sprucelabs/spruce-cli 14.22.7 → 14.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +36 -0
- package/build/.spruce/events/appointments/didBookAppointments.v2021_06_23.contract.d.ts +10 -0
- package/build/.spruce/events/appointments/didBookAppointments.v2021_06_23.contract.js +24 -0
- package/build/.spruce/events/appointments/didBookAppointments.v2021_06_23.contract.js.map +1 -0
- package/build/.spruce/events/events.contract.d.ts +346 -36
- package/build/.spruce/events/events.contract.js +9 -1
- package/build/.spruce/events/events.contract.js.map +1 -1
- package/build/.spruce/events/forms/convertPdfToForm.v2021_07_02.contract.d.ts +20 -2
- package/build/.spruce/events/forms/convertPdfToForm.v2021_07_02.contract.js +23 -5
- package/build/.spruce/events/forms/convertPdfToForm.v2021_07_02.contract.js.map +1 -1
- package/build/.spruce/events/forms/convertPdfToSchemas.v2021_07_02.contract.d.ts +20 -2
- package/build/.spruce/events/forms/convertPdfToSchemas.v2021_07_02.contract.js +23 -5
- package/build/.spruce/events/forms/convertPdfToSchemas.v2021_07_02.contract.js.map +1 -1
- package/build/.spruce/events/forms/createForm.v2021_07_02.contract.d.ts +20 -2
- package/build/.spruce/events/forms/createForm.v2021_07_02.contract.js +23 -5
- package/build/.spruce/events/forms/createForm.v2021_07_02.contract.js.map +1 -1
- package/build/.spruce/events/forms/deleteCompletedForm.v2021_07_02.contract.d.ts +20 -2
- package/build/.spruce/events/forms/deleteCompletedForm.v2021_07_02.contract.js +23 -5
- package/build/.spruce/events/forms/deleteCompletedForm.v2021_07_02.contract.js.map +1 -1
- package/build/.spruce/events/forms/getCompletedForm.v2021_07_02.contract.d.ts +15 -0
- package/build/.spruce/events/forms/getCompletedForm.v2021_07_02.contract.js +17 -2
- package/build/.spruce/events/forms/getCompletedForm.v2021_07_02.contract.js.map +1 -1
- package/build/.spruce/events/forms/listCompletedForms.v2021_07_02.contract.d.ts +20 -3
- package/build/.spruce/events/forms/listCompletedForms.v2021_07_02.contract.js +23 -6
- package/build/.spruce/events/forms/listCompletedForms.v2021_07_02.contract.js.map +1 -1
- package/build/.spruce/events/forms/listForms.v2021_07_02.contract.d.ts +38 -4
- package/build/.spruce/events/forms/listForms.v2021_07_02.contract.js +45 -11
- package/build/.spruce/events/forms/listForms.v2021_07_02.contract.js.map +1 -1
- package/build/.spruce/events/heartwood/didRegisterSkillViews.v2021_02_11.contract.d.ts +15 -0
- package/build/.spruce/events/heartwood/didRegisterSkillViews.v2021_02_11.contract.js +17 -2
- package/build/.spruce/events/heartwood/didRegisterSkillViews.v2021_02_11.contract.js.map +1 -1
- package/build/.spruce/events/heartwood/generateUrl.v2021_02_11.contract.d.ts +21 -4
- package/build/.spruce/events/heartwood/generateUrl.v2021_02_11.contract.js +24 -7
- package/build/.spruce/events/heartwood/generateUrl.v2021_02_11.contract.js.map +1 -1
- package/build/.spruce/events/heartwood/getSkillViews.v2021_02_11.contract.d.ts +21 -1
- package/build/.spruce/events/heartwood/getSkillViews.v2021_02_11.contract.js +26 -6
- package/build/.spruce/events/heartwood/getSkillViews.v2021_02_11.contract.js.map +1 -1
- package/build/.spruce/events/mySkill163459634973936127/myCoolEvent.v2021_01_22.contract.d.ts +38 -0
- package/build/.spruce/events/mySkill163459634973936127/myCoolEvent.v2021_01_22.contract.js +48 -0
- package/build/.spruce/events/mySkill163459634973936127/myCoolEvent.v2021_01_22.contract.js.map +1 -0
- package/build/.spruce/events/mySkill163493473102035607/myCoolEvent.v2021_01_22.contract.d.ts +38 -0
- package/build/.spruce/events/mySkill163493473102035607/myCoolEvent.v2021_01_22.contract.js +48 -0
- package/build/.spruce/events/mySkill163493473102035607/myCoolEvent.v2021_01_22.contract.js.map +1 -0
- package/build/.spruce/events/mySkill163493479880935941/myCoolEvent.v2021_01_22.contract.d.ts +38 -0
- package/build/.spruce/events/mySkill163493479880935941/myCoolEvent.v2021_01_22.contract.js +48 -0
- package/build/.spruce/events/mySkill163493479880935941/myCoolEvent.v2021_01_22.contract.js.map +1 -0
- package/build/.spruce/schemas/appointments/v2021_06_23/appointments.schema.d.ts +3 -0
- package/build/.spruce/schemas/appointments/v2021_06_23/appointments.schema.js +28 -0
- package/build/.spruce/schemas/appointments/v2021_06_23/appointments.schema.js.map +1 -0
- package/build/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsEmitPayload.schema.d.ts +3 -0
- package/build/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsEmitPayload.schema.js +36 -0
- package/build/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsEmitPayload.schema.js.map +1 -0
- package/build/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsEmitTarget.schema.d.ts +3 -0
- package/build/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsEmitTarget.schema.js +28 -0
- package/build/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsEmitTarget.schema.js.map +1 -0
- package/build/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsEmitTargetAndPayload.schema.d.ts +3 -0
- package/build/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsEmitTargetAndPayload.schema.js +56 -0
- package/build/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsEmitTargetAndPayload.schema.js.map +1 -0
- package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitTargetAndPayload.schema.js +0 -10
- package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
- package/build/.spruce/schemas/schemas.types.d.ts +678 -604
- package/build/.spruce/schemas/schemas.types.js.map +1 -1
- package/build/__tests__/behavioral/AddingADependency.test.d.ts +9 -0
- package/build/__tests__/behavioral/AddingADependency.test.js +273 -0
- package/build/__tests__/behavioral/AddingADependency.test.js.map +1 -0
- package/build/__tests__/behavioral/CreatingADataStore.test.js.map +1 -1
- package/build/__tests__/behavioral/ManagingDependencies.test.d.ts +9 -0
- package/build/__tests__/behavioral/ManagingDependencies.test.js +279 -0
- package/build/__tests__/behavioral/ManagingDependencies.test.js.map +1 -0
- package/build/__tests__/behavioral/SyncingEventsOnlyFromDependencies.test.d.ts +8 -0
- package/build/__tests__/behavioral/SyncingEventsOnlyFromDependencies.test.js +209 -0
- package/build/__tests__/behavioral/SyncingEventsOnlyFromDependencies.test.js.map +1 -0
- package/build/__tests__/behavioral/events/CreatingAListener.test.js +9 -5
- package/build/__tests__/behavioral/events/CreatingAListener.test.js.map +1 -1
- package/build/__tests__/behavioral/events/KeepingEventsInSync.test.js +14 -7
- package/build/__tests__/behavioral/events/KeepingEventsInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js +43 -12
- package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js.map +1 -1
- package/build/__tests__/behavioral/views/CreatingATheme.test.js +8 -2
- package/build/__tests__/behavioral/views/CreatingATheme.test.js.map +1 -1
- package/build/__tests__/behavioral/views/SettingUpViews.test.d.ts +1 -0
- package/build/__tests__/behavioral/views/SettingUpViews.test.js +48 -3
- package/build/__tests__/behavioral/views/SettingUpViews.test.js.map +1 -1
- package/build/__tests__/implementation/EventStore.test.js +4 -3
- package/build/__tests__/implementation/EventStore.test.js.map +1 -1
- package/build/__tests__/implementation/EventTemplateItemBuilder.test.d.ts +1 -0
- package/build/__tests__/implementation/EventTemplateItemBuilder.test.js +21 -3
- package/build/__tests__/implementation/EventTemplateItemBuilder.test.js.map +1 -1
- package/build/errors/SpruceError.js +2 -2
- package/build/errors/SpruceError.js.map +1 -1
- package/build/features/FeatureInstaller.d.ts +1 -1
- package/build/features/FeatureInstallerFactory.js +4 -2
- package/build/features/FeatureInstallerFactory.js.map +1 -1
- package/build/features/dependencies/DependencyFeature.d.ts +16 -0
- package/build/features/dependencies/DependencyFeature.js +92 -0
- package/build/features/dependencies/DependencyFeature.js.map +1 -0
- package/build/features/dependencies/actions/AddAction.d.ts +33 -0
- package/build/features/dependencies/actions/AddAction.js +154 -0
- package/build/features/dependencies/actions/AddAction.js.map +1 -0
- package/build/features/dependencies/actions/ManageAction.d.ts +19 -0
- package/build/features/dependencies/actions/ManageAction.js +161 -0
- package/build/features/dependencies/actions/ManageAction.js.map +1 -0
- package/build/features/event/EventFeature.js +2 -1
- package/build/features/event/EventFeature.js.map +1 -1
- package/build/features/event/builders/EventContractBuilder.d.ts +3 -0
- package/build/features/event/builders/EventContractBuilder.js +12 -8
- package/build/features/event/builders/EventContractBuilder.js.map +1 -1
- package/build/features/event/stores/EventStore.d.ts +2 -1
- package/build/features/event/stores/EventStore.js +33 -25
- package/build/features/event/stores/EventStore.js.map +1 -1
- package/build/features/schema/actions/SyncAction.js +4 -2
- package/build/features/schema/actions/SyncAction.js.map +1 -1
- package/build/features/skill/actions/RebuildAction.js +1 -1
- package/build/features/skill/actions/RebuildAction.js.map +1 -1
- package/build/features/skill/stores/SkillStore.d.ts +4 -0
- package/build/features/skill/stores/SkillStore.js +39 -15
- package/build/features/skill/stores/SkillStore.js.map +1 -1
- package/build/features/view/ViewFeature.js +5 -1
- package/build/features/view/ViewFeature.js.map +1 -1
- package/build/interfaces/SpyInterface.d.ts +2 -1
- package/build/interfaces/SpyInterface.js +67 -7
- package/build/interfaces/SpyInterface.js.map +1 -1
- package/build/services/DependencyService.d.ts +13 -0
- package/build/services/DependencyService.js +49 -0
- package/build/services/DependencyService.js.map +1 -0
- package/build/services/ServiceFactory.d.ts +2 -0
- package/build/services/ServiceFactory.js +5 -0
- package/build/services/ServiceFactory.js.map +1 -1
- package/build/templateItemBuilders/EventTemplateItemBuilder.js +9 -0
- package/build/templateItemBuilders/EventTemplateItemBuilder.js.map +1 -1
- package/build/tests/AbstractCliTest.js +2 -36
- package/build/tests/AbstractCliTest.js.map +1 -1
- package/build/tests/fixtures/SkillFixture.d.ts +2 -0
- package/build/tests/fixtures/SkillFixture.js +8 -8
- package/build/tests/fixtures/SkillFixture.js.map +1 -1
- package/build/utilities/action.utility.js +1 -5
- package/build/utilities/action.utility.js.map +1 -1
- package/package.json +29 -29
- package/src/.spruce/events/appointments/didBookAppointments.v2021_06_23.contract.ts +15 -0
- package/src/.spruce/events/events.contract.ts +32 -8
- package/src/.spruce/events/forms/convertPdfToForm.v2021_07_02.contract.ts +20 -2
- package/src/.spruce/events/forms/convertPdfToSchemas.v2021_07_02.contract.ts +20 -2
- package/src/.spruce/events/forms/createForm.v2021_07_02.contract.ts +20 -2
- package/src/.spruce/events/forms/deleteCompletedForm.v2021_07_02.contract.ts +20 -2
- package/src/.spruce/events/forms/getCompletedForm.v2021_07_02.contract.ts +15 -0
- package/src/.spruce/events/forms/listCompletedForms.v2021_07_02.contract.ts +20 -3
- package/src/.spruce/events/forms/listForms.v2021_07_02.contract.ts +38 -4
- package/src/.spruce/events/heartwood/didRegisterSkillViews.v2021_02_11.contract.ts +15 -0
- package/src/.spruce/events/heartwood/generateUrl.v2021_02_11.contract.ts +21 -4
- package/src/.spruce/events/heartwood/getSkillViews.v2021_02_11.contract.ts +21 -1
- package/src/.spruce/events/mySkill163459634973936127/myCoolEvent.v2021_01_22.contract.ts +45 -0
- package/src/.spruce/events/mySkill163493473102035607/myCoolEvent.v2021_01_22.contract.ts +45 -0
- package/src/.spruce/events/mySkill163493479880935941/myCoolEvent.v2021_01_22.contract.ts +45 -0
- package/src/.spruce/schemas/appointments/v2021_06_23/appointments.schema.ts +22 -0
- package/src/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsEmitPayload.schema.ts +24 -0
- package/src/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsEmitTarget.schema.ts +22 -0
- package/src/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsEmitTargetAndPayload.schema.ts +36 -0
- package/src/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitTargetAndPayload.schema.ts +0 -6
- package/src/.spruce/schemas/schemas.types.ts +815 -720
- package/src/__tests__/behavioral/AddingADependency.test.ts +98 -0
- package/src/__tests__/behavioral/CreatingADataStore.test.ts +2 -0
- package/src/__tests__/behavioral/ManagingDependencies.test.ts +115 -0
- package/src/__tests__/behavioral/SyncingEventsOnlyFromDependencies.test.ts +70 -0
- package/src/__tests__/behavioral/events/CreatingAListener.test.ts +5 -0
- package/src/__tests__/behavioral/events/KeepingEventsInSync.test.ts +6 -0
- package/src/__tests__/behavioral/events/KeepingEventsInSync2.test.ts +27 -0
- package/src/__tests__/behavioral/views/CreatingATheme.test.ts +4 -0
- package/src/__tests__/behavioral/views/SettingUpViews.test.ts +23 -0
- package/src/__tests__/implementation/EventStore.test.ts +5 -2
- package/src/__tests__/implementation/EventTemplateItemBuilder.test.ts +20 -1
- package/src/errors/SpruceError.ts +1 -1
- package/src/features/FeatureInstallerFactory.ts +3 -0
- package/src/features/dependencies/DependencyFeature.ts +27 -0
- package/src/features/dependencies/actions/AddAction.ts +63 -0
- package/src/features/dependencies/actions/ManageAction.ts +84 -0
- package/src/features/event/EventFeature.ts +1 -0
- package/src/features/event/builders/EventContractBuilder.ts +9 -2
- package/src/features/event/stores/EventStore.ts +20 -11
- package/src/features/schema/actions/SyncAction.ts +6 -3
- package/src/features/skill/actions/RebuildAction.ts +6 -1
- package/src/features/skill/stores/SkillStore.ts +8 -1
- package/src/features/view/ViewFeature.ts +5 -0
- package/src/interfaces/SpyInterface.ts +29 -2
- package/src/services/DependencyService.ts +27 -0
- package/src/services/ServiceFactory.ts +6 -0
- package/src/templateItemBuilders/EventTemplateItemBuilder.ts +10 -0
- package/src/tests/AbstractCliTest.ts +1 -21
- package/src/tests/fixtures/SkillFixture.ts +6 -2
- package/src/utilities/action.utility.ts +1 -6
- package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitTarget.schema.d.ts +0 -3
- package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitTarget.schema.js +0 -28
- package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitTarget.schema.js.map +0 -1
- package/src/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitTarget.schema.ts +0 -22
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import AbstractSkillTest from '../../tests/AbstractSkillTest';
|
|
2
|
+
export default class ConfiguringDependenciesTest extends AbstractSkillTest {
|
|
3
|
+
protected static skillCacheKey: string;
|
|
4
|
+
protected static hasAddDependencyAction(): Promise<void>;
|
|
5
|
+
protected static errorsWhenPassedBadSlug(): Promise<void>;
|
|
6
|
+
protected static succeedsWhenPassedGoodSlug(): Promise<void>;
|
|
7
|
+
protected static asksToSelectSkillWhenNoSlugPassed(): Promise<void>;
|
|
8
|
+
protected static canAddSkillThatWasCreatedBySomeoneElse(): Promise<void>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
|
|
10
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
+
|
|
12
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
|
+
|
|
14
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
15
|
+
|
|
16
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
17
|
+
|
|
18
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
19
|
+
|
|
20
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
21
|
+
|
|
22
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
23
|
+
|
|
24
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
25
|
+
|
|
26
|
+
var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor"));
|
|
27
|
+
|
|
28
|
+
var _test = require("@sprucelabs/test");
|
|
29
|
+
|
|
30
|
+
var _testUtils = require("@sprucelabs/test-utils");
|
|
31
|
+
|
|
32
|
+
var _AbstractSkillTest2 = _interopRequireDefault(require("../../tests/AbstractSkillTest"));
|
|
33
|
+
|
|
34
|
+
var _dec, _dec2, _dec3, _dec4, _dec5, _class, _class2, _temp;
|
|
35
|
+
|
|
36
|
+
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
|
+
|
|
38
|
+
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
|
+
|
|
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) {
|
|
41
|
+
(0, _inherits2["default"])(ConfiguringDependenciesTest, _AbstractSkillTest);
|
|
42
|
+
|
|
43
|
+
var _super = _createSuper(ConfiguringDependenciesTest);
|
|
44
|
+
|
|
45
|
+
function ConfiguringDependenciesTest() {
|
|
46
|
+
(0, _classCallCheck2["default"])(this, ConfiguringDependenciesTest);
|
|
47
|
+
return _super.apply(this, arguments);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
(0, _createClass2["default"])(ConfiguringDependenciesTest, null, [{
|
|
51
|
+
key: "hasAddDependencyAction",
|
|
52
|
+
value: function () {
|
|
53
|
+
var _hasAddDependencyAction = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
54
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
55
|
+
while (1) {
|
|
56
|
+
switch (_context.prev = _context.next) {
|
|
57
|
+
case 0:
|
|
58
|
+
_test.assert.isFunction(this.Action('dependency', 'add').execute);
|
|
59
|
+
|
|
60
|
+
case 1:
|
|
61
|
+
case "end":
|
|
62
|
+
return _context.stop();
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}, _callee, this);
|
|
66
|
+
}));
|
|
67
|
+
|
|
68
|
+
function hasAddDependencyAction() {
|
|
69
|
+
return _hasAddDependencyAction.apply(this, arguments);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
return hasAddDependencyAction;
|
|
73
|
+
}()
|
|
74
|
+
}, {
|
|
75
|
+
key: "errorsWhenPassedBadSlug",
|
|
76
|
+
value: function () {
|
|
77
|
+
var _errorsWhenPassedBadSlug = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
78
|
+
var results;
|
|
79
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
80
|
+
while (1) {
|
|
81
|
+
switch (_context2.prev = _context2.next) {
|
|
82
|
+
case 0:
|
|
83
|
+
_context2.next = 2;
|
|
84
|
+
return this.getSkillFixture().registerCurrentSkill({
|
|
85
|
+
name: 'current skill in adding deps'
|
|
86
|
+
});
|
|
87
|
+
|
|
88
|
+
case 2:
|
|
89
|
+
_context2.next = 4;
|
|
90
|
+
return this.Action('dependency', 'add').execute({
|
|
91
|
+
namespace: 'waka-waka'
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
case 4:
|
|
95
|
+
results = _context2.sent;
|
|
96
|
+
|
|
97
|
+
_test.assert.isTruthy(results.errors);
|
|
98
|
+
|
|
99
|
+
_testUtils.errorAssertUtil.assertError(results.errors[0], 'SKILL_NOT_FOUND');
|
|
100
|
+
|
|
101
|
+
case 7:
|
|
102
|
+
case "end":
|
|
103
|
+
return _context2.stop();
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}, _callee2, this);
|
|
107
|
+
}));
|
|
108
|
+
|
|
109
|
+
function errorsWhenPassedBadSlug() {
|
|
110
|
+
return _errorsWhenPassedBadSlug.apply(this, arguments);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
return errorsWhenPassedBadSlug;
|
|
114
|
+
}()
|
|
115
|
+
}, {
|
|
116
|
+
key: "succeedsWhenPassedGoodSlug",
|
|
117
|
+
value: function () {
|
|
118
|
+
var _succeedsWhenPassedGoodSlug = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
|
|
119
|
+
var otherSkill, results, settings, dependencies;
|
|
120
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
121
|
+
while (1) {
|
|
122
|
+
switch (_context3.prev = _context3.next) {
|
|
123
|
+
case 0:
|
|
124
|
+
_context3.next = 2;
|
|
125
|
+
return this.getSkillFixture().seedDemoSkill({
|
|
126
|
+
name: 'dependent skill'
|
|
127
|
+
});
|
|
128
|
+
|
|
129
|
+
case 2:
|
|
130
|
+
otherSkill = _context3.sent;
|
|
131
|
+
_context3.next = 5;
|
|
132
|
+
return this.Action('dependency', 'add').execute({
|
|
133
|
+
namespace: otherSkill.slug
|
|
134
|
+
});
|
|
135
|
+
|
|
136
|
+
case 5:
|
|
137
|
+
results = _context3.sent;
|
|
138
|
+
|
|
139
|
+
_test.assert.isFalsy(results.errors);
|
|
140
|
+
|
|
141
|
+
settings = this.Service('settings');
|
|
142
|
+
dependencies = settings.get('dependencies');
|
|
143
|
+
|
|
144
|
+
_test.assert.isEqualDeep(dependencies, [{
|
|
145
|
+
id: otherSkill.id,
|
|
146
|
+
namespace: otherSkill.slug
|
|
147
|
+
}]);
|
|
148
|
+
|
|
149
|
+
case 10:
|
|
150
|
+
case "end":
|
|
151
|
+
return _context3.stop();
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
}, _callee3, this);
|
|
155
|
+
}));
|
|
156
|
+
|
|
157
|
+
function succeedsWhenPassedGoodSlug() {
|
|
158
|
+
return _succeedsWhenPassedGoodSlug.apply(this, arguments);
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
return succeedsWhenPassedGoodSlug;
|
|
162
|
+
}()
|
|
163
|
+
}, {
|
|
164
|
+
key: "asksToSelectSkillWhenNoSlugPassed",
|
|
165
|
+
value: function () {
|
|
166
|
+
var _asksToSelectSkillWhenNoSlugPassed = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
|
|
167
|
+
var otherSkill, promise, last, results, settings, dependencies;
|
|
168
|
+
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
169
|
+
while (1) {
|
|
170
|
+
switch (_context4.prev = _context4.next) {
|
|
171
|
+
case 0:
|
|
172
|
+
_context4.next = 2;
|
|
173
|
+
return this.getSkillFixture().seedDemoSkill({
|
|
174
|
+
name: 'dependent skill'
|
|
175
|
+
});
|
|
176
|
+
|
|
177
|
+
case 2:
|
|
178
|
+
otherSkill = _context4.sent;
|
|
179
|
+
promise = this.Action('dependency', 'add').execute({});
|
|
180
|
+
_context4.next = 6;
|
|
181
|
+
return this.waitForInput();
|
|
182
|
+
|
|
183
|
+
case 6:
|
|
184
|
+
last = this.ui.lastInvocation();
|
|
185
|
+
|
|
186
|
+
_test.assert.doesInclude(last.options.options.choices, {
|
|
187
|
+
value: otherSkill.slug,
|
|
188
|
+
label: otherSkill.name
|
|
189
|
+
});
|
|
190
|
+
|
|
191
|
+
_context4.next = 10;
|
|
192
|
+
return this.ui.sendInput(otherSkill.slug);
|
|
193
|
+
|
|
194
|
+
case 10:
|
|
195
|
+
_context4.next = 12;
|
|
196
|
+
return promise;
|
|
197
|
+
|
|
198
|
+
case 12:
|
|
199
|
+
results = _context4.sent;
|
|
200
|
+
|
|
201
|
+
_test.assert.isFalsy(results.errors);
|
|
202
|
+
|
|
203
|
+
settings = this.Service('settings');
|
|
204
|
+
dependencies = settings.get('dependencies');
|
|
205
|
+
|
|
206
|
+
_test.assert.isEqualDeep(dependencies[1], {
|
|
207
|
+
id: otherSkill.id,
|
|
208
|
+
namespace: otherSkill.slug
|
|
209
|
+
});
|
|
210
|
+
|
|
211
|
+
case 17:
|
|
212
|
+
case "end":
|
|
213
|
+
return _context4.stop();
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
}, _callee4, this);
|
|
217
|
+
}));
|
|
218
|
+
|
|
219
|
+
function asksToSelectSkillWhenNoSlugPassed() {
|
|
220
|
+
return _asksToSelectSkillWhenNoSlugPassed.apply(this, arguments);
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
return asksToSelectSkillWhenNoSlugPassed;
|
|
224
|
+
}()
|
|
225
|
+
}, {
|
|
226
|
+
key: "canAddSkillThatWasCreatedBySomeoneElse",
|
|
227
|
+
value: function () {
|
|
228
|
+
var _canAddSkillThatWasCreatedBySomeoneElse = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
|
|
229
|
+
var skill, results;
|
|
230
|
+
return _regenerator["default"].wrap(function _callee5$(_context5) {
|
|
231
|
+
while (1) {
|
|
232
|
+
switch (_context5.prev = _context5.next) {
|
|
233
|
+
case 0:
|
|
234
|
+
_context5.next = 2;
|
|
235
|
+
return this.getSkillFixture().seedDemoSkill({
|
|
236
|
+
name: 'global dependency skill'
|
|
237
|
+
});
|
|
238
|
+
|
|
239
|
+
case 2:
|
|
240
|
+
skill = _context5.sent;
|
|
241
|
+
_context5.next = 5;
|
|
242
|
+
return this.getPersonFixture().loginAsDemoPerson(process.env.DEMO_NUMBER_GLOBAL_EVENTS);
|
|
243
|
+
|
|
244
|
+
case 5:
|
|
245
|
+
_context5.next = 7;
|
|
246
|
+
return this.Action('dependency', 'add').execute({
|
|
247
|
+
namespace: skill.slug
|
|
248
|
+
});
|
|
249
|
+
|
|
250
|
+
case 7:
|
|
251
|
+
results = _context5.sent;
|
|
252
|
+
|
|
253
|
+
_test.assert.isFalsy(results.errors);
|
|
254
|
+
|
|
255
|
+
case 9:
|
|
256
|
+
case "end":
|
|
257
|
+
return _context5.stop();
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
}, _callee5, this);
|
|
261
|
+
}));
|
|
262
|
+
|
|
263
|
+
function canAddSkillThatWasCreatedBySomeoneElse() {
|
|
264
|
+
return _canAddSkillThatWasCreatedBySomeoneElse.apply(this, arguments);
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
return canAddSkillThatWasCreatedBySomeoneElse;
|
|
268
|
+
}()
|
|
269
|
+
}]);
|
|
270
|
+
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));
|
|
272
|
+
exports["default"] = ConfiguringDependenciesTest;
|
|
273
|
+
//# sourceMappingURL=AddingADependency.test.js.map
|
|
@@ -0,0 +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 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/__tests__/behavioral/CreatingADataStore.test.ts"],"names":["CreatingDataStoresTest","assert","isFunction","Action","execute","cli","checkHealth","isRunningLocally","health","isFalsy","skill","errors","isTruthy","store","isArray","stores","isLength","nameReadable","nameReadablePlural","namePascal","results","path","testUtil","assertFileByNameInGeneratedFiles","files","Service","check","isEqual","name","errorAssertUtil","assertError","storeContents","diskUtil","readFile","replace","writeFile","testFile","resolveTestPath","testContents","dest","resolvePath","isFalse","doesFileExist","getAbstractTestPath","CommandService","setMockResponse","code","storesFile","resolveHashSprucePath","deleteFile","isTrue","AbstractSkillTest"],"mappings":"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","sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport { errorAssertUtil } from '@sprucelabs/test-utils'\nimport '@sprucelabs/spruce-store-plugin'\nimport CommandService from '../../services/CommandService'\nimport AbstractSkillTest from '../../tests/AbstractSkillTest'\nimport testUtil from '../../tests/utilities/test.utility'\n\nexport default class CreatingDataStoresTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'stores'\n\t@test()\n\tprotected static async hasCreateStoreAction() {\n\t\tassert.isFunction(this.Action('store', 'create').execute)\n\t}\n\n\t@test()\n\tprotected static async getsNoStoresBackFromHealthCheck() {\n\t\tconst health = await this.cli.checkHealth({ isRunningLocally: true })\n\n\t\tassert.isFalsy(health.skill.errors)\n\t\tassert.isTruthy(health.store)\n\t\tassert.isFalsy(health.store.errors)\n\t\tassert.isArray(health.store.stores)\n\t\tassert.isLength(health.store.stores, 0)\n\t}\n\n\t@test()\n\tprotected static async generatesValidStoreFile() {\n\t\tconst results = await this.Action('store', 'create').execute({\n\t\t\tnameReadable: 'Person',\n\t\t\tnameReadablePlural: 'People',\n\t\t\tnamePascal: 'Person',\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst path = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'People.store.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tawait this.Service('typeChecker').check(path)\n\t}\n\n\t@test()\n\tprotected static async getsOneStoresBackFromHealthCheck() {\n\t\tconst health = await this.cli.checkHealth({ isRunningLocally: true })\n\t\tassert.isTruthy(health.store)\n\t\tassert.isFalsy(health.store.errors)\n\t\tassert.isLength(health.store.stores, 1)\n\t\tassert.isEqual(health.store.stores[0].name, 'People')\n\t}\n\n\t@test()\n\tprotected static async canGenerateASecondStoreFile() {\n\t\tconst results = await this.Action('store', 'create').execute({\n\t\t\tnameReadable: 'Bid',\n\t\t\tnameReadablePlural: 'Bids',\n\t\t\tnamePascal: 'Bid',\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst path = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'Bids.store.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tawait this.Service('typeChecker').check(path)\n\t}\n\n\t@test()\n\tprotected static async getsSecondStoresBackFromHealthCheck() {\n\t\tconst health = await this.cli.checkHealth({ isRunningLocally: true })\n\t\tassert.isTruthy(health.store)\n\t\tassert.isFalsy(health.store.errors)\n\t\tassert.isLength(health.store.stores, 2)\n\t\tassert.isEqual(health.store.stores[0].name, 'Bids')\n\t\tassert.isEqual(health.store.stores[1].name, 'People')\n\t}\n\n\t@test()\n\tprotected static async errorsWhenGeneratingAStoreWithTheSameName() {\n\t\tconst results = await this.Action('store', 'create').execute({\n\t\t\tnameReadable: 'Bid',\n\t\t\tnameReadablePlural: 'Bids',\n\t\t\tnamePascal: 'Bid',\n\t\t})\n\n\t\tassert.isTruthy(results.errors)\n\t\terrorAssertUtil.assertError(results.errors[0], 'STORE_EXISTS')\n\t}\n\n\t@test()\n\tprotected static async storeFactoryAndStoresAreTyped() {\n\t\tconst results = await this.Action('store', 'create').execute({\n\t\t\tnameReadable: 'Product',\n\t\t\tnameReadablePlural: 'Products',\n\t\t\tnamePascal: 'Product',\n\t\t})\n\n\t\tconst path = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'Products.store.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tconst storeContents = diskUtil\n\t\t\t.readFile(path)\n\t\t\t.replace(\n\t\t\t\t'type ProductsStoreOptions = UniversalStoreOptions',\n\t\t\t\t'type ProductsStoreOptions = UniversalStoreOptions & {hello: string}'\n\t\t\t)\n\n\t\tdiskUtil.writeFile(path, storeContents)\n\n\t\tconst testFile = this.resolveTestPath('store-test.ts.hbs')\n\t\tconst testContents = diskUtil.readFile(testFile)\n\n\t\tconst dest = this.resolvePath('src', 'test.ts')\n\t\tdiskUtil.writeFile(dest, testContents)\n\n\t\tawait this.Service('typeChecker').check(dest)\n\t}\n\n\t@test()\n\tprotected static async doesNotCreateAbstractTestFileBecauseTestIsNotInstalled() {\n\t\tassert.isFalse(\n\t\t\tdiskUtil.doesFileExist(CreatingDataStoresTest.getAbstractTestPath())\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async upgradeRestoresDataStoreTypes() {\n\t\tCommandService.setMockResponse('yarn rebuild', {\n\t\t\tcode: 0,\n\t\t})\n\n\t\tCommandService.setMockResponse(/yarn add/gis, {\n\t\t\tcode: 0,\n\t\t})\n\n\t\tconst storesFile = this.resolveHashSprucePath('stores/stores.types.ts')\n\t\tdiskUtil.deleteFile(storesFile)\n\t\tawait this.Action('node', 'upgrade').execute({})\n\t\tassert.isTrue(diskUtil.doesFileExist(storesFile))\n\t}\n\n\tprivate static getAbstractTestPath(): string {\n\t\treturn this.resolvePath('src', 'tests', 'AbstractDataStoreTest.ts')\n\t}\n}\n"],"file":"CreatingADataStore.test.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/__tests__/behavioral/CreatingADataStore.test.ts"],"names":["CreatingDataStoresTest","assert","isFunction","Action","execute","cli","checkHealth","isRunningLocally","health","isFalsy","skill","errors","isTruthy","store","isArray","stores","isLength","nameReadable","nameReadablePlural","namePascal","results","path","testUtil","assertFileByNameInGeneratedFiles","files","Service","check","isEqual","name","errorAssertUtil","assertError","storeContents","diskUtil","readFile","replace","writeFile","testFile","resolveTestPath","testContents","dest","resolvePath","isFalse","doesFileExist","getAbstractTestPath","CommandService","setMockResponse","code","storesFile","resolveHashSprucePath","deleteFile","isTrue","AbstractSkillTest"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;IAEqBA,sB,WAGnB,iB,UAKA,iB,UAWA,iB,UAkBA,iB,UASA,iB,UAkBA,iB,UAWA,iB,UAYA,iB,UA+BA,iB,WAOA,iB;;;;;;;;;;;;;gHA1HD;AAAA;AAAA;AAAA;AAAA;AAECC,6BAAOC,UAAP,CAAkB,KAAKC,MAAL,CAAY,OAAZ,EAAqB,QAArB,EAA+BC,OAAjD;;AAFD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;2HAKA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEsB,KAAKC,GAAL,CAASC,WAAT,CAAqB;AAAEC,kBAAAA,gBAAgB,EAAE;AAApB,iBAArB,CAFtB;;AAAA;AAEOC,gBAAAA,MAFP;;AAICP,6BAAOQ,OAAP,CAAeD,MAAM,CAACE,KAAP,CAAaC,MAA5B;;AACAV,6BAAOW,QAAP,CAAgBJ,MAAM,CAACK,KAAvB;;AACAZ,6BAAOQ,OAAP,CAAeD,MAAM,CAACK,KAAP,CAAaF,MAA5B;;AACAV,6BAAOa,OAAP,CAAeN,MAAM,CAACK,KAAP,CAAaE,MAA5B;;AACAd,6BAAOe,QAAP,CAAgBR,MAAM,CAACK,KAAP,CAAaE,MAA7B,EAAqC,CAArC;;AARD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;mHAWA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEuB,KAAKZ,MAAL,CAAY,OAAZ,EAAqB,QAArB,EAA+BC,OAA/B,CAAuC;AAC5Da,kBAAAA,YAAY,EAAE,QAD8C;AAE5DC,kBAAAA,kBAAkB,EAAE,QAFwC;AAG5DC,kBAAAA,UAAU,EAAE;AAHgD,iBAAvC,CAFvB;;AAAA;AAEOC,gBAAAA,OAFP;;AAQCnB,6BAAOQ,OAAP,CAAeW,OAAO,CAACT,MAAvB;;AAEMU,gBAAAA,IAVP,GAUcC,kBAASC,gCAAT,CACZ,iBADY,EAEZH,OAAO,CAACI,KAFI,CAVd;AAAA;AAAA,uBAeO,KAAKC,OAAL,CAAa,aAAb,EAA4BC,KAA5B,CAAkCL,IAAlC,CAfP;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;4HAkBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEsB,KAAKhB,GAAL,CAASC,WAAT,CAAqB;AAAEC,kBAAAA,gBAAgB,EAAE;AAApB,iBAArB,CAFtB;;AAAA;AAEOC,gBAAAA,MAFP;;AAGCP,6BAAOW,QAAP,CAAgBJ,MAAM,CAACK,KAAvB;;AACAZ,6BAAOQ,OAAP,CAAeD,MAAM,CAACK,KAAP,CAAaF,MAA5B;;AACAV,6BAAOe,QAAP,CAAgBR,MAAM,CAACK,KAAP,CAAaE,MAA7B,EAAqC,CAArC;;AACAd,6BAAO0B,OAAP,CAAenB,MAAM,CAACK,KAAP,CAAaE,MAAb,CAAoB,CAApB,EAAuBa,IAAtC,EAA4C,QAA5C;;AAND;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;uHASA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEuB,KAAKzB,MAAL,CAAY,OAAZ,EAAqB,QAArB,EAA+BC,OAA/B,CAAuC;AAC5Da,kBAAAA,YAAY,EAAE,KAD8C;AAE5DC,kBAAAA,kBAAkB,EAAE,MAFwC;AAG5DC,kBAAAA,UAAU,EAAE;AAHgD,iBAAvC,CAFvB;;AAAA;AAEOC,gBAAAA,OAFP;;AAQCnB,6BAAOQ,OAAP,CAAeW,OAAO,CAACT,MAAvB;;AAEMU,gBAAAA,IAVP,GAUcC,kBAASC,gCAAT,CACZ,eADY,EAEZH,OAAO,CAACI,KAFI,CAVd;AAAA;AAAA,uBAeO,KAAKC,OAAL,CAAa,aAAb,EAA4BC,KAA5B,CAAkCL,IAAlC,CAfP;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;+HAkBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEsB,KAAKhB,GAAL,CAASC,WAAT,CAAqB;AAAEC,kBAAAA,gBAAgB,EAAE;AAApB,iBAArB,CAFtB;;AAAA;AAEOC,gBAAAA,MAFP;;AAICP,6BAAOW,QAAP,CAAgBJ,MAAM,CAACK,KAAvB;;AACAZ,6BAAOQ,OAAP,CAAeD,MAAM,CAACK,KAAP,CAAaF,MAA5B;;AACAV,6BAAOe,QAAP,CAAgBR,MAAM,CAACK,KAAP,CAAaE,MAA7B,EAAqC,CAArC;;AACAd,6BAAO0B,OAAP,CAAenB,MAAM,CAACK,KAAP,CAAaE,MAAb,CAAoB,CAApB,EAAuBa,IAAtC,EAA4C,MAA5C;;AACA3B,6BAAO0B,OAAP,CAAenB,MAAM,CAACK,KAAP,CAAaE,MAAb,CAAoB,CAApB,EAAuBa,IAAtC,EAA4C,QAA5C;;AARD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;qIAWA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEuB,KAAKzB,MAAL,CAAY,OAAZ,EAAqB,QAArB,EAA+BC,OAA/B,CAAuC;AAC5Da,kBAAAA,YAAY,EAAE,KAD8C;AAE5DC,kBAAAA,kBAAkB,EAAE,MAFwC;AAG5DC,kBAAAA,UAAU,EAAE;AAHgD,iBAAvC,CAFvB;;AAAA;AAEOC,gBAAAA,OAFP;;AAQCnB,6BAAOW,QAAP,CAAgBQ,OAAO,CAACT,MAAxB;;AACAkB,2CAAgBC,WAAhB,CAA4BV,OAAO,CAACT,MAAR,CAAe,CAAf,CAA5B,EAA+C,cAA/C;;AATD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;yHAYA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEuB,KAAKR,MAAL,CAAY,OAAZ,EAAqB,QAArB,EAA+BC,OAA/B,CAAuC;AAC5Da,kBAAAA,YAAY,EAAE,SAD8C;AAE5DC,kBAAAA,kBAAkB,EAAE,UAFwC;AAG5DC,kBAAAA,UAAU,EAAE;AAHgD,iBAAvC,CAFvB;;AAAA;AAEOC,gBAAAA,OAFP;AAQOC,gBAAAA,IARP,GAQcC,kBAASC,gCAAT,CACZ,mBADY,EAEZH,OAAO,CAACI,KAFI,CARd;AAaOO,gBAAAA,aAbP,GAauBC,2BACpBC,QADoB,CACXZ,IADW,EAEpBa,OAFoB,CAGpB,mDAHoB,EAIpB,qEAJoB,CAbvB;;AAoBCF,2CAASG,SAAT,CAAmBd,IAAnB,EAAyBU,aAAzB;;AAEMK,gBAAAA,QAtBP,GAsBkB,KAAKC,eAAL,CAAqB,mBAArB,CAtBlB;AAuBOC,gBAAAA,YAvBP,GAuBsBN,2BAASC,QAAT,CAAkBG,QAAlB,CAvBtB;AAyBOG,gBAAAA,IAzBP,GAyBc,KAAKC,WAAL,CAAiB,KAAjB,EAAwB,SAAxB,CAzBd;;AA0BCR,2CAASG,SAAT,CAAmBI,IAAnB,EAAyBD,YAAzB;;AA1BD;AAAA,uBA4BO,KAAKb,OAAL,CAAa,aAAb,EAA4BC,KAA5B,CAAkCa,IAAlC,CA5BP;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;kJA+BA;AAAA;AAAA;AAAA;AAAA;AAECtC,6BAAOwC,OAAP,CACCT,2BAASU,aAAT,CAAuB1C,sBAAsB,CAAC2C,mBAAvB,EAAvB,CADD;;AAFD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;yHAOA;AAAA;AAAA;AAAA;AAAA;AAAA;AAECC,2CAAeC,eAAf,CAA+B,cAA/B,EAA+C;AAC9CC,kBAAAA,IAAI,EAAE;AADwC,iBAA/C;;AAIAF,2CAAeC,eAAf,CAA+B,YAA/B,EAA8C;AAC7CC,kBAAAA,IAAI,EAAE;AADuC,iBAA9C;;AAIMC,gBAAAA,UAVP,GAUoB,KAAKC,qBAAL,CAA2B,wBAA3B,CAVpB;;AAWChB,2CAASiB,UAAT,CAAoBF,UAApB;;AAXD;AAAA,uBAYO,KAAK5C,MAAL,CAAY,MAAZ,EAAoB,SAApB,EAA+BC,OAA/B,CAAuC,EAAvC,CAZP;;AAAA;AAaCH,6BAAOiD,MAAP,CAAclB,2BAASU,aAAT,CAAuBK,UAAvB,CAAd;;AAbD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;WAgBA,+BAA6C;AAC5C,aAAO,KAAKP,WAAL,CAAiB,KAAjB,EAAwB,OAAxB,EAAiC,0BAAjC,CAAP;AACA;;;EA/IkDW,8B,8DAClB,Q","sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport { errorAssertUtil } from '@sprucelabs/test-utils'\nimport '@sprucelabs/spruce-store-plugin'\nimport CommandService from '../../services/CommandService'\nimport AbstractSkillTest from '../../tests/AbstractSkillTest'\nimport testUtil from '../../tests/utilities/test.utility'\n\nexport default class CreatingDataStoresTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'stores'\n\n\t@test()\n\tprotected static async hasCreateStoreAction() {\n\t\tassert.isFunction(this.Action('store', 'create').execute)\n\t}\n\n\t@test()\n\tprotected static async getsNoStoresBackFromHealthCheck() {\n\t\tconst health = await this.cli.checkHealth({ isRunningLocally: true })\n\n\t\tassert.isFalsy(health.skill.errors)\n\t\tassert.isTruthy(health.store)\n\t\tassert.isFalsy(health.store.errors)\n\t\tassert.isArray(health.store.stores)\n\t\tassert.isLength(health.store.stores, 0)\n\t}\n\n\t@test()\n\tprotected static async generatesValidStoreFile() {\n\t\tconst results = await this.Action('store', 'create').execute({\n\t\t\tnameReadable: 'Person',\n\t\t\tnameReadablePlural: 'People',\n\t\t\tnamePascal: 'Person',\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst path = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'People.store.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tawait this.Service('typeChecker').check(path)\n\t}\n\n\t@test()\n\tprotected static async getsOneStoresBackFromHealthCheck() {\n\t\tconst health = await this.cli.checkHealth({ isRunningLocally: true })\n\t\tassert.isTruthy(health.store)\n\t\tassert.isFalsy(health.store.errors)\n\t\tassert.isLength(health.store.stores, 1)\n\t\tassert.isEqual(health.store.stores[0].name, 'People')\n\t}\n\n\t@test()\n\tprotected static async canGenerateASecondStoreFile() {\n\t\tconst results = await this.Action('store', 'create').execute({\n\t\t\tnameReadable: 'Bid',\n\t\t\tnameReadablePlural: 'Bids',\n\t\t\tnamePascal: 'Bid',\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst path = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'Bids.store.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tawait this.Service('typeChecker').check(path)\n\t}\n\n\t@test()\n\tprotected static async getsSecondStoresBackFromHealthCheck() {\n\t\tconst health = await this.cli.checkHealth({ isRunningLocally: true })\n\n\t\tassert.isTruthy(health.store)\n\t\tassert.isFalsy(health.store.errors)\n\t\tassert.isLength(health.store.stores, 2)\n\t\tassert.isEqual(health.store.stores[0].name, 'Bids')\n\t\tassert.isEqual(health.store.stores[1].name, 'People')\n\t}\n\n\t@test()\n\tprotected static async errorsWhenGeneratingAStoreWithTheSameName() {\n\t\tconst results = await this.Action('store', 'create').execute({\n\t\t\tnameReadable: 'Bid',\n\t\t\tnameReadablePlural: 'Bids',\n\t\t\tnamePascal: 'Bid',\n\t\t})\n\n\t\tassert.isTruthy(results.errors)\n\t\terrorAssertUtil.assertError(results.errors[0], 'STORE_EXISTS')\n\t}\n\n\t@test()\n\tprotected static async storeFactoryAndStoresAreTyped() {\n\t\tconst results = await this.Action('store', 'create').execute({\n\t\t\tnameReadable: 'Product',\n\t\t\tnameReadablePlural: 'Products',\n\t\t\tnamePascal: 'Product',\n\t\t})\n\n\t\tconst path = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'Products.store.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tconst storeContents = diskUtil\n\t\t\t.readFile(path)\n\t\t\t.replace(\n\t\t\t\t'type ProductsStoreOptions = UniversalStoreOptions',\n\t\t\t\t'type ProductsStoreOptions = UniversalStoreOptions & {hello: string}'\n\t\t\t)\n\n\t\tdiskUtil.writeFile(path, storeContents)\n\n\t\tconst testFile = this.resolveTestPath('store-test.ts.hbs')\n\t\tconst testContents = diskUtil.readFile(testFile)\n\n\t\tconst dest = this.resolvePath('src', 'test.ts')\n\t\tdiskUtil.writeFile(dest, testContents)\n\n\t\tawait this.Service('typeChecker').check(dest)\n\t}\n\n\t@test()\n\tprotected static async doesNotCreateAbstractTestFileBecauseTestIsNotInstalled() {\n\t\tassert.isFalse(\n\t\t\tdiskUtil.doesFileExist(CreatingDataStoresTest.getAbstractTestPath())\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async upgradeRestoresDataStoreTypes() {\n\t\tCommandService.setMockResponse('yarn rebuild', {\n\t\t\tcode: 0,\n\t\t})\n\n\t\tCommandService.setMockResponse(/yarn add/gis, {\n\t\t\tcode: 0,\n\t\t})\n\n\t\tconst storesFile = this.resolveHashSprucePath('stores/stores.types.ts')\n\t\tdiskUtil.deleteFile(storesFile)\n\t\tawait this.Action('node', 'upgrade').execute({})\n\t\tassert.isTrue(diskUtil.doesFileExist(storesFile))\n\t}\n\n\tprivate static getAbstractTestPath(): string {\n\t\treturn this.resolvePath('src', 'tests', 'AbstractDataStoreTest.ts')\n\t}\n}\n"],"file":"CreatingADataStore.test.js"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import AbstractSkillTest from '../../tests/AbstractSkillTest';
|
|
2
|
+
export default class ManagingDependenciesTest extends AbstractSkillTest {
|
|
3
|
+
protected static skillCacheKey: string;
|
|
4
|
+
protected static hasAddDependencyAction(): Promise<void>;
|
|
5
|
+
protected static showsSkillsAsCheckboxes(): Promise<void>;
|
|
6
|
+
protected static selectsExistingDependencies(): Promise<void>;
|
|
7
|
+
protected static canSelectANewDependencies(): Promise<void>;
|
|
8
|
+
protected static doesNotShowCurrentSkill(): Promise<void>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,279 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
|
|
10
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
+
|
|
12
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
|
+
|
|
14
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
15
|
+
|
|
16
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
17
|
+
|
|
18
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
19
|
+
|
|
20
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
21
|
+
|
|
22
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
23
|
+
|
|
24
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
25
|
+
|
|
26
|
+
var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor"));
|
|
27
|
+
|
|
28
|
+
var _test = require("@sprucelabs/test");
|
|
29
|
+
|
|
30
|
+
var _AbstractSkillTest2 = _interopRequireDefault(require("../../tests/AbstractSkillTest"));
|
|
31
|
+
|
|
32
|
+
var _dec, _dec2, _dec3, _dec4, _dec5, _class, _class2, _temp;
|
|
33
|
+
|
|
34
|
+
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); }; }
|
|
35
|
+
|
|
36
|
+
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; } }
|
|
37
|
+
|
|
38
|
+
var ManagingDependenciesTest = (_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) {
|
|
39
|
+
(0, _inherits2["default"])(ManagingDependenciesTest, _AbstractSkillTest);
|
|
40
|
+
|
|
41
|
+
var _super = _createSuper(ManagingDependenciesTest);
|
|
42
|
+
|
|
43
|
+
function ManagingDependenciesTest() {
|
|
44
|
+
(0, _classCallCheck2["default"])(this, ManagingDependenciesTest);
|
|
45
|
+
return _super.apply(this, arguments);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
(0, _createClass2["default"])(ManagingDependenciesTest, null, [{
|
|
49
|
+
key: "hasAddDependencyAction",
|
|
50
|
+
value: function () {
|
|
51
|
+
var _hasAddDependencyAction = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
52
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
53
|
+
while (1) {
|
|
54
|
+
switch (_context.prev = _context.next) {
|
|
55
|
+
case 0:
|
|
56
|
+
_test.assert.isFunction(this.Action('dependency', 'manage').execute);
|
|
57
|
+
|
|
58
|
+
case 1:
|
|
59
|
+
case "end":
|
|
60
|
+
return _context.stop();
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}, _callee, this);
|
|
64
|
+
}));
|
|
65
|
+
|
|
66
|
+
function hasAddDependencyAction() {
|
|
67
|
+
return _hasAddDependencyAction.apply(this, arguments);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
return hasAddDependencyAction;
|
|
71
|
+
}()
|
|
72
|
+
}, {
|
|
73
|
+
key: "showsSkillsAsCheckboxes",
|
|
74
|
+
value: function () {
|
|
75
|
+
var _showsSkillsAsCheckboxes = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
76
|
+
var skill1, skill2, last;
|
|
77
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
78
|
+
while (1) {
|
|
79
|
+
switch (_context2.prev = _context2.next) {
|
|
80
|
+
case 0:
|
|
81
|
+
_context2.next = 2;
|
|
82
|
+
return this.getSkillFixture().seedDemoSkill({
|
|
83
|
+
name: 'dependency manage 1'
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
case 2:
|
|
87
|
+
skill1 = _context2.sent;
|
|
88
|
+
_context2.next = 5;
|
|
89
|
+
return this.getSkillFixture().seedDemoSkill({
|
|
90
|
+
name: 'dependency manage 2'
|
|
91
|
+
});
|
|
92
|
+
|
|
93
|
+
case 5:
|
|
94
|
+
skill2 = _context2.sent;
|
|
95
|
+
void this.Action('dependency', 'manage').execute({});
|
|
96
|
+
_context2.next = 9;
|
|
97
|
+
return this.waitForInput();
|
|
98
|
+
|
|
99
|
+
case 9:
|
|
100
|
+
last = this.ui.lastInvocation();
|
|
101
|
+
|
|
102
|
+
_test.assert.isEqual(last.options.type, 'select');
|
|
103
|
+
|
|
104
|
+
_test.assert.doesInclude(last.options.options.choices, {
|
|
105
|
+
value: skill1.id
|
|
106
|
+
});
|
|
107
|
+
|
|
108
|
+
_test.assert.doesInclude(last.options.options.choices, {
|
|
109
|
+
value: skill2.id
|
|
110
|
+
});
|
|
111
|
+
|
|
112
|
+
this.ui.reset();
|
|
113
|
+
|
|
114
|
+
case 14:
|
|
115
|
+
case "end":
|
|
116
|
+
return _context2.stop();
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}, _callee2, this);
|
|
120
|
+
}));
|
|
121
|
+
|
|
122
|
+
function showsSkillsAsCheckboxes() {
|
|
123
|
+
return _showsSkillsAsCheckboxes.apply(this, arguments);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
return showsSkillsAsCheckboxes;
|
|
127
|
+
}()
|
|
128
|
+
}, {
|
|
129
|
+
key: "selectsExistingDependencies",
|
|
130
|
+
value: function () {
|
|
131
|
+
var _selectsExistingDependencies = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
|
|
132
|
+
var skill1, last;
|
|
133
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
134
|
+
while (1) {
|
|
135
|
+
switch (_context3.prev = _context3.next) {
|
|
136
|
+
case 0:
|
|
137
|
+
_context3.next = 2;
|
|
138
|
+
return this.getSkillFixture().seedDemoSkill({
|
|
139
|
+
name: 'dependency manage 3'
|
|
140
|
+
});
|
|
141
|
+
|
|
142
|
+
case 2:
|
|
143
|
+
skill1 = _context3.sent;
|
|
144
|
+
this.Service('dependency').set([{
|
|
145
|
+
namespace: skill1.slug,
|
|
146
|
+
id: skill1.id
|
|
147
|
+
}]);
|
|
148
|
+
void this.Action('dependency', 'manage').execute({});
|
|
149
|
+
_context3.next = 7;
|
|
150
|
+
return this.waitForInput();
|
|
151
|
+
|
|
152
|
+
case 7:
|
|
153
|
+
last = this.ui.lastInvocation();
|
|
154
|
+
|
|
155
|
+
_test.assert.isEqualDeep(last.options.value, [skill1.id]);
|
|
156
|
+
|
|
157
|
+
this.ui.reset();
|
|
158
|
+
|
|
159
|
+
case 10:
|
|
160
|
+
case "end":
|
|
161
|
+
return _context3.stop();
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}, _callee3, this);
|
|
165
|
+
}));
|
|
166
|
+
|
|
167
|
+
function selectsExistingDependencies() {
|
|
168
|
+
return _selectsExistingDependencies.apply(this, arguments);
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
return selectsExistingDependencies;
|
|
172
|
+
}()
|
|
173
|
+
}, {
|
|
174
|
+
key: "canSelectANewDependencies",
|
|
175
|
+
value: function () {
|
|
176
|
+
var _canSelectANewDependencies = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
|
|
177
|
+
var skill1, skill2, promise, dependencies;
|
|
178
|
+
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
179
|
+
while (1) {
|
|
180
|
+
switch (_context4.prev = _context4.next) {
|
|
181
|
+
case 0:
|
|
182
|
+
_context4.next = 2;
|
|
183
|
+
return this.getSkillFixture().seedDemoSkill({
|
|
184
|
+
name: 'dependency manage 4'
|
|
185
|
+
});
|
|
186
|
+
|
|
187
|
+
case 2:
|
|
188
|
+
skill1 = _context4.sent;
|
|
189
|
+
_context4.next = 5;
|
|
190
|
+
return this.getSkillFixture().seedDemoSkill({
|
|
191
|
+
name: 'dependency manage 5'
|
|
192
|
+
});
|
|
193
|
+
|
|
194
|
+
case 5:
|
|
195
|
+
skill2 = _context4.sent;
|
|
196
|
+
promise = this.Action('dependency', 'manage').execute({});
|
|
197
|
+
_context4.next = 9;
|
|
198
|
+
return this.waitForInput();
|
|
199
|
+
|
|
200
|
+
case 9:
|
|
201
|
+
_context4.next = 11;
|
|
202
|
+
return this.ui.sendInput([skill1.id, skill2.id]);
|
|
203
|
+
|
|
204
|
+
case 11:
|
|
205
|
+
dependencies = this.Service('settings').get('dependencies');
|
|
206
|
+
|
|
207
|
+
_test.assert.isEqualDeep(dependencies, [{
|
|
208
|
+
id: skill1.id,
|
|
209
|
+
namespace: skill1.slug
|
|
210
|
+
}, {
|
|
211
|
+
id: skill2.id,
|
|
212
|
+
namespace: skill2.slug
|
|
213
|
+
}]);
|
|
214
|
+
|
|
215
|
+
_context4.next = 15;
|
|
216
|
+
return promise;
|
|
217
|
+
|
|
218
|
+
case 15:
|
|
219
|
+
case "end":
|
|
220
|
+
return _context4.stop();
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
}, _callee4, this);
|
|
224
|
+
}));
|
|
225
|
+
|
|
226
|
+
function canSelectANewDependencies() {
|
|
227
|
+
return _canSelectANewDependencies.apply(this, arguments);
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
return canSelectANewDependencies;
|
|
231
|
+
}()
|
|
232
|
+
}, {
|
|
233
|
+
key: "doesNotShowCurrentSkill",
|
|
234
|
+
value: function () {
|
|
235
|
+
var _doesNotShowCurrentSkill = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
|
|
236
|
+
var skill, last;
|
|
237
|
+
return _regenerator["default"].wrap(function _callee5$(_context5) {
|
|
238
|
+
while (1) {
|
|
239
|
+
switch (_context5.prev = _context5.next) {
|
|
240
|
+
case 0:
|
|
241
|
+
_context5.next = 2;
|
|
242
|
+
return this.getSkillFixture().registerCurrentSkill({
|
|
243
|
+
name: 'current skill in managing deps'
|
|
244
|
+
});
|
|
245
|
+
|
|
246
|
+
case 2:
|
|
247
|
+
skill = _context5.sent;
|
|
248
|
+
void this.Action('dependency', 'manage').execute({});
|
|
249
|
+
_context5.next = 6;
|
|
250
|
+
return this.waitForInput();
|
|
251
|
+
|
|
252
|
+
case 6:
|
|
253
|
+
last = this.ui.lastInvocation();
|
|
254
|
+
|
|
255
|
+
_test.assert.doesNotInclude(last.options.options.choices, {
|
|
256
|
+
value: skill.id
|
|
257
|
+
});
|
|
258
|
+
|
|
259
|
+
this.ui.reset();
|
|
260
|
+
|
|
261
|
+
case 9:
|
|
262
|
+
case "end":
|
|
263
|
+
return _context5.stop();
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
}, _callee5, this);
|
|
267
|
+
}));
|
|
268
|
+
|
|
269
|
+
function doesNotShowCurrentSkill() {
|
|
270
|
+
return _doesNotShowCurrentSkill.apply(this, arguments);
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
return doesNotShowCurrentSkill;
|
|
274
|
+
}()
|
|
275
|
+
}]);
|
|
276
|
+
return ManagingDependenciesTest;
|
|
277
|
+
}(_AbstractSkillTest2["default"]), (0, _defineProperty2["default"])(_class2, "skillCacheKey", 'skills'), _temp), ((0, _applyDecoratedDescriptor2["default"])(_class, "hasAddDependencyAction", [_dec], Object.getOwnPropertyDescriptor(_class, "hasAddDependencyAction"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "showsSkillsAsCheckboxes", [_dec2], Object.getOwnPropertyDescriptor(_class, "showsSkillsAsCheckboxes"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "selectsExistingDependencies", [_dec3], Object.getOwnPropertyDescriptor(_class, "selectsExistingDependencies"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "canSelectANewDependencies", [_dec4], Object.getOwnPropertyDescriptor(_class, "canSelectANewDependencies"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "doesNotShowCurrentSkill", [_dec5], Object.getOwnPropertyDescriptor(_class, "doesNotShowCurrentSkill"), _class)), _class));
|
|
278
|
+
exports["default"] = ManagingDependenciesTest;
|
|
279
|
+
//# sourceMappingURL=ManagingDependencies.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/__tests__/behavioral/ManagingDependencies.test.ts"],"names":["ManagingDependenciesTest","assert","isFunction","Action","execute","getSkillFixture","seedDemoSkill","name","skill1","skill2","waitForInput","last","ui","lastInvocation","isEqual","options","type","doesInclude","choices","value","id","reset","Service","set","namespace","slug","isEqualDeep","promise","sendInput","dependencies","get","registerCurrentSkill","skill","doesNotInclude","AbstractSkillTest"],"mappings":"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","sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport AbstractSkillTest from '../../tests/AbstractSkillTest'\n\nexport default class ManagingDependenciesTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'skills'\n\n\t@test()\n\tprotected static async hasAddDependencyAction() {\n\t\tassert.isFunction(this.Action('dependency', 'manage').execute)\n\t}\n\n\t@test()\n\tprotected static async showsSkillsAsCheckboxes() {\n\t\tconst skill1 = await this.getSkillFixture().seedDemoSkill({\n\t\t\tname: 'dependency manage 1',\n\t\t})\n\n\t\tconst skill2 = await this.getSkillFixture().seedDemoSkill({\n\t\t\tname: 'dependency manage 2',\n\t\t})\n\n\t\tvoid this.Action('dependency', 'manage').execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tconst last = this.ui.lastInvocation()\n\n\t\tassert.isEqual(last.options.type, 'select')\n\n\t\tassert.doesInclude(last.options.options.choices, {\n\t\t\tvalue: skill1.id,\n\t\t})\n\n\t\tassert.doesInclude(last.options.options.choices, {\n\t\t\tvalue: skill2.id,\n\t\t})\n\n\t\tthis.ui.reset()\n\t}\n\n\t@test()\n\tprotected static async selectsExistingDependencies() {\n\t\tconst skill1 = await this.getSkillFixture().seedDemoSkill({\n\t\t\tname: 'dependency manage 3',\n\t\t})\n\n\t\tthis.Service('dependency').set([\n\t\t\t{\n\t\t\t\tnamespace: skill1.slug,\n\t\t\t\tid: skill1.id,\n\t\t\t},\n\t\t])\n\n\t\tvoid this.Action('dependency', 'manage').execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tconst last = this.ui.lastInvocation()\n\n\t\tassert.isEqualDeep(last.options.value, [skill1.id])\n\n\t\tthis.ui.reset()\n\t}\n\n\t@test()\n\tprotected static async canSelectANewDependencies() {\n\t\tconst skill1 = await this.getSkillFixture().seedDemoSkill({\n\t\t\tname: 'dependency manage 4',\n\t\t})\n\n\t\tconst skill2 = await this.getSkillFixture().seedDemoSkill({\n\t\t\tname: 'dependency manage 5',\n\t\t})\n\n\t\tconst promise = this.Action('dependency', 'manage').execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput([skill1.id, skill2.id])\n\n\t\tconst dependencies = this.Service('settings').get('dependencies')\n\n\t\tassert.isEqualDeep(dependencies, [\n\t\t\t{\n\t\t\t\tid: skill1.id,\n\t\t\t\tnamespace: skill1.slug,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: skill2.id,\n\t\t\t\tnamespace: skill2.slug,\n\t\t\t},\n\t\t])\n\n\t\tawait promise\n\t}\n\n\t@test()\n\tprotected static async doesNotShowCurrentSkill() {\n\t\tconst skill = await this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'current skill in managing deps',\n\t\t})\n\n\t\tvoid this.Action('dependency', 'manage').execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tconst last = this.ui.lastInvocation()\n\n\t\tassert.doesNotInclude(last.options.options.choices, {\n\t\t\tvalue: skill.id,\n\t\t})\n\n\t\tthis.ui.reset()\n\t}\n}\n"],"file":"ManagingDependencies.test.js"}
|