@sprucelabs/spruce-cli 19.2.4 → 20.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js +2 -1
  3. package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js.map +1 -1
  4. package/build/__tests__/behavioral/views/CreatingASkillView.test.js +1 -1
  5. package/build/__tests__/behavioral/views/CreatingASkillView.test.js.map +1 -1
  6. package/build/__tests__/behavioral/views/plugins/CreatingAViewPlugin.test.d.ts +4 -0
  7. package/build/__tests__/behavioral/views/plugins/CreatingAViewPlugin.test.js +97 -19
  8. package/build/__tests__/behavioral/views/plugins/CreatingAViewPlugin.test.js.map +1 -1
  9. package/build/errors/SpruceError.js +2 -2
  10. package/build/errors/SpruceError.js.map +1 -1
  11. package/build/features/cache/actions/EnableAction.js +3 -1
  12. package/build/features/cache/actions/EnableAction.js.map +1 -1
  13. package/build/features/view/actions/SyncAction.js +2 -0
  14. package/build/features/view/actions/SyncAction.js.map +1 -1
  15. package/build/utilities/introspection.utility.d.ts +8 -4
  16. package/build/utilities/introspection.utility.js +189 -46
  17. package/build/utilities/introspection.utility.js.map +1 -1
  18. package/package.json +24 -24
  19. package/src/__tests__/behavioral/EnablingAndDisablingCache.test.ts +1 -0
  20. package/src/__tests__/behavioral/views/CreatingASkillView.test.ts +1 -1
  21. package/src/__tests__/behavioral/views/plugins/CreatingAViewPlugin.test.ts +55 -2
  22. package/src/errors/SpruceError.ts +3 -1
  23. package/src/features/cache/actions/EnableAction.ts +6 -1
  24. package/src/features/view/actions/SyncAction.ts +2 -0
  25. package/src/utilities/introspection.utility.ts +233 -79
package/CHANGELOG.md CHANGED
@@ -3,6 +3,25 @@
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
+ ## [20.0.1](https://github.com/sprucelabsai-community/spruce-cli-workspace/compare/v20.0.0...v20.0.1) (2024-03-27)
7
+
8
+ **Note:** Version bump only for package @sprucelabs/spruce-cli
9
+
10
+
11
+
12
+
13
+
14
+ # [20.0.0](https://github.com/sprucelabsai-community/spruce-cli-workspace/compare/v19.2.4...v20.0.0) (2024-03-22)
15
+
16
+
17
+ ### Breaking Changes
18
+
19
+ * rename of export from views.ts ([8a3a850](https://github.com/sprucelabsai-community/spruce-cli-workspace/commit/8a3a850))
20
+
21
+
22
+
23
+
24
+
6
25
  ## [19.2.4](https://github.com/sprucelabsai-community/spruce-cli-workspace/compare/v19.2.3...v19.2.4) (2024-03-20)
7
26
 
8
27
  **Note:** Version bump only for package @sprucelabs/spruce-cli
@@ -96,7 +96,8 @@ var EnablingAndDisablingCacheTest = exports["default"] = (_dec = (0, _testUtils.
96
96
  while (1) switch (_context3.prev = _context3.next) {
97
97
  case 0:
98
98
  _CommandService["default"].fakeCommand(/npm config/gi, {
99
- code: 1
99
+ code: 1,
100
+ stderr: 'which'
100
101
  });
101
102
  _context3.next = 3;
102
103
  return this.Action('cache', 'enable').execute({});
@@ -1 +1 @@
1
- {"version":3,"file":"EnablingAndDisablingCache.test.js","names":["_testUtils","require","_constants","_CommandService","_interopRequireDefault","_AbstractCliTest2","_dec","_dec2","_dec3","_dec4","_dec5","_dec6","_dec7","_dec8","_dec9","_dec10","_class","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","EnablingAndDisablingCacheTest","exports","test","_AbstractCliTest","_classCallCheck2","arguments","_inherits2","_createClass2","key","value","_cacheFeatureIsAlwaysOn","_asyncToGenerator2","_regenerator","mark","_callee","isInstalled","wrap","_callee$","_context","prev","next","featureInstaller","sent","assert","isTrue","stop","cacheFeatureIsAlwaysOn","hasEnableFeature","isFunction","Action","execute","_returnsErrorWhenEnablingIfDockerIsNotInstalled","_callee2","results","_callee2$","_context2","CommandService","fakeCommand","code","isTruthy","errors","errorAssert","assertError","dependencies","name","returnsErrorWhenEnablingIfDockerIsNotInstalled","_returnsErrorWhenDockerNotEnabled","_callee3","_callee3$","_context3","returnsErrorWhenDockerNotEnabled","_canEnableCache","_callee4","_callee4$","_context4","ENABLE_NPM_CACHE_COMMAND","DISABLE_NPM_CACHE_COMMAND","isFalsy","canEnableCache","hasDisableFeature","_returnsErrorWhenDisablingIfDockerIsNotInstalled","_callee5","_callee5$","_context5","returnsErrorWhenDisablingIfDockerIsNotInstalled","_returnsErrorWhenDisablingIfDockerIsNotStarted","_callee6","_callee6$","_context6","returnsErrorWhenDisablingIfDockerIsNotStarted","_returnsErrorIfCacheIsNotInstalled","_callee7","_callee7$","_context7","stderr","returnsErrorIfCacheIsNotInstalled","_canEnableCacheMultipleTimes","_callee8","_callee8$","_context8","canEnableCacheMultipleTimes","AbstractCliTest","_applyDecoratedDescriptor2","Object","getOwnPropertyDescriptor"],"sources":["../../../src/__tests__/behavioral/EnablingAndDisablingCache.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test-utils'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport {\n\tDISABLE_NPM_CACHE_COMMAND,\n\tENABLE_NPM_CACHE_COMMAND,\n} from '../../features/cache/constants'\nimport CommandService from '../../services/CommandService'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\n\nexport default class EnablingAndDisablingCacheTest extends AbstractCliTest {\n\t@test()\n\tprotected static async cacheFeatureIsAlwaysOn() {\n\t\tconst isInstalled = await this.featureInstaller.isInstalled('cache')\n\t\tassert.isTrue(isInstalled)\n\t}\n\n\t@test()\n\tprotected static hasEnableFeature() {\n\t\tassert.isFunction(this.Action('cache', 'enable').execute)\n\t}\n\n\t@test()\n\tprotected static async returnsErrorWhenEnablingIfDockerIsNotInstalled() {\n\t\tCommandService.fakeCommand(/which docker/gis, {\n\t\t\tcode: 1,\n\t\t})\n\n\t\tconst results = await this.Action('cache', 'enable').execute({})\n\t\tassert.isTruthy(results.errors)\n\n\t\terrorAssert.assertError(results.errors[0], 'MISSING_DEPENDENCIES', {\n\t\t\tdependencies: [\n\t\t\t\t{\n\t\t\t\t\tname: 'Docker',\n\t\t\t\t},\n\t\t\t],\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async returnsErrorWhenDockerNotEnabled() {\n\t\tCommandService.fakeCommand(/npm config/gis, {\n\t\t\tcode: 1,\n\t\t})\n\n\t\tconst results = await this.Action('cache', 'enable').execute({})\n\t\tassert.isTruthy(results.errors)\n\n\t\terrorAssert.assertError(results.errors[0], 'DOCKER_NOT_STARTED')\n\t}\n\n\t@test()\n\tprotected static async canEnableCache() {\n\t\tCommandService.fakeCommand(/which docker/gis, {\n\t\t\tcode: 0,\n\t\t})\n\t\tCommandService.fakeCommand(ENABLE_NPM_CACHE_COMMAND, {\n\t\t\tcode: 0,\n\t\t})\n\t\tCommandService.fakeCommand(DISABLE_NPM_CACHE_COMMAND, {\n\t\t\tcode: 0,\n\t\t})\n\n\t\tconst results = await this.Action('cache', 'enable').execute({})\n\t\tassert.isFalsy(results.errors)\n\t}\n\n\t@test()\n\tprotected static hasDisableFeature() {\n\t\tassert.isFunction(this.Action('cache', 'disable').execute)\n\t}\n\n\t@test()\n\tprotected static async returnsErrorWhenDisablingIfDockerIsNotInstalled() {\n\t\tCommandService.fakeCommand(/which docker/gis, {\n\t\t\tcode: 1,\n\t\t})\n\n\t\tconst results = await this.Action('cache', 'disable').execute({})\n\t\tassert.isTruthy(results.errors)\n\n\t\terrorAssert.assertError(results.errors[0], 'MISSING_DEPENDENCIES', {\n\t\t\tdependencies: [\n\t\t\t\t{\n\t\t\t\t\tname: 'Docker',\n\t\t\t\t},\n\t\t\t],\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async returnsErrorWhenDisablingIfDockerIsNotStarted() {\n\t\tCommandService.fakeCommand(/which docker/gis, {\n\t\t\tcode: 0,\n\t\t})\n\t\tCommandService.fakeCommand(/npm config/gis, {\n\t\t\tcode: 1,\n\t\t})\n\n\t\tconst results = await this.Action('cache', 'disable').execute({})\n\t\tassert.isTruthy(results.errors)\n\n\t\terrorAssert.assertError(results.errors[0], 'MISSING_DEPENDENCIES', {\n\t\t\tdependencies: [\n\t\t\t\t{\n\t\t\t\t\tname: 'Docker',\n\t\t\t\t},\n\t\t\t],\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async returnsErrorIfCacheIsNotInstalled() {\n\t\tCommandService.fakeCommand(/npm config/gis, {\n\t\t\tcode: 1,\n\t\t\tstderr: 'tsanoehusnatohu snatoh No such container staoheu saotnhu ',\n\t\t})\n\n\t\tconst results = await this.Action('cache', 'disable').execute({})\n\t\tassert.isTruthy(results.errors)\n\n\t\terrorAssert.assertError(results.errors[0], 'CACHE_NOT_ENABLED')\n\t}\n\n\t@test()\n\tprotected static async canEnableCacheMultipleTimes() {\n\t\tCommandService.fakeCommand(/which docker/gis, {\n\t\t\tcode: 0,\n\t\t})\n\t\tCommandService.fakeCommand(DISABLE_NPM_CACHE_COMMAND, {\n\t\t\tcode: 0,\n\t\t})\n\t\tCommandService.fakeCommand(ENABLE_NPM_CACHE_COMMAND, {\n\t\t\tcode: 0,\n\t\t})\n\n\t\tawait this.Action('cache', 'enable').execute({})\n\t\tconst results = await this.Action('cache', 'enable').execute({})\n\n\t\tassert.isFalsy(results.errors)\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"EnablingAndDisablingCache.test.js","names":["_testUtils","require","_constants","_CommandService","_interopRequireDefault","_AbstractCliTest2","_dec","_dec2","_dec3","_dec4","_dec5","_dec6","_dec7","_dec8","_dec9","_dec10","_class","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","EnablingAndDisablingCacheTest","exports","test","_AbstractCliTest","_classCallCheck2","arguments","_inherits2","_createClass2","key","value","_cacheFeatureIsAlwaysOn","_asyncToGenerator2","_regenerator","mark","_callee","isInstalled","wrap","_callee$","_context","prev","next","featureInstaller","sent","assert","isTrue","stop","cacheFeatureIsAlwaysOn","hasEnableFeature","isFunction","Action","execute","_returnsErrorWhenEnablingIfDockerIsNotInstalled","_callee2","results","_callee2$","_context2","CommandService","fakeCommand","code","isTruthy","errors","errorAssert","assertError","dependencies","name","returnsErrorWhenEnablingIfDockerIsNotInstalled","_returnsErrorWhenDockerNotEnabled","_callee3","_callee3$","_context3","stderr","returnsErrorWhenDockerNotEnabled","_canEnableCache","_callee4","_callee4$","_context4","ENABLE_NPM_CACHE_COMMAND","DISABLE_NPM_CACHE_COMMAND","isFalsy","canEnableCache","hasDisableFeature","_returnsErrorWhenDisablingIfDockerIsNotInstalled","_callee5","_callee5$","_context5","returnsErrorWhenDisablingIfDockerIsNotInstalled","_returnsErrorWhenDisablingIfDockerIsNotStarted","_callee6","_callee6$","_context6","returnsErrorWhenDisablingIfDockerIsNotStarted","_returnsErrorIfCacheIsNotInstalled","_callee7","_callee7$","_context7","returnsErrorIfCacheIsNotInstalled","_canEnableCacheMultipleTimes","_callee8","_callee8$","_context8","canEnableCacheMultipleTimes","AbstractCliTest","_applyDecoratedDescriptor2","Object","getOwnPropertyDescriptor"],"sources":["../../../src/__tests__/behavioral/EnablingAndDisablingCache.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test-utils'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport {\n\tDISABLE_NPM_CACHE_COMMAND,\n\tENABLE_NPM_CACHE_COMMAND,\n} from '../../features/cache/constants'\nimport CommandService from '../../services/CommandService'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\n\nexport default class EnablingAndDisablingCacheTest extends AbstractCliTest {\n\t@test()\n\tprotected static async cacheFeatureIsAlwaysOn() {\n\t\tconst isInstalled = await this.featureInstaller.isInstalled('cache')\n\t\tassert.isTrue(isInstalled)\n\t}\n\n\t@test()\n\tprotected static hasEnableFeature() {\n\t\tassert.isFunction(this.Action('cache', 'enable').execute)\n\t}\n\n\t@test()\n\tprotected static async returnsErrorWhenEnablingIfDockerIsNotInstalled() {\n\t\tCommandService.fakeCommand(/which docker/gis, {\n\t\t\tcode: 1,\n\t\t})\n\n\t\tconst results = await this.Action('cache', 'enable').execute({})\n\t\tassert.isTruthy(results.errors)\n\n\t\terrorAssert.assertError(results.errors[0], 'MISSING_DEPENDENCIES', {\n\t\t\tdependencies: [\n\t\t\t\t{\n\t\t\t\t\tname: 'Docker',\n\t\t\t\t},\n\t\t\t],\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async returnsErrorWhenDockerNotEnabled() {\n\t\tCommandService.fakeCommand(/npm config/gis, {\n\t\t\tcode: 1,\n\t\t\tstderr: 'which',\n\t\t})\n\n\t\tconst results = await this.Action('cache', 'enable').execute({})\n\t\tassert.isTruthy(results.errors)\n\n\t\terrorAssert.assertError(results.errors[0], 'DOCKER_NOT_STARTED')\n\t}\n\n\t@test()\n\tprotected static async canEnableCache() {\n\t\tCommandService.fakeCommand(/which docker/gis, {\n\t\t\tcode: 0,\n\t\t})\n\t\tCommandService.fakeCommand(ENABLE_NPM_CACHE_COMMAND, {\n\t\t\tcode: 0,\n\t\t})\n\t\tCommandService.fakeCommand(DISABLE_NPM_CACHE_COMMAND, {\n\t\t\tcode: 0,\n\t\t})\n\n\t\tconst results = await this.Action('cache', 'enable').execute({})\n\t\tassert.isFalsy(results.errors)\n\t}\n\n\t@test()\n\tprotected static hasDisableFeature() {\n\t\tassert.isFunction(this.Action('cache', 'disable').execute)\n\t}\n\n\t@test()\n\tprotected static async returnsErrorWhenDisablingIfDockerIsNotInstalled() {\n\t\tCommandService.fakeCommand(/which docker/gis, {\n\t\t\tcode: 1,\n\t\t})\n\n\t\tconst results = await this.Action('cache', 'disable').execute({})\n\t\tassert.isTruthy(results.errors)\n\n\t\terrorAssert.assertError(results.errors[0], 'MISSING_DEPENDENCIES', {\n\t\t\tdependencies: [\n\t\t\t\t{\n\t\t\t\t\tname: 'Docker',\n\t\t\t\t},\n\t\t\t],\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async returnsErrorWhenDisablingIfDockerIsNotStarted() {\n\t\tCommandService.fakeCommand(/which docker/gis, {\n\t\t\tcode: 0,\n\t\t})\n\t\tCommandService.fakeCommand(/npm config/gis, {\n\t\t\tcode: 1,\n\t\t})\n\n\t\tconst results = await this.Action('cache', 'disable').execute({})\n\t\tassert.isTruthy(results.errors)\n\n\t\terrorAssert.assertError(results.errors[0], 'MISSING_DEPENDENCIES', {\n\t\t\tdependencies: [\n\t\t\t\t{\n\t\t\t\t\tname: 'Docker',\n\t\t\t\t},\n\t\t\t],\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async returnsErrorIfCacheIsNotInstalled() {\n\t\tCommandService.fakeCommand(/npm config/gis, {\n\t\t\tcode: 1,\n\t\t\tstderr: 'tsanoehusnatohu snatoh No such container staoheu saotnhu ',\n\t\t})\n\n\t\tconst results = await this.Action('cache', 'disable').execute({})\n\t\tassert.isTruthy(results.errors)\n\n\t\terrorAssert.assertError(results.errors[0], 'CACHE_NOT_ENABLED')\n\t}\n\n\t@test()\n\tprotected static async canEnableCacheMultipleTimes() {\n\t\tCommandService.fakeCommand(/which docker/gis, {\n\t\t\tcode: 0,\n\t\t})\n\t\tCommandService.fakeCommand(DISABLE_NPM_CACHE_COMMAND, {\n\t\t\tcode: 0,\n\t\t})\n\t\tCommandService.fakeCommand(ENABLE_NPM_CACHE_COMMAND, {\n\t\t\tcode: 0,\n\t\t})\n\n\t\tawait this.Action('cache', 'enable').execute({})\n\t\tconst results = await this.Action('cache', 'enable').execute({})\n\n\t\tassert.isFalsy(results.errors)\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
@@ -419,7 +419,7 @@ var CreatingASkillViewTest = exports["default"] = (_dec = (0, _testUtils.test)()
419
419
  value: function buildTestfile(options) {
420
420
  var code = options.code,
421
421
  idInterfaceName = options.idInterfaceName;
422
- return "\nimport " + "'#spruce/views/views'\nimport {\n\tViewControllerFactory,\n\tAuthenticatorImpl,\n\tStubStorage,\n\t".concat(idInterfaceName, ",\n} from '@sprucelabs/heartwood-view-controllers'\nimport { vcDiskUtil } from '@sprucelabs/spruce-test-fixtures'\n\nAuthenticatorImpl.setStorage(new StubStorage())\n\nconst vcFactory = ViewControllerFactory.Factory({\n\tcontrollerMap: vcDiskUtil.loadViewControllersAndBuildMap('testing-views', __dirname),\n\tdevice: {} as any,\n\tconnectToApi: async () => {\n\t\treturn 'yes' as any\n\t},\n})\n").concat(code, "\n\t\t").trim();
422
+ return "\nimport " + "'#spruce/views/views'\nimport {\n\tViewControllerFactory,\n\tAuthenticatorImpl,\n\tStubStorage,\n\t".concat(idInterfaceName, ",\n} from '@sprucelabs/heartwood-view-controllers'\nimport { vcDiskUtil } from '@sprucelabs/spruce-test-fixtures'\n\nAuthenticatorImpl.setStorage(new StubStorage())\n\nconst vcFactory = ViewControllerFactory.Factory({\n\tcontrollerMap: vcDiskUtil.loadViewControllersAndBuildMap('testing-views', __dirname).map,\n\tdevice: {} as any,\n\tconnectToApi: async () => {\n\t\treturn 'yes' as any\n\t},\n})\n").concat(code, "\n\t\t").trim();
423
423
  }
424
424
  }]);
425
425
  }(_AbstractSkillTest2["default"]), (0, _defineProperty2["default"])(_CreatingASkillViewTest, "skillCacheKey", 'views'), (0, _defineProperty2["default"])(_CreatingASkillViewTest, "action", void 0), (0, _defineProperty2["default"])(_CreatingASkillViewTest, "rootSvc", void 0), (0, _defineProperty2["default"])(_CreatingASkillViewTest, "appointmentsCard", void 0), (0, _defineProperty2["default"])(_CreatingASkillViewTest, "dashboardVc", void 0), _CreatingASkillViewTest), ((0, _applyDecoratedDescriptor2["default"])(_class, "hasCreateAction", [_dec], Object.getOwnPropertyDescriptor(_class, "hasCreateAction"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "viewFeatureHasExpectedDependencies", [_dec2], Object.getOwnPropertyDescriptor(_class, "viewFeatureHasExpectedDependencies"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "asksIfRootSkillViewIfNotYetCreated", [_dec3], Object.getOwnPropertyDescriptor(_class, "asksIfRootSkillViewIfNotYetCreated"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "canCreateRootSkillView", [_dec4], Object.getOwnPropertyDescriptor(_class, "canCreateRootSkillView"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "generatesValidRootSkillView", [_dec5], Object.getOwnPropertyDescriptor(_class, "generatesValidRootSkillView"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "rootSkillViewExtendsAbstractSkillViewController", [_dec6], Object.getOwnPropertyDescriptor(_class, "rootSkillViewExtendsAbstractSkillViewController"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "cantCreateTwoRootSvcs", [_dec7], Object.getOwnPropertyDescriptor(_class, "cantCreateTwoRootSvcs"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "asksForNamesIfCreatingSkillViewNotRoot", [_dec8], Object.getOwnPropertyDescriptor(_class, "asksForNamesIfCreatingSkillViewNotRoot"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "asksForViewModelWhenCreatingSkillView", [_dec9], Object.getOwnPropertyDescriptor(_class, "asksForViewModelWhenCreatingSkillView"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "skillViewExtendsAbstractViewControllerWithProperView", [_dec10], Object.getOwnPropertyDescriptor(_class, "skillViewExtendsAbstractViewControllerWithProperView"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "nicelyTypesRootSkillViewController", [_dec11], Object.getOwnPropertyDescriptor(_class, "nicelyTypesRootSkillViewController"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "nicelyTypesViewController", [_dec12], Object.getOwnPropertyDescriptor(_class, "nicelyTypesViewController"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "typesViewControllerOptions", [_dec13], Object.getOwnPropertyDescriptor(_class, "typesViewControllerOptions"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "typesSkillViewControllerLoadOptionsOptions", [_dec14], Object.getOwnPropertyDescriptor(_class, "typesSkillViewControllerLoadOptionsOptions"), _class)), _class));
@@ -1 +1 @@
1
- {"version":3,"file":"CreatingASkillView.test.js","names":["_spruceSkillUtils","require","_testUtils","_AbstractSkillTest2","_interopRequireDefault","_test","_dec","_dec2","_dec3","_dec4","_dec5","_dec6","_dec7","_dec8","_dec9","_dec10","_dec11","_dec12","_dec13","_dec14","_class","_CreatingASkillViewTest","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","CreatingASkillViewTest","exports","test","_AbstractSkillTest","_classCallCheck2","arguments","_inherits2","_createClass2","key","value","_beforeEach","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","_get2","action","Action","stop","beforeEach","hasCreateAction","assert","isFunction","execute","_viewFeatureHasExpectedDependencies","_callee2","features","view","_callee2$","_context2","featureInstaller","sent","getFeature","isEqualDeep","dependencies","code","isRequired","viewFeatureHasExpectedDependencies","_asksIfRootSkillViewIfNotYetCreated","_callee3","last","_callee3$","_context3","viewType","waitForInput","ui","getLastInvocation","isEqual","command","reset","asksIfRootSkillViewIfNotYetCreated","_canCreateRootSkillView","_callee4","results","_callee4$","_context4","isRoot","isFalsy","errors","rootSvc","testUtil","assertFileByNameInGeneratedFiles","files","doesInclude","canCreateRootSkillView","_generatesValidRootSkillView","_callee5","_callee5$","_context5","Service","check","generatesValidRootSkillView","_rootSkillViewExtendsAbstractSkillViewController","_callee6","contents","_callee6$","_context6","diskUtil","readFile","rootSkillViewExtendsAbstractSkillViewController","_cantCreateTwoRootSvcs","_callee7","_results$errors","_callee7$","_context7","isTruthy","errorAssert","assertError","name","cantCreateTwoRootSvcs","_asksForNamesIfCreatingSkillViewNotRoot","_callee8","promise","_callee8$","_context8","sendInput","dashboardVc","asksForNamesIfCreatingSkillViewNotRoot","_asksForViewModelWhenCreatingSkillView","_callee9","_callee9$","_context9","nameReadable","options","choices","appointmentsCard","asksForViewModelWhenCreatingSkillView","skillViewExtendsAbstractViewControllerWithProperView","_nicelyTypesRootSkillViewController","_callee10","testFile","imported","_callee10$","_context10","buildTestfile","idInterfaceName","resolvePath","writeFile","importAll","svcModel","svcId","nicelyTypesRootSkillViewController","_nicelyTypesViewController","_callee11","_callee11$","_context11","vcModel","vcId","nicelyTypesViewController","_typesViewControllerOptions","_callee12","viewsFile","viewContents","_callee12$","_context12","resolveHashSprucePath","typesViewControllerOptions","_typesSkillViewControllerLoadOptionsOptions","_callee13","_callee13$","_context13","typesSkillViewControllerLoadOptionsOptions","concat","trim","AbstractSkillTest","_defineProperty2","_applyDecoratedDescriptor2","Object","getOwnPropertyDescriptor"],"sources":["../../../../src/__tests__/behavioral/views/CreatingASkillView.test.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport CreateAction from '../../../features/view/actions/CreateAction'\nimport AbstractSkillTest from '../../../tests/AbstractSkillTest'\nimport testUtil from '../../../tests/utilities/test.utility'\n\nexport default class CreatingASkillViewTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'views'\n\tprivate static action: CreateAction\n\tprivate static rootSvc: string\n\tpublic static appointmentsCard: string\n\tprivate static dashboardVc: string\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tthis.action = this.Action('view', 'create') as CreateAction\n\t}\n\n\t@test()\n\tprotected static hasCreateAction() {\n\t\tassert.isFunction(this.action.execute)\n\t}\n\n\t@test()\n\tprotected static async viewFeatureHasExpectedDependencies() {\n\t\tconst features = await this.featureInstaller\n\t\tconst view = features.getFeature('view')\n\t\tassert.isEqualDeep(view.dependencies, [\n\t\t\t{\n\t\t\t\tcode: 'node',\n\t\t\t\tisRequired: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcode: 'schema',\n\t\t\t\tisRequired: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcode: 'event',\n\t\t\t\tisRequired: true,\n\t\t\t},\n\t\t])\n\t}\n\n\t@test()\n\tprotected static async asksIfRootSkillViewIfNotYetCreated() {\n\t\tvoid this.action.execute({\n\t\t\tviewType: 'skillView',\n\t\t})\n\n\t\tawait this.waitForInput()\n\n\t\tconst last = this.ui.getLastInvocation()\n\n\t\tassert.isEqual(last.command, 'confirm')\n\n\t\tthis.ui.reset()\n\t}\n\n\t@test()\n\tprotected static async canCreateRootSkillView() {\n\t\tconst results = await this.action.execute({\n\t\t\tviewType: 'skillView',\n\t\t\tisRoot: true,\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tthis.rootSvc = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'Root.svc.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tassert.doesInclude(this.rootSvc, 'skillViewControllers')\n\t}\n\n\t@test()\n\tprotected static async generatesValidRootSkillView() {\n\t\tawait this.Service('typeChecker').check(this.rootSvc)\n\t}\n\n\t@test()\n\tprotected static async rootSkillViewExtendsAbstractSkillViewController() {\n\t\tconst contents = diskUtil.readFile(this.rootSvc)\n\t\tassert.doesInclude(\n\t\t\tcontents,\n\t\t\t'export default class RootSkillViewController extends AbstractSkillViewController'\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async cantCreateTwoRootSvcs() {\n\t\tconst results = await this.action.execute({\n\t\t\tviewType: 'skillView',\n\t\t\tisRoot: true,\n\t\t})\n\n\t\tassert.isTruthy(results.errors)\n\n\t\terrorAssert.assertError(results.errors?.[0], 'SKILL_VIEW_EXISTS', {\n\t\t\tname: 'Root',\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async asksForNamesIfCreatingSkillViewNotRoot() {\n\t\tconst promise = this.action.execute({\n\t\t\tviewType: 'skillView',\n\t\t})\n\n\t\tawait this.waitForInput()\n\n\t\tlet last = this.ui.getLastInvocation()\n\n\t\tassert.isEqual(last.command, 'prompt')\n\n\t\tawait this.ui.sendInput('Dashboard')\n\t\tawait this.ui.sendInput('\\n')\n\n\t\tconst results = await promise\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tthis.dashboardVc = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'Dashboard.svc.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tassert.doesInclude(this.dashboardVc, 'skillViewControllers')\n\n\t\tthis.ui.reset()\n\t}\n\n\t@test()\n\tprotected static async asksForViewModelWhenCreatingSkillView() {\n\t\tconst promise = this.action.execute({\n\t\t\tviewType: 'view',\n\t\t\tnameReadable: 'Appointments card',\n\t\t})\n\n\t\tawait this.waitForInput()\n\n\t\tconst last = this.ui.getLastInvocation()\n\n\t\tassert.isEqual(last.command, 'prompt')\n\t\tassert.doesInclude(last.options.options.choices, {\n\t\t\tvalue: 'Card',\n\t\t})\n\n\t\tawait this.ui.sendInput('Card')\n\n\t\tconst results = await promise\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tthis.appointmentsCard = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'AppointmentsCard.vc.ts',\n\t\t\tresults.files\n\t\t)\n\t}\n\n\t@test()\n\tprotected static skillViewExtendsAbstractViewControllerWithProperView() {\n\t\tconst contents = diskUtil.readFile(this.appointmentsCard)\n\t\tassert.doesInclude(\n\t\t\tcontents,\n\t\t\t'export default class AppointmentsCardViewController extends AbstractViewController<Card>'\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async nicelyTypesRootSkillViewController() {\n\t\tconst contents = this.buildTestfile({\n\t\t\tidInterfaceName: 'SkillViewControllerId',\n\t\t\tcode: `\nconst root = vcFactory.Controller('testing-views.root', {})\nexport const svcModel = root.render()\nexport const svcId: SkillViewControllerId = 'testing-views.root'`,\n\t\t})\n\n\t\tconst testFile = this.resolvePath('src', 'test.ts')\n\t\tdiskUtil.writeFile(testFile, contents)\n\n\t\tconst imported = await this.Service('import').importAll(testFile)\n\n\t\tassert.isTruthy(imported.svcModel)\n\t\tassert.isTruthy(imported.svcId)\n\t}\n\n\t@test()\n\tprotected static async nicelyTypesViewController() {\n\t\tconst contents = this.buildTestfile({\n\t\t\tidInterfaceName: 'ViewControllerId',\n\t\t\tcode: `\n\t\tconst apptCard = vcFactory.Controller('testing-views.appointments-card', {})\n\t\texport const vcModel = apptCard.render()\n\t\texport const vcId: ViewControllerId = 'testing-views.appointments-card'`,\n\t\t})\n\n\t\tconst testFile = this.resolvePath('src', 'test.ts')\n\t\tdiskUtil.writeFile(testFile, contents)\n\n\t\tconst imported = await this.Service('import').importAll(testFile)\n\n\t\tassert.isTruthy(imported.vcModel)\n\t\tassert.isTruthy(imported.vcId)\n\t}\n\n\t@test()\n\tprotected static async typesViewControllerOptions() {\n\t\tconst viewsFile = this.resolveHashSprucePath('views', 'views.ts')\n\t\tconst viewContents = diskUtil.readFile(viewsFile)\n\n\t\tassert.doesInclude(viewContents, `interface ViewControllerOptionsMap`)\n\t\tassert.doesInclude(\n\t\t\tviewContents,\n\t\t\t`'testing-views.appointments-card': ConstructorParameters<typeof AppointmentsCardViewController>[0]`\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async typesSkillViewControllerLoadOptionsOptions() {\n\t\tconst viewsFile = this.resolveHashSprucePath('views', 'views.ts')\n\t\tconst viewContents = diskUtil.readFile(viewsFile)\n\n\t\tassert.doesInclude(viewContents, `interface SkillViewControllerArgsMap`)\n\t\tassert.doesInclude(\n\t\t\tviewContents,\n\t\t\t`type LoadOptions<Args extends Record<string,any>[]> = Args[0]['args'] extends Record<string, any> ? Args[0]['args'] : Record<never, any>`\n\t\t)\n\t\tassert.doesInclude(\n\t\t\tviewContents,\n\t\t\t`'testing-views.root': LoadOptions<Parameters<RootSkillViewController['load']>>`\n\t\t)\n\t}\n\n\tprivate static buildTestfile(options: {\n\t\tcode: string\n\t\tidInterfaceName: 'SkillViewControllerId' | 'ViewControllerId'\n\t}) {\n\t\tconst { code, idInterfaceName } = options\n\n\t\treturn (\n\t\t\t`\nimport ` +\n\t\t\t`'#spruce/views/views'\nimport {\n\tViewControllerFactory,\n\tAuthenticatorImpl,\n\tStubStorage,\n\t${idInterfaceName},\n} from '@sprucelabs/heartwood-view-controllers'\nimport { vcDiskUtil } from '@sprucelabs/spruce-test-fixtures'\n\nAuthenticatorImpl.setStorage(new StubStorage())\n\nconst vcFactory = ViewControllerFactory.Factory({\n\tcontrollerMap: vcDiskUtil.loadViewControllersAndBuildMap('testing-views', __dirname),\n\tdevice: {} as any,\n\tconnectToApi: async () => {\n\t\treturn 'yes' as any\n\t},\n})\n${code}\n\t\t`.trim()\n\t\t)\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"CreatingASkillView.test.js","names":["_spruceSkillUtils","require","_testUtils","_AbstractSkillTest2","_interopRequireDefault","_test","_dec","_dec2","_dec3","_dec4","_dec5","_dec6","_dec7","_dec8","_dec9","_dec10","_dec11","_dec12","_dec13","_dec14","_class","_CreatingASkillViewTest","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","CreatingASkillViewTest","exports","test","_AbstractSkillTest","_classCallCheck2","arguments","_inherits2","_createClass2","key","value","_beforeEach","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","_get2","action","Action","stop","beforeEach","hasCreateAction","assert","isFunction","execute","_viewFeatureHasExpectedDependencies","_callee2","features","view","_callee2$","_context2","featureInstaller","sent","getFeature","isEqualDeep","dependencies","code","isRequired","viewFeatureHasExpectedDependencies","_asksIfRootSkillViewIfNotYetCreated","_callee3","last","_callee3$","_context3","viewType","waitForInput","ui","getLastInvocation","isEqual","command","reset","asksIfRootSkillViewIfNotYetCreated","_canCreateRootSkillView","_callee4","results","_callee4$","_context4","isRoot","isFalsy","errors","rootSvc","testUtil","assertFileByNameInGeneratedFiles","files","doesInclude","canCreateRootSkillView","_generatesValidRootSkillView","_callee5","_callee5$","_context5","Service","check","generatesValidRootSkillView","_rootSkillViewExtendsAbstractSkillViewController","_callee6","contents","_callee6$","_context6","diskUtil","readFile","rootSkillViewExtendsAbstractSkillViewController","_cantCreateTwoRootSvcs","_callee7","_results$errors","_callee7$","_context7","isTruthy","errorAssert","assertError","name","cantCreateTwoRootSvcs","_asksForNamesIfCreatingSkillViewNotRoot","_callee8","promise","_callee8$","_context8","sendInput","dashboardVc","asksForNamesIfCreatingSkillViewNotRoot","_asksForViewModelWhenCreatingSkillView","_callee9","_callee9$","_context9","nameReadable","options","choices","appointmentsCard","asksForViewModelWhenCreatingSkillView","skillViewExtendsAbstractViewControllerWithProperView","_nicelyTypesRootSkillViewController","_callee10","testFile","imported","_callee10$","_context10","buildTestfile","idInterfaceName","resolvePath","writeFile","importAll","svcModel","svcId","nicelyTypesRootSkillViewController","_nicelyTypesViewController","_callee11","_callee11$","_context11","vcModel","vcId","nicelyTypesViewController","_typesViewControllerOptions","_callee12","viewsFile","viewContents","_callee12$","_context12","resolveHashSprucePath","typesViewControllerOptions","_typesSkillViewControllerLoadOptionsOptions","_callee13","_callee13$","_context13","typesSkillViewControllerLoadOptionsOptions","concat","trim","AbstractSkillTest","_defineProperty2","_applyDecoratedDescriptor2","Object","getOwnPropertyDescriptor"],"sources":["../../../../src/__tests__/behavioral/views/CreatingASkillView.test.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport CreateAction from '../../../features/view/actions/CreateAction'\nimport AbstractSkillTest from '../../../tests/AbstractSkillTest'\nimport testUtil from '../../../tests/utilities/test.utility'\n\nexport default class CreatingASkillViewTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'views'\n\tprivate static action: CreateAction\n\tprivate static rootSvc: string\n\tpublic static appointmentsCard: string\n\tprivate static dashboardVc: string\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tthis.action = this.Action('view', 'create') as CreateAction\n\t}\n\n\t@test()\n\tprotected static hasCreateAction() {\n\t\tassert.isFunction(this.action.execute)\n\t}\n\n\t@test()\n\tprotected static async viewFeatureHasExpectedDependencies() {\n\t\tconst features = await this.featureInstaller\n\t\tconst view = features.getFeature('view')\n\t\tassert.isEqualDeep(view.dependencies, [\n\t\t\t{\n\t\t\t\tcode: 'node',\n\t\t\t\tisRequired: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcode: 'schema',\n\t\t\t\tisRequired: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcode: 'event',\n\t\t\t\tisRequired: true,\n\t\t\t},\n\t\t])\n\t}\n\n\t@test()\n\tprotected static async asksIfRootSkillViewIfNotYetCreated() {\n\t\tvoid this.action.execute({\n\t\t\tviewType: 'skillView',\n\t\t})\n\n\t\tawait this.waitForInput()\n\n\t\tconst last = this.ui.getLastInvocation()\n\n\t\tassert.isEqual(last.command, 'confirm')\n\n\t\tthis.ui.reset()\n\t}\n\n\t@test()\n\tprotected static async canCreateRootSkillView() {\n\t\tconst results = await this.action.execute({\n\t\t\tviewType: 'skillView',\n\t\t\tisRoot: true,\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tthis.rootSvc = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'Root.svc.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tassert.doesInclude(this.rootSvc, 'skillViewControllers')\n\t}\n\n\t@test()\n\tprotected static async generatesValidRootSkillView() {\n\t\tawait this.Service('typeChecker').check(this.rootSvc)\n\t}\n\n\t@test()\n\tprotected static async rootSkillViewExtendsAbstractSkillViewController() {\n\t\tconst contents = diskUtil.readFile(this.rootSvc)\n\t\tassert.doesInclude(\n\t\t\tcontents,\n\t\t\t'export default class RootSkillViewController extends AbstractSkillViewController'\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async cantCreateTwoRootSvcs() {\n\t\tconst results = await this.action.execute({\n\t\t\tviewType: 'skillView',\n\t\t\tisRoot: true,\n\t\t})\n\n\t\tassert.isTruthy(results.errors)\n\n\t\terrorAssert.assertError(results.errors?.[0], 'SKILL_VIEW_EXISTS', {\n\t\t\tname: 'Root',\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async asksForNamesIfCreatingSkillViewNotRoot() {\n\t\tconst promise = this.action.execute({\n\t\t\tviewType: 'skillView',\n\t\t})\n\n\t\tawait this.waitForInput()\n\n\t\tlet last = this.ui.getLastInvocation()\n\n\t\tassert.isEqual(last.command, 'prompt')\n\n\t\tawait this.ui.sendInput('Dashboard')\n\t\tawait this.ui.sendInput('\\n')\n\n\t\tconst results = await promise\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tthis.dashboardVc = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'Dashboard.svc.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tassert.doesInclude(this.dashboardVc, 'skillViewControllers')\n\n\t\tthis.ui.reset()\n\t}\n\n\t@test()\n\tprotected static async asksForViewModelWhenCreatingSkillView() {\n\t\tconst promise = this.action.execute({\n\t\t\tviewType: 'view',\n\t\t\tnameReadable: 'Appointments card',\n\t\t})\n\n\t\tawait this.waitForInput()\n\n\t\tconst last = this.ui.getLastInvocation()\n\n\t\tassert.isEqual(last.command, 'prompt')\n\t\tassert.doesInclude(last.options.options.choices, {\n\t\t\tvalue: 'Card',\n\t\t})\n\n\t\tawait this.ui.sendInput('Card')\n\n\t\tconst results = await promise\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tthis.appointmentsCard = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'AppointmentsCard.vc.ts',\n\t\t\tresults.files\n\t\t)\n\t}\n\n\t@test()\n\tprotected static skillViewExtendsAbstractViewControllerWithProperView() {\n\t\tconst contents = diskUtil.readFile(this.appointmentsCard)\n\t\tassert.doesInclude(\n\t\t\tcontents,\n\t\t\t'export default class AppointmentsCardViewController extends AbstractViewController<Card>'\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async nicelyTypesRootSkillViewController() {\n\t\tconst contents = this.buildTestfile({\n\t\t\tidInterfaceName: 'SkillViewControllerId',\n\t\t\tcode: `\nconst root = vcFactory.Controller('testing-views.root', {})\nexport const svcModel = root.render()\nexport const svcId: SkillViewControllerId = 'testing-views.root'`,\n\t\t})\n\n\t\tconst testFile = this.resolvePath('src', 'test.ts')\n\t\tdiskUtil.writeFile(testFile, contents)\n\n\t\tconst imported = await this.Service('import').importAll(testFile)\n\n\t\tassert.isTruthy(imported.svcModel)\n\t\tassert.isTruthy(imported.svcId)\n\t}\n\n\t@test()\n\tprotected static async nicelyTypesViewController() {\n\t\tconst contents = this.buildTestfile({\n\t\t\tidInterfaceName: 'ViewControllerId',\n\t\t\tcode: `\n\t\tconst apptCard = vcFactory.Controller('testing-views.appointments-card', {})\n\t\texport const vcModel = apptCard.render()\n\t\texport const vcId: ViewControllerId = 'testing-views.appointments-card'`,\n\t\t})\n\n\t\tconst testFile = this.resolvePath('src', 'test.ts')\n\t\tdiskUtil.writeFile(testFile, contents)\n\n\t\tconst imported = await this.Service('import').importAll(testFile)\n\n\t\tassert.isTruthy(imported.vcModel)\n\t\tassert.isTruthy(imported.vcId)\n\t}\n\n\t@test()\n\tprotected static async typesViewControllerOptions() {\n\t\tconst viewsFile = this.resolveHashSprucePath('views', 'views.ts')\n\t\tconst viewContents = diskUtil.readFile(viewsFile)\n\n\t\tassert.doesInclude(viewContents, `interface ViewControllerOptionsMap`)\n\t\tassert.doesInclude(\n\t\t\tviewContents,\n\t\t\t`'testing-views.appointments-card': ConstructorParameters<typeof AppointmentsCardViewController>[0]`\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async typesSkillViewControllerLoadOptionsOptions() {\n\t\tconst viewsFile = this.resolveHashSprucePath('views', 'views.ts')\n\t\tconst viewContents = diskUtil.readFile(viewsFile)\n\n\t\tassert.doesInclude(viewContents, `interface SkillViewControllerArgsMap`)\n\t\tassert.doesInclude(\n\t\t\tviewContents,\n\t\t\t`type LoadOptions<Args extends Record<string,any>[]> = Args[0]['args'] extends Record<string, any> ? Args[0]['args'] : Record<never, any>`\n\t\t)\n\t\tassert.doesInclude(\n\t\t\tviewContents,\n\t\t\t`'testing-views.root': LoadOptions<Parameters<RootSkillViewController['load']>>`\n\t\t)\n\t}\n\n\tprivate static buildTestfile(options: {\n\t\tcode: string\n\t\tidInterfaceName: 'SkillViewControllerId' | 'ViewControllerId'\n\t}) {\n\t\tconst { code, idInterfaceName } = options\n\n\t\treturn (\n\t\t\t`\nimport ` +\n\t\t\t`'#spruce/views/views'\nimport {\n\tViewControllerFactory,\n\tAuthenticatorImpl,\n\tStubStorage,\n\t${idInterfaceName},\n} from '@sprucelabs/heartwood-view-controllers'\nimport { vcDiskUtil } from '@sprucelabs/spruce-test-fixtures'\n\nAuthenticatorImpl.setStorage(new StubStorage())\n\nconst vcFactory = ViewControllerFactory.Factory({\n\tcontrollerMap: vcDiskUtil.loadViewControllersAndBuildMap('testing-views', __dirname).map,\n\tdevice: {} as any,\n\tconnectToApi: async () => {\n\t\treturn 'yes' as any\n\t},\n})\n${code}\n\t\t`.trim()\n\t\t)\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
@@ -12,6 +12,10 @@ export default class CreatingAViewPluginTest extends AbstractSkillTest {
12
12
  protected static combineViewsFileIsValid(): Promise<void>;
13
13
  protected static updatesViewCombinedFileWithTypesAsExpected(): Promise<void>;
14
14
  protected static updatesViewCombinedWithPluginsAsExpected(): Promise<void>;
15
+ protected static viewPluginCanImportAnotherViewPlugin(): Promise<void>;
16
+ protected static canImportPluginFromExternalLibrary(): Promise<void>;
17
+ private static syncViews;
18
+ private static writeFile;
15
19
  private static assertCombinedFileIncludes;
16
20
  private static assertPluginContentsEqualExpected;
17
21
  private static assertThrowsAlreadyExists;
@@ -18,10 +18,10 @@ var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/
18
18
  var _spruceSkillUtils = require("@sprucelabs/spruce-skill-utils");
19
19
  var _testUtils = require("@sprucelabs/test-utils");
20
20
  var _AbstractSkillTest2 = _interopRequireDefault(require("../../../../tests/AbstractSkillTest"));
21
- var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _class, _CreatingAViewPluginTest;
21
+ var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _dec13, _class, _CreatingAViewPluginTest;
22
22
  function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
23
23
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
24
- var CreatingAViewPluginTest = exports["default"] = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUtils.test)('creates expected plugin file 1', 'test', 'test', 'updated'), _dec3 = (0, _testUtils.test)('creates expected plugin file 2', 'another', 'another', 'updated'), _dec4 = (0, _testUtils.test)('creates expected plugin file 3', 'a third', 'aThird', 'generated'), _dec5 = (0, _testUtils.test)(), _dec6 = (0, _testUtils.test)(), _dec7 = (0, _testUtils.test)(), _dec8 = (0, _testUtils.test)(), _dec9 = (0, _testUtils.test)(), _dec10 = (0, _testUtils.test)(), _dec11 = (0, _testUtils.test)(), (_class = (_CreatingAViewPluginTest = /*#__PURE__*/function (_AbstractSkillTest) {
24
+ var CreatingAViewPluginTest = exports["default"] = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUtils.test)('creates expected plugin file 1', 'test', 'test', 'updated'), _dec3 = (0, _testUtils.test)('creates expected plugin file 2', 'another', 'another', 'updated'), _dec4 = (0, _testUtils.test)('creates expected plugin file 3', 'a third', 'aThird', 'generated'), _dec5 = (0, _testUtils.test)(), _dec6 = (0, _testUtils.test)(), _dec7 = (0, _testUtils.test)(), _dec8 = (0, _testUtils.test)(), _dec9 = (0, _testUtils.test)(), _dec10 = (0, _testUtils.test)(), _dec11 = (0, _testUtils.test)(), _dec12 = (0, _testUtils.test)(), _dec13 = (0, _testUtils.test)(), (_class = (_CreatingAViewPluginTest = /*#__PURE__*/function (_AbstractSkillTest) {
25
25
  function CreatingAViewPluginTest() {
26
26
  (0, _classCallCheck2["default"])(this, CreatingAViewPluginTest);
27
27
  return _callSuper(this, CreatingAViewPluginTest, arguments);
@@ -238,9 +238,9 @@ var CreatingAViewPluginTest = exports["default"] = (_dec = (0, _testUtils.test)(
238
238
  return _regenerator["default"].wrap(function _callee10$(_context10) {
239
239
  while (1) switch (_context10.prev = _context10.next) {
240
240
  case 0:
241
- expected = "export const pluginClasses = {\n\taThird: AThirdViewPlugin,\n\tanother: AnotherViewPlugin,\n\ttest: TestViewPlugin,\n\ttestCamel: TestCamelViewPlugin,\n}\n";
241
+ expected = "export const pluginsByName = {\n\taThird: AThirdViewPlugin,\n\tanother: AnotherViewPlugin,\n\ttest: TestViewPlugin,\n\ttestCamel: TestCamelViewPlugin,\n}\n";
242
242
  this.assertCombinedFileIncludes(expected);
243
- this.assertCombinedFileIncludes('heartwood(vcs, pluginClasses)');
243
+ this.assertCombinedFileIncludes('heartwood(vcs, pluginsByName)');
244
244
  case 3:
245
245
  case "end":
246
246
  return _context10.stop();
@@ -252,6 +252,84 @@ var CreatingAViewPluginTest = exports["default"] = (_dec = (0, _testUtils.test)(
252
252
  }
253
253
  return updatesViewCombinedWithPluginsAsExpected;
254
254
  }()
255
+ }, {
256
+ key: "viewPluginCanImportAnotherViewPlugin",
257
+ value: function () {
258
+ var _viewPluginCanImportAnotherViewPlugin = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee11() {
259
+ var expected;
260
+ return _regenerator["default"].wrap(function _callee11$(_context11) {
261
+ while (1) switch (_context11.prev = _context11.next) {
262
+ case 0:
263
+ this.writeFile('export class ExternalViewPlugin {}', 'external.ts');
264
+ this.writeFile("export { ExternalViewPlugin as default } from './external'", 'actual.view.plugin.ts');
265
+ _context11.next = 4;
266
+ return this.syncViews();
267
+ case 4:
268
+ expected = "export const pluginsByName = {\n\tactual: ExternalViewPlugin,\n\taThird: AThirdViewPlugin,\n\tanother: AnotherViewPlugin,\n\ttest: TestViewPlugin,\n\ttestCamel: TestCamelViewPlugin,\n}\n";
269
+ this.assertCombinedFileIncludes(expected);
270
+ case 6:
271
+ case "end":
272
+ return _context11.stop();
273
+ }
274
+ }, _callee11, this);
275
+ }));
276
+ function viewPluginCanImportAnotherViewPlugin() {
277
+ return _viewPluginCanImportAnotherViewPlugin.apply(this, arguments);
278
+ }
279
+ return viewPluginCanImportAnotherViewPlugin;
280
+ }()
281
+ }, {
282
+ key: "canImportPluginFromExternalLibrary",
283
+ value: function () {
284
+ var _canImportPluginFromExternalLibrary = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee12() {
285
+ var expected;
286
+ return _regenerator["default"].wrap(function _callee12$(_context12) {
287
+ while (1) switch (_context12.prev = _context12.next) {
288
+ case 0:
289
+ this.writeFile("export { CardViewController as default } from '@sprucelabs/heartwood-view-controllers'", 'card.view.plugin.ts');
290
+ _context12.next = 3;
291
+ return this.syncViews();
292
+ case 3:
293
+ expected = "export const pluginsByName = {\n\tactual: ExternalViewPlugin,\n\tcard: CardViewController,\n\taThird: AThirdViewPlugin,\n\tanother: AnotherViewPlugin,\n\ttest: TestViewPlugin,\n\ttestCamel: TestCamelViewPlugin,\n}\n";
294
+ this.assertCombinedFileIncludes(expected);
295
+ case 5:
296
+ case "end":
297
+ return _context12.stop();
298
+ }
299
+ }, _callee12, this);
300
+ }));
301
+ function canImportPluginFromExternalLibrary() {
302
+ return _canImportPluginFromExternalLibrary.apply(this, arguments);
303
+ }
304
+ return canImportPluginFromExternalLibrary;
305
+ }()
306
+ }, {
307
+ key: "syncViews",
308
+ value: function () {
309
+ var _syncViews = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee13() {
310
+ return _regenerator["default"].wrap(function _callee13$(_context13) {
311
+ while (1) switch (_context13.prev = _context13.next) {
312
+ case 0:
313
+ _context13.next = 2;
314
+ return this.Action('view', 'sync').execute({});
315
+ case 2:
316
+ case "end":
317
+ return _context13.stop();
318
+ }
319
+ }, _callee13, this);
320
+ }));
321
+ function syncViews() {
322
+ return _syncViews.apply(this, arguments);
323
+ }
324
+ return syncViews;
325
+ }()
326
+ }, {
327
+ key: "writeFile",
328
+ value: function writeFile(content, fileName) {
329
+ var actualPlugiContent = content;
330
+ var actualDestination = this.resolvePath('src', fileName);
331
+ _spruceSkillUtils.diskUtil.writeFile(actualDestination, actualPlugiContent);
332
+ }
255
333
  }, {
256
334
  key: "assertCombinedFileIncludes",
257
335
  value: function assertCombinedFileIncludes(expected) {
@@ -269,26 +347,26 @@ var CreatingAViewPluginTest = exports["default"] = (_dec = (0, _testUtils.test)(
269
347
  }, {
270
348
  key: "assertThrowsAlreadyExists",
271
349
  value: function () {
272
- var _assertThrowsAlreadyExists = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee11(name) {
350
+ var _assertThrowsAlreadyExists = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee14(name) {
273
351
  var results;
274
- return _regenerator["default"].wrap(function _callee11$(_context11) {
275
- while (1) switch (_context11.prev = _context11.next) {
352
+ return _regenerator["default"].wrap(function _callee14$(_context14) {
353
+ while (1) switch (_context14.prev = _context14.next) {
276
354
  case 0:
277
- _context11.next = 2;
355
+ _context14.next = 2;
278
356
  return this.execute({
279
357
  nameReadable: name
280
358
  });
281
359
  case 2:
282
- results = _context11.sent;
360
+ results = _context14.sent;
283
361
  _testUtils.assert.isTruthy(results.errors);
284
362
  _testUtils.errorAssert.assertError(results.errors[0], 'VIEW_PLUGIN_ALREADY_EXISTS', {
285
363
  name: name
286
364
  });
287
365
  case 5:
288
366
  case "end":
289
- return _context11.stop();
367
+ return _context14.stop();
290
368
  }
291
- }, _callee11, this);
369
+ }, _callee14, this);
292
370
  }));
293
371
  function assertThrowsAlreadyExists(_x4) {
294
372
  return _assertThrowsAlreadyExists.apply(this, arguments);
@@ -309,19 +387,19 @@ var CreatingAViewPluginTest = exports["default"] = (_dec = (0, _testUtils.test)(
309
387
  }, {
310
388
  key: "execute",
311
389
  value: function () {
312
- var _execute = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee12(options) {
313
- return _regenerator["default"].wrap(function _callee12$(_context12) {
314
- while (1) switch (_context12.prev = _context12.next) {
390
+ var _execute = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee15(options) {
391
+ return _regenerator["default"].wrap(function _callee15$(_context15) {
392
+ while (1) switch (_context15.prev = _context15.next) {
315
393
  case 0:
316
- _context12.next = 2;
394
+ _context15.next = 2;
317
395
  return this.action.execute(options);
318
396
  case 2:
319
- return _context12.abrupt("return", _context12.sent);
397
+ return _context15.abrupt("return", _context15.sent);
320
398
  case 3:
321
399
  case "end":
322
- return _context12.stop();
400
+ return _context15.stop();
323
401
  }
324
- }, _callee12, this);
402
+ }, _callee15, this);
325
403
  }));
326
404
  function execute(_x5) {
327
405
  return _execute.apply(this, arguments);
@@ -350,5 +428,5 @@ var CreatingAViewPluginTest = exports["default"] = (_dec = (0, _testUtils.test)(
350
428
  return this.resolveHashSprucePath('views', 'views.ts');
351
429
  }
352
430
  }]);
353
- }(_AbstractSkillTest2["default"]), (0, _defineProperty2["default"])(_CreatingAViewPluginTest, "skillCacheKey", 'views'), (0, _defineProperty2["default"])(_CreatingAViewPluginTest, "action", void 0), _CreatingAViewPluginTest), ((0, _applyDecoratedDescriptor2["default"])(_class, "hasAction", [_dec], Object.getOwnPropertyDescriptor(_class, "hasAction"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "createsExpectedFile", [_dec2, _dec3, _dec4], Object.getOwnPropertyDescriptor(_class, "createsExpectedFile"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "usesCamelNameIfProvided", [_dec5], Object.getOwnPropertyDescriptor(_class, "usesCamelNameIfProvided"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "actuallyCreatesFile", [_dec6], Object.getOwnPropertyDescriptor(_class, "actuallyCreatesFile"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "throwsIfPluginAlreadyExists", [_dec7], Object.getOwnPropertyDescriptor(_class, "throwsIfPluginAlreadyExists"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "contentsAreEqualToExpected", [_dec8], Object.getOwnPropertyDescriptor(_class, "contentsAreEqualToExpected"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "combineViewsFileIsValid", [_dec9], Object.getOwnPropertyDescriptor(_class, "combineViewsFileIsValid"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "updatesViewCombinedFileWithTypesAsExpected", [_dec10], Object.getOwnPropertyDescriptor(_class, "updatesViewCombinedFileWithTypesAsExpected"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "updatesViewCombinedWithPluginsAsExpected", [_dec11], Object.getOwnPropertyDescriptor(_class, "updatesViewCombinedWithPluginsAsExpected"), _class)), _class));
431
+ }(_AbstractSkillTest2["default"]), (0, _defineProperty2["default"])(_CreatingAViewPluginTest, "skillCacheKey", 'views'), (0, _defineProperty2["default"])(_CreatingAViewPluginTest, "action", void 0), _CreatingAViewPluginTest), ((0, _applyDecoratedDescriptor2["default"])(_class, "hasAction", [_dec], Object.getOwnPropertyDescriptor(_class, "hasAction"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "createsExpectedFile", [_dec2, _dec3, _dec4], Object.getOwnPropertyDescriptor(_class, "createsExpectedFile"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "usesCamelNameIfProvided", [_dec5], Object.getOwnPropertyDescriptor(_class, "usesCamelNameIfProvided"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "actuallyCreatesFile", [_dec6], Object.getOwnPropertyDescriptor(_class, "actuallyCreatesFile"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "throwsIfPluginAlreadyExists", [_dec7], Object.getOwnPropertyDescriptor(_class, "throwsIfPluginAlreadyExists"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "contentsAreEqualToExpected", [_dec8], Object.getOwnPropertyDescriptor(_class, "contentsAreEqualToExpected"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "combineViewsFileIsValid", [_dec9], Object.getOwnPropertyDescriptor(_class, "combineViewsFileIsValid"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "updatesViewCombinedFileWithTypesAsExpected", [_dec10], Object.getOwnPropertyDescriptor(_class, "updatesViewCombinedFileWithTypesAsExpected"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "updatesViewCombinedWithPluginsAsExpected", [_dec11], Object.getOwnPropertyDescriptor(_class, "updatesViewCombinedWithPluginsAsExpected"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "viewPluginCanImportAnotherViewPlugin", [_dec12], Object.getOwnPropertyDescriptor(_class, "viewPluginCanImportAnotherViewPlugin"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "canImportPluginFromExternalLibrary", [_dec13], Object.getOwnPropertyDescriptor(_class, "canImportPluginFromExternalLibrary"), _class)), _class));
354
432
  //# sourceMappingURL=CreatingAViewPlugin.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CreatingAViewPlugin.test.js","names":["_spruceSkillUtils","require","_testUtils","_AbstractSkillTest2","_interopRequireDefault","_dec","_dec2","_dec3","_dec4","_dec5","_dec6","_dec7","_dec8","_dec9","_dec10","_dec11","_class","_CreatingAViewPluginTest","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","CreatingAViewPluginTest","exports","test","_AbstractSkillTest","_classCallCheck2","arguments","_inherits2","_createClass2","key","value","_beforeEach","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","_get2","action","Action","stop","beforeEach","_hasAction","_callee2","_callee2$","_context2","assert","isFunction","execute","hasAction","_createsExpectedFile","_callee3","readable","expected","combinedViewAction","results","_callee3$","_context3","nameReadable","sent","assertExpectedFileCreated","isFalsy","errors","createsExpectedFile","_x","_x2","_x3","_usesCamelNameIfProvided","_callee4","_callee4$","_context4","nameCamel","usesCamelNameIfProvided","_actuallyCreatesFile","_callee5","_callee5$","_context5","assertViewPluginWritten","actuallyCreatesFile","_throwsIfPluginAlreadyExists","_callee6","_callee6$","_context6","assertThrowsAlreadyExists","throwsIfPluginAlreadyExists","_contentsAreEqualToExpected","_callee7","_callee7$","_context7","assertPluginContentsEqualExpected","contentsAreEqualToExpected","_combineViewsFileIsValid","_callee8","combined","_callee8$","_context8","getPathToCombinedViewsFile","Service","check","combineViewsFileIsValid","_updatesViewCombinedFileWithTypesAsExpected","_callee9","_callee9$","_context9","assertCombinedFileIncludes","updatesViewCombinedFileWithTypesAsExpected","_updatesViewCombinedWithPluginsAsExpected","_callee10","_callee10$","_context10","updatesViewCombinedWithPluginsAsExpected","contents","diskUtil","readFile","doesInclude","namePascal","buildPathToViewPlugin","concat","isEqual","trim","_assertThrowsAlreadyExists","_callee11","name","_callee11$","_context11","isTruthy","errorAssert","assertError","_x4","path","isTrue","doesFileExist","resolvePath","_execute","_callee12","options","_callee12$","_context12","abrupt","_x5","_results$files","_results$files2","expectedName","files","resolveHashSprucePath","AbstractSkillTest","_defineProperty2","_applyDecoratedDescriptor2","Object","getOwnPropertyDescriptor"],"sources":["../../../../../src/__tests__/behavioral/views/plugins/CreatingAViewPlugin.test.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert, errorAssert } from '@sprucelabs/test-utils'\nimport { FeatureActionResponse } from '../../../../features/features.types'\nimport CreatePluginAction from '../../../../features/view/actions/CreatePluginAction'\nimport AbstractSkillTest from '../../../../tests/AbstractSkillTest'\n\nexport default class CreatingAViewPluginTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'views'\n\tprivate static action: CreatePluginAction\n\n\tprotected static async beforeEach(): Promise<void> {\n\t\tawait super.beforeEach()\n\t\tthis.action = this.Action('view', 'createPlugin')\n\t}\n\n\t@test()\n\tprotected static async hasAction() {\n\t\tassert.isFunction(this.action.execute)\n\t}\n\n\t@test('creates expected plugin file 1', 'test', 'test', 'updated')\n\t@test('creates expected plugin file 2', 'another', 'another', 'updated')\n\t@test('creates expected plugin file 3', 'a third', 'aThird', 'generated')\n\tprotected static async createsExpectedFile(\n\t\treadable: string,\n\t\texpected: string,\n\t\tcombinedViewAction: string\n\t) {\n\t\tconst results = await this.execute({ nameReadable: readable })\n\t\tthis.assertExpectedFileCreated(results, expected, combinedViewAction)\n\t\tassert.isFalsy(\n\t\t\tresults.errors,\n\t\t\t'Errors were returned and none were expected!'\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async usesCamelNameIfProvided() {\n\t\tconst results = await this.execute({\n\t\t\tnameReadable: 'test',\n\t\t\tnameCamel: 'testCamel',\n\t\t})\n\n\t\tthis.assertExpectedFileCreated(results, 'testCamel', 'updated')\n\t}\n\n\t@test()\n\tprotected static async actuallyCreatesFile() {\n\t\tthis.assertViewPluginWritten('test')\n\t\tthis.assertViewPluginWritten('another')\n\t\tthis.assertViewPluginWritten('aThird')\n\t}\n\n\t@test()\n\tprotected static async throwsIfPluginAlreadyExists() {\n\t\tawait this.assertThrowsAlreadyExists('test')\n\t\tawait this.assertThrowsAlreadyExists('another')\n\t}\n\n\t@test()\n\tprotected static async contentsAreEqualToExpected() {\n\t\tthis.assertPluginContentsEqualExpected('test', 'Test')\n\t\tthis.assertPluginContentsEqualExpected('another', 'Another')\n\t\tthis.assertPluginContentsEqualExpected('aThird', 'AThird')\n\t}\n\n\t@test()\n\tprotected static async combineViewsFileIsValid() {\n\t\tconst combined = this.getPathToCombinedViewsFile()\n\t\tawait this.Service('typeChecker').check(combined)\n\t}\n\n\t@test()\n\tprotected static async updatesViewCombinedFileWithTypesAsExpected() {\n\t\tconst expected = `\tinterface ViewControllerPlugins {\n\t\taThird: AThirdViewPlugin\n\t\tanother: AnotherViewPlugin\n\t\ttest: TestViewPlugin\n\t\ttestCamel: TestCamelViewPlugin\n\t}`\n\t\tthis.assertCombinedFileIncludes(expected)\n\t}\n\n\t@test()\n\tprotected static async updatesViewCombinedWithPluginsAsExpected() {\n\t\tconst expected = `export const pluginClasses = {\n\taThird: AThirdViewPlugin,\n\tanother: AnotherViewPlugin,\n\ttest: TestViewPlugin,\n\ttestCamel: TestCamelViewPlugin,\n}\n`\n\n\t\tthis.assertCombinedFileIncludes(expected)\n\t\tthis.assertCombinedFileIncludes('heartwood(vcs, pluginClasses)')\n\t}\n\n\tprivate static assertCombinedFileIncludes(expected: string) {\n\t\tconst combined = this.getPathToCombinedViewsFile()\n\t\tconst contents = diskUtil.readFile(combined)\n\t\tassert.doesInclude(contents, expected)\n\t}\n\n\tprivate static assertPluginContentsEqualExpected(\n\t\tnameCamel: string,\n\t\tnamePascal: string\n\t) {\n\t\tconst contents = diskUtil.readFile(this.buildPathToViewPlugin(nameCamel))\n\t\tconst expected = `export default class ${namePascal}ViewPlugin {}`\n\n\t\tassert.isEqual(contents.trim(), expected.trim())\n\t}\n\n\tprivate static async assertThrowsAlreadyExists(name: string) {\n\t\tconst results = await this.execute({ nameReadable: name })\n\t\tassert.isTruthy(results.errors)\n\t\terrorAssert.assertError(results.errors[0], 'VIEW_PLUGIN_ALREADY_EXISTS', {\n\t\t\tname,\n\t\t})\n\t}\n\n\tprivate static assertViewPluginWritten(name: string) {\n\t\tconst path = this.buildPathToViewPlugin(name)\n\t\tassert.isTrue(diskUtil.doesFileExist(path), `File ${path} was not written!`)\n\t}\n\n\tprivate static buildPathToViewPlugin(name: string) {\n\t\treturn this.resolvePath('src', 'viewPlugins', `${name}.view.plugin.ts`)\n\t}\n\n\tprivate static async execute(options: {\n\t\tnameReadable: string\n\t\tnameCamel?: string\n\t}) {\n\t\treturn await this.action.execute(options)\n\t}\n\n\tprivate static assertExpectedFileCreated(\n\t\tresults: FeatureActionResponse,\n\t\texpected: string,\n\t\tcombinedViewAction: string\n\t) {\n\t\tconst expectedName = `${expected}.view.plugin.ts`\n\n\t\tassert.doesInclude(results.files?.[0], {\n\t\t\taction: 'generated',\n\t\t\tname: expectedName,\n\t\t\tpath: this.resolvePath('src', 'viewPlugins', expectedName),\n\t\t})\n\n\t\tassert.doesInclude(results.files?.[1], {\n\t\t\taction: combinedViewAction,\n\t\t\tname: 'views.ts',\n\t\t\tpath: this.getPathToCombinedViewsFile(),\n\t\t})\n\t}\n\n\tprivate static getPathToCombinedViewsFile() {\n\t\treturn this.resolveHashSprucePath('views', 'views.ts')\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"CreatingAViewPlugin.test.js","names":["_spruceSkillUtils","require","_testUtils","_AbstractSkillTest2","_interopRequireDefault","_dec","_dec2","_dec3","_dec4","_dec5","_dec6","_dec7","_dec8","_dec9","_dec10","_dec11","_dec12","_dec13","_class","_CreatingAViewPluginTest","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","CreatingAViewPluginTest","exports","test","_AbstractSkillTest","_classCallCheck2","arguments","_inherits2","_createClass2","key","value","_beforeEach","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","_get2","action","Action","stop","beforeEach","_hasAction","_callee2","_callee2$","_context2","assert","isFunction","execute","hasAction","_createsExpectedFile","_callee3","readable","expected","combinedViewAction","results","_callee3$","_context3","nameReadable","sent","assertExpectedFileCreated","isFalsy","errors","createsExpectedFile","_x","_x2","_x3","_usesCamelNameIfProvided","_callee4","_callee4$","_context4","nameCamel","usesCamelNameIfProvided","_actuallyCreatesFile","_callee5","_callee5$","_context5","assertViewPluginWritten","actuallyCreatesFile","_throwsIfPluginAlreadyExists","_callee6","_callee6$","_context6","assertThrowsAlreadyExists","throwsIfPluginAlreadyExists","_contentsAreEqualToExpected","_callee7","_callee7$","_context7","assertPluginContentsEqualExpected","contentsAreEqualToExpected","_combineViewsFileIsValid","_callee8","combined","_callee8$","_context8","getPathToCombinedViewsFile","Service","check","combineViewsFileIsValid","_updatesViewCombinedFileWithTypesAsExpected","_callee9","_callee9$","_context9","assertCombinedFileIncludes","updatesViewCombinedFileWithTypesAsExpected","_updatesViewCombinedWithPluginsAsExpected","_callee10","_callee10$","_context10","updatesViewCombinedWithPluginsAsExpected","_viewPluginCanImportAnotherViewPlugin","_callee11","_callee11$","_context11","writeFile","syncViews","viewPluginCanImportAnotherViewPlugin","_canImportPluginFromExternalLibrary","_callee12","_callee12$","_context12","canImportPluginFromExternalLibrary","_syncViews","_callee13","_callee13$","_context13","content","fileName","actualPlugiContent","actualDestination","resolvePath","diskUtil","contents","readFile","doesInclude","namePascal","buildPathToViewPlugin","concat","isEqual","trim","_assertThrowsAlreadyExists","_callee14","name","_callee14$","_context14","isTruthy","errorAssert","assertError","_x4","path","isTrue","doesFileExist","_execute","_callee15","options","_callee15$","_context15","abrupt","_x5","_results$files","_results$files2","expectedName","files","resolveHashSprucePath","AbstractSkillTest","_defineProperty2","_applyDecoratedDescriptor2","Object","getOwnPropertyDescriptor"],"sources":["../../../../../src/__tests__/behavioral/views/plugins/CreatingAViewPlugin.test.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert, errorAssert } from '@sprucelabs/test-utils'\nimport { FeatureActionResponse } from '../../../../features/features.types'\nimport CreatePluginAction from '../../../../features/view/actions/CreatePluginAction'\nimport AbstractSkillTest from '../../../../tests/AbstractSkillTest'\n\nexport default class CreatingAViewPluginTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'views'\n\tprivate static action: CreatePluginAction\n\n\tprotected static async beforeEach(): Promise<void> {\n\t\tawait super.beforeEach()\n\t\tthis.action = this.Action('view', 'createPlugin')\n\t}\n\n\t@test()\n\tprotected static async hasAction() {\n\t\tassert.isFunction(this.action.execute)\n\t}\n\n\t@test('creates expected plugin file 1', 'test', 'test', 'updated')\n\t@test('creates expected plugin file 2', 'another', 'another', 'updated')\n\t@test('creates expected plugin file 3', 'a third', 'aThird', 'generated')\n\tprotected static async createsExpectedFile(\n\t\treadable: string,\n\t\texpected: string,\n\t\tcombinedViewAction: string\n\t) {\n\t\tconst results = await this.execute({ nameReadable: readable })\n\t\tthis.assertExpectedFileCreated(results, expected, combinedViewAction)\n\t\tassert.isFalsy(\n\t\t\tresults.errors,\n\t\t\t'Errors were returned and none were expected!'\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async usesCamelNameIfProvided() {\n\t\tconst results = await this.execute({\n\t\t\tnameReadable: 'test',\n\t\t\tnameCamel: 'testCamel',\n\t\t})\n\n\t\tthis.assertExpectedFileCreated(results, 'testCamel', 'updated')\n\t}\n\n\t@test()\n\tprotected static async actuallyCreatesFile() {\n\t\tthis.assertViewPluginWritten('test')\n\t\tthis.assertViewPluginWritten('another')\n\t\tthis.assertViewPluginWritten('aThird')\n\t}\n\n\t@test()\n\tprotected static async throwsIfPluginAlreadyExists() {\n\t\tawait this.assertThrowsAlreadyExists('test')\n\t\tawait this.assertThrowsAlreadyExists('another')\n\t}\n\n\t@test()\n\tprotected static async contentsAreEqualToExpected() {\n\t\tthis.assertPluginContentsEqualExpected('test', 'Test')\n\t\tthis.assertPluginContentsEqualExpected('another', 'Another')\n\t\tthis.assertPluginContentsEqualExpected('aThird', 'AThird')\n\t}\n\n\t@test()\n\tprotected static async combineViewsFileIsValid() {\n\t\tconst combined = this.getPathToCombinedViewsFile()\n\t\tawait this.Service('typeChecker').check(combined)\n\t}\n\n\t@test()\n\tprotected static async updatesViewCombinedFileWithTypesAsExpected() {\n\t\tconst expected = `\tinterface ViewControllerPlugins {\n\t\taThird: AThirdViewPlugin\n\t\tanother: AnotherViewPlugin\n\t\ttest: TestViewPlugin\n\t\ttestCamel: TestCamelViewPlugin\n\t}`\n\t\tthis.assertCombinedFileIncludes(expected)\n\t}\n\n\t@test()\n\tprotected static async updatesViewCombinedWithPluginsAsExpected() {\n\t\tconst expected = `export const pluginsByName = {\n\taThird: AThirdViewPlugin,\n\tanother: AnotherViewPlugin,\n\ttest: TestViewPlugin,\n\ttestCamel: TestCamelViewPlugin,\n}\n`\n\n\t\tthis.assertCombinedFileIncludes(expected)\n\t\tthis.assertCombinedFileIncludes('heartwood(vcs, pluginsByName)')\n\t}\n\n\t@test()\n\tprotected static async viewPluginCanImportAnotherViewPlugin() {\n\t\tthis.writeFile('export class ExternalViewPlugin {}', 'external.ts')\n\t\tthis.writeFile(\n\t\t\t`export { ExternalViewPlugin as default } from './external'`,\n\t\t\t'actual.view.plugin.ts'\n\t\t)\n\n\t\tawait this.syncViews()\n\n\t\tconst expected = `export const pluginsByName = {\n\tactual: ExternalViewPlugin,\n\taThird: AThirdViewPlugin,\n\tanother: AnotherViewPlugin,\n\ttest: TestViewPlugin,\n\ttestCamel: TestCamelViewPlugin,\n}\n`\n\n\t\tthis.assertCombinedFileIncludes(expected)\n\t}\n\n\t@test()\n\tprotected static async canImportPluginFromExternalLibrary() {\n\t\tthis.writeFile(\n\t\t\t\"export { CardViewController as default } from '@sprucelabs/heartwood-view-controllers'\",\n\t\t\t'card.view.plugin.ts'\n\t\t)\n\n\t\tawait this.syncViews()\n\n\t\tconst expected = `export const pluginsByName = {\n\tactual: ExternalViewPlugin,\n\tcard: CardViewController,\n\taThird: AThirdViewPlugin,\n\tanother: AnotherViewPlugin,\n\ttest: TestViewPlugin,\n\ttestCamel: TestCamelViewPlugin,\n}\n`\n\t\tthis.assertCombinedFileIncludes(expected)\n\t}\n\n\tprivate static async syncViews() {\n\t\tawait this.Action('view', 'sync').execute({})\n\t}\n\n\tprivate static writeFile(content: string, fileName: string) {\n\t\tconst actualPlugiContent = content\n\t\tconst actualDestination = this.resolvePath('src', fileName)\n\t\tdiskUtil.writeFile(actualDestination, actualPlugiContent)\n\t}\n\n\tprivate static assertCombinedFileIncludes(expected: string) {\n\t\tconst combined = this.getPathToCombinedViewsFile()\n\t\tconst contents = diskUtil.readFile(combined)\n\t\tassert.doesInclude(contents, expected)\n\t}\n\n\tprivate static assertPluginContentsEqualExpected(\n\t\tnameCamel: string,\n\t\tnamePascal: string\n\t) {\n\t\tconst contents = diskUtil.readFile(this.buildPathToViewPlugin(nameCamel))\n\t\tconst expected = `export default class ${namePascal}ViewPlugin {}`\n\n\t\tassert.isEqual(contents.trim(), expected.trim())\n\t}\n\n\tprivate static async assertThrowsAlreadyExists(name: string) {\n\t\tconst results = await this.execute({ nameReadable: name })\n\t\tassert.isTruthy(results.errors)\n\t\terrorAssert.assertError(results.errors[0], 'VIEW_PLUGIN_ALREADY_EXISTS', {\n\t\t\tname,\n\t\t})\n\t}\n\n\tprivate static assertViewPluginWritten(name: string) {\n\t\tconst path = this.buildPathToViewPlugin(name)\n\t\tassert.isTrue(diskUtil.doesFileExist(path), `File ${path} was not written!`)\n\t}\n\n\tprivate static buildPathToViewPlugin(name: string) {\n\t\treturn this.resolvePath('src', 'viewPlugins', `${name}.view.plugin.ts`)\n\t}\n\n\tprivate static async execute(options: {\n\t\tnameReadable: string\n\t\tnameCamel?: string\n\t}) {\n\t\treturn await this.action.execute(options)\n\t}\n\n\tprivate static assertExpectedFileCreated(\n\t\tresults: FeatureActionResponse,\n\t\texpected: string,\n\t\tcombinedViewAction: string\n\t) {\n\t\tconst expectedName = `${expected}.view.plugin.ts`\n\n\t\tassert.doesInclude(results.files?.[0], {\n\t\t\taction: 'generated',\n\t\t\tname: expectedName,\n\t\t\tpath: this.resolvePath('src', 'viewPlugins', expectedName),\n\t\t})\n\n\t\tassert.doesInclude(results.files?.[1], {\n\t\t\taction: combinedViewAction,\n\t\t\tname: 'views.ts',\n\t\t\tpath: this.getPathToCombinedViewsFile(),\n\t\t})\n\t}\n\n\tprivate static getPathToCombinedViewsFile() {\n\t\treturn this.resolveHashSprucePath('views', 'views.ts')\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
@@ -29,7 +29,7 @@ var SpruceError = exports["default"] = /*#__PURE__*/function (_AbstractSpruceErr
29
29
  key: "friendlyMessage",
30
30
  value: /** An easy to understand version of the errors */
31
31
  function friendlyMessage() {
32
- var _options$friendlyMess, _options$originalErro2, _options$originalErro3, _options$friendlyMess2, _options$originalErro4, _options$originalErro5, _options$originalErro7, _ref, _options$friendlyMess3, _options$originalErro8, _options$friendlyMess4;
32
+ var _options$friendlyMess, _options$originalErro2, _options$originalErro3, _options$friendlyMess2, _options$originalErro4, _options$originalErro5, _options$originalErro7, _ref, _options$friendlyMess3, _options$originalErro8, _options$friendlyMess4, _options$originalErro9;
33
33
  var options = this.options;
34
34
  var message;
35
35
  switch (options === null || options === void 0 ? void 0 : options.code) {
@@ -196,7 +196,7 @@ var SpruceError = exports["default"] = /*#__PURE__*/function (_AbstractSpruceErr
196
196
  message = "Cache is not enabled, so it can't be disabled!";
197
197
  break;
198
198
  case 'DOCKER_NOT_STARTED':
199
- message = 'Docker has not been started! Start it and try again!';
199
+ message = 'Docker has not been started (or you are trying to run this command in a monorepo)! Start it and try again (or move out of a monorepo)! Originial error:\n\n' + ((_options$originalErro9 = options.originalError) === null || _options$originalErro9 === void 0 ? void 0 : _options$originalErro9.stack);
200
200
  break;
201
201
  case 'SCHEMA_TEMPLATE_ITEM_BUILDING_FAILED':
202
202
  message = "Failed to build schema template item for '".concat(_spruceSkillUtils.namesUtil.toPascal(options.schemaNamespace), ".").concat(options.schemaId, "'. The field I had an issue on was '").concat(options.fieldName, "'. It's options are:\n\n").concat(JSON.stringify(options.fieldOptions), ".\n\nChances are you have a circular reference in your schemas. You'll need to extract shared fields to a new file and have your schemas mix those in, vs referencing eath other.");