@sprucelabs/spruce-cli 15.2.6 → 15.2.9

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 (120) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/build/__tests__/behavioral/AddingADependency.test.js +2 -2
  3. package/build/__tests__/behavioral/AddingADependency.test.js.map +1 -1
  4. package/build/__tests__/behavioral/BlockingCommands.test.js +2 -2
  5. package/build/__tests__/behavioral/BlockingCommands.test.js.map +1 -1
  6. package/build/__tests__/behavioral/DeployingASkill.test.js +10 -10
  7. package/build/__tests__/behavioral/DeployingASkill.test.js.map +1 -1
  8. package/build/__tests__/behavioral/DeployingToSandbox.test.js +1 -1
  9. package/build/__tests__/behavioral/DeployingToSandbox.test.js.map +1 -1
  10. package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js +5 -5
  11. package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js.map +1 -1
  12. package/build/__tests__/behavioral/InstallingASkillAtAnOrg.test.js +2 -2
  13. package/build/__tests__/behavioral/InstallingASkillAtAnOrg.test.js.map +1 -1
  14. package/build/__tests__/behavioral/LoggingInAsASkill.test.js +2 -2
  15. package/build/__tests__/behavioral/LoggingInAsASkill.test.js.map +1 -1
  16. package/build/__tests__/behavioral/RebuildingASkill.test.js +1 -1
  17. package/build/__tests__/behavioral/RebuildingASkill.test.js.map +1 -1
  18. package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js +1 -1
  19. package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js.map +1 -1
  20. package/build/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.js +1 -1
  21. package/build/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.js.map +1 -1
  22. package/build/__tests__/behavioral/TestingAConversation.test.js +1 -1
  23. package/build/__tests__/behavioral/TestingAConversation.test.js.map +1 -1
  24. package/build/__tests__/behavioral/errors/SettingUpErrors.test.js +1 -1
  25. package/build/__tests__/behavioral/errors/SettingUpErrors.test.js.map +1 -1
  26. package/build/__tests__/behavioral/events/CreatingAListener.test.js +2 -2
  27. package/build/__tests__/behavioral/events/CreatingAListener.test.js.map +1 -1
  28. package/build/__tests__/behavioral/events/CreatingAnEvent.test.js +1 -1
  29. package/build/__tests__/behavioral/events/CreatingAnEvent.test.js.map +1 -1
  30. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js +2 -2
  31. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js.map +1 -1
  32. package/build/__tests__/behavioral/person/LoggingInAsPerson.test.js +1 -1
  33. package/build/__tests__/behavioral/person/LoggingInAsPerson.test.js.map +1 -1
  34. package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js +1 -1
  35. package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js.map +1 -1
  36. package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js +4 -10
  37. package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js.map +1 -1
  38. package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js +6 -12
  39. package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js.map +1 -1
  40. package/build/__tests__/behavioral/schemas/SettingUpSchemas.test.js +1 -1
  41. package/build/__tests__/behavioral/schemas/SettingUpSchemas.test.js.map +1 -1
  42. package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js +1 -1
  43. package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js.map +1 -1
  44. package/build/__tests__/behavioral/skill/RegisteringASkill.test.js +2 -2
  45. package/build/__tests__/behavioral/skill/RegisteringASkill.test.js.map +1 -1
  46. package/build/__tests__/behavioral/stores/CreatingADataStore.test.js +1 -1
  47. package/build/__tests__/behavioral/stores/CreatingADataStore.test.js.map +1 -1
  48. package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js +1 -1
  49. package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js.map +1 -1
  50. package/build/__tests__/behavioral/tests/RunningTests.test.js +1 -1
  51. package/build/__tests__/behavioral/tests/RunningTests.test.js.map +1 -1
  52. package/build/__tests__/behavioral/tests/SettingUpTests.test.js +1 -1
  53. package/build/__tests__/behavioral/tests/SettingUpTests.test.js.map +1 -1
  54. package/build/__tests__/behavioral/views/CreatingASkillView.test.js +1 -1
  55. package/build/__tests__/behavioral/views/CreatingASkillView.test.js.map +1 -1
  56. package/build/__tests__/behavioral/views/CreatingATheme.test.js +1 -1
  57. package/build/__tests__/behavioral/views/CreatingATheme.test.js.map +1 -1
  58. package/build/__tests__/implementation/ActionExecuter.test.js +3 -9
  59. package/build/__tests__/implementation/ActionExecuter.test.js.map +1 -1
  60. package/build/__tests__/implementation/ActionExecuter3.test.js +1 -1
  61. package/build/__tests__/implementation/ActionExecuter3.test.js.map +1 -1
  62. package/build/__tests__/implementation/ActionExecuter4.test.js +1 -1
  63. package/build/__tests__/implementation/ActionExecuter4.test.js.map +1 -1
  64. package/build/__tests__/implementation/BulkImporting.test.js +3 -3
  65. package/build/__tests__/implementation/BulkImporting.test.js.map +1 -1
  66. package/build/__tests__/implementation/DataStoreStore.test.js +2 -2
  67. package/build/__tests__/implementation/DataStoreStore.test.js.map +1 -1
  68. package/build/__tests__/implementation/EventStore.test.js +2 -2
  69. package/build/__tests__/implementation/EventStore.test.js.map +1 -1
  70. package/build/__tests__/implementation/SchemaStore.test.js +8 -14
  71. package/build/__tests__/implementation/SchemaStore.test.js.map +1 -1
  72. package/build/__tests__/implementation/SettingUpANodeModule.test.js +1 -1
  73. package/build/__tests__/implementation/SettingUpANodeModule.test.js.map +1 -1
  74. package/build/__tests__/implementation/SkillStore.test.js +4 -4
  75. package/build/__tests__/implementation/SkillStore.test.js.map +1 -1
  76. package/build/__tests__/implementation/TestRunner.test.js +1 -1
  77. package/build/__tests__/implementation/TestRunner.test.js.map +1 -1
  78. package/build/features/schema/stores/SchemaStore.d.ts +16 -0
  79. package/build/features/schema/stores/SchemaStore.js +21 -10
  80. package/build/features/schema/stores/SchemaStore.js.map +1 -1
  81. package/package.json +33 -33
  82. package/src/__tests__/behavioral/AddingADependency.test.ts +3 -3
  83. package/src/__tests__/behavioral/BlockingCommands.test.ts +3 -3
  84. package/src/__tests__/behavioral/DeployingASkill.test.ts +11 -11
  85. package/src/__tests__/behavioral/DeployingToSandbox.test.ts +2 -2
  86. package/src/__tests__/behavioral/EnablingAndDisablingCache.test.ts +6 -6
  87. package/src/__tests__/behavioral/InstallingASkillAtAnOrg.test.ts +3 -3
  88. package/src/__tests__/behavioral/LoggingInAsASkill.test.ts +3 -3
  89. package/src/__tests__/behavioral/RebuildingASkill.test.ts +2 -2
  90. package/src/__tests__/behavioral/SettingLogTransportsInASkill.test.ts +2 -2
  91. package/src/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.ts +2 -2
  92. package/src/__tests__/behavioral/TestingAConversation.test.ts +1 -1
  93. package/src/__tests__/behavioral/errors/SettingUpErrors.test.ts +2 -2
  94. package/src/__tests__/behavioral/events/CreatingAListener.test.ts +3 -3
  95. package/src/__tests__/behavioral/events/CreatingAnEvent.test.ts +2 -2
  96. package/src/__tests__/behavioral/events/SkillEmitsBootEvents.test.ts +3 -3
  97. package/src/__tests__/behavioral/person/LoggingInAsPerson.test.ts +2 -2
  98. package/src/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.ts +2 -2
  99. package/src/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.ts +1 -1
  100. package/src/__tests__/behavioral/schemas/KeepingSchemasInSync.test.ts +4 -4
  101. package/src/__tests__/behavioral/schemas/SettingUpSchemas.test.ts +2 -2
  102. package/src/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.ts +2 -2
  103. package/src/__tests__/behavioral/skill/RegisteringASkill.test.ts +3 -3
  104. package/src/__tests__/behavioral/stores/CreatingADataStore.test.ts +2 -2
  105. package/src/__tests__/behavioral/stores/KeepingDataStoresInSync.test.ts +2 -2
  106. package/src/__tests__/behavioral/tests/RunningTests.test.ts +2 -2
  107. package/src/__tests__/behavioral/tests/SettingUpTests.test.ts +2 -2
  108. package/src/__tests__/behavioral/views/CreatingASkillView.test.ts +2 -2
  109. package/src/__tests__/behavioral/views/CreatingATheme.test.ts +2 -2
  110. package/src/__tests__/implementation/ActionExecuter.test.ts +1 -1
  111. package/src/__tests__/implementation/ActionExecuter3.test.ts +2 -2
  112. package/src/__tests__/implementation/ActionExecuter4.test.ts +2 -2
  113. package/src/__tests__/implementation/BulkImporting.test.ts +4 -4
  114. package/src/__tests__/implementation/DataStoreStore.test.ts +3 -3
  115. package/src/__tests__/implementation/EventStore.test.ts +3 -3
  116. package/src/__tests__/implementation/SchemaStore.test.ts +6 -6
  117. package/src/__tests__/implementation/SettingUpANodeModule.test.ts +2 -2
  118. package/src/__tests__/implementation/SkillStore.test.ts +5 -5
  119. package/src/__tests__/implementation/TestRunner.test.ts +2 -2
  120. package/src/features/schema/stores/SchemaStore.ts +35 -3
@@ -75,7 +75,7 @@ var SettingUpSchemasTests = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)()
75
75
  case 5:
76
76
  err = _context.sent;
77
77
 
78
- _testUtils.errorAssertUtil.assertError(err, 'VALIDATION_FAILED');
78
+ _testUtils.errorAssert.assertError(err, 'VALIDATION_FAILED');
79
79
 
80
80
  case 7:
81
81
  case "end":
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/__tests__/behavioral/schemas/SettingUpSchemas.test.ts"],"names":["SettingUpSchemasTests","Cli","cli","assert","doesThrowAsync","installFeatures","features","code","err","errorAssertUtil","assertError","installSchemaFeature","pgkPath","resolvePath","contents","JSON","stringify","diskUtil","readFile","doesInclude","tsConfig","tsConfigUtil","readConfig","cwd","isEqualDeep","checkHealth","health","isTruthy","schema","isEqual","status","AbstractSchemaTest"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;;;IAEqBA,qB,WACnB,iB,UAiBA,iB,UAgBA,iB;;;;;;;;;;;;;+HAjCD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEmB,KAAKC,GAAL,EAFnB;;AAAA;AAEOC,gBAAAA,GAFP;AAAA;AAAA,uBAImBC,aAAOC,cAAP,CAAsB;AAAA,yBACvCF,GAAG,CAACG,eAAJ,CAAoB;AACnBC,oBAAAA,QAAQ,EAAE,CACT;AACCC,sBAAAA,IAAI,EAAE;AADP,qBADS;AADS,mBAApB,CADuC;AAAA,iBAAtB,CAJnB;;AAAA;AAIOC,gBAAAA,GAJP;;AAcCC,2CAAgBC,WAAhB,CAA4BF,GAA5B,EAAiC,mBAAjC;;AAdD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;0GAiBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEO,KAAKG,oBAAL,CAA0B,SAA1B,CAFP;;AAAA;AAIOC,gBAAAA,OAJP,GAIiB,KAAKC,WAAL,CAAiB,cAAjB,CAJjB;AAKOC,gBAAAA,QALP,GAKkBC,IAAI,CAACC,SAAL,CAAeC,2BAASC,QAAT,CAAkBN,OAAlB,CAAf,CALlB;;AAOCT,6BAAOgB,WAAP,CAAmBL,QAAnB,EAA6B,oBAA7B;;AAEMM,gBAAAA,QATP,GASkBC,qBAAaC,UAAb,CAAwB,KAAKC,GAA7B,CATlB;;AAWCpB,6BAAOqB,WAAP,CAAmBJ,QAAQ,CAAC,iBAAD,CAAR,CAA4B,OAA5B,CAAnB,EAAyD;AACxD,+BAAa,CAAC,WAAD;AAD2C,iBAAzD;;AAXD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;mHAgBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEmB,KAAKT,oBAAL,CAA0B,SAA1B,CAFnB;;AAAA;AAEOT,gBAAAA,GAFP;AAAA;AAAA,uBAGsBA,GAAG,CAACuB,WAAJ,EAHtB;;AAAA;AAGOC,gBAAAA,MAHP;;AAKCvB,6BAAOwB,QAAP,CAAgBD,MAAM,CAACE,MAAvB;;AACAzB,6BAAO0B,OAAP,CAAeH,MAAM,CAACE,MAAP,CAAcE,MAA7B,EAAqC,QAArC;;AAND;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EAlCkDC,+B","sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport { errorAssertUtil } from '@sprucelabs/test-utils'\nimport AbstractSchemaTest from '../../../tests/AbstractSchemaTest'\nimport tsConfigUtil from '../../../utilities/tsConfig.utility'\n\nexport default class SettingUpSchemasTests extends AbstractSchemaTest {\n\t@test()\n\tprotected static async failsBecauseMissingSkillInformation() {\n\t\tconst cli = await this.Cli()\n\n\t\tconst err = await assert.doesThrowAsync(() =>\n\t\t\tcli.installFeatures({\n\t\t\t\tfeatures: [\n\t\t\t\t\t{\n\t\t\t\t\t\tcode: 'schema',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t})\n\t\t)\n\n\t\terrorAssertUtil.assertError(err, 'VALIDATION_FAILED')\n\t}\n\n\t@test()\n\tprotected static async installsSchema() {\n\t\tawait this.installSchemaFeature('schemas')\n\n\t\tconst pgkPath = this.resolvePath('package.json')\n\t\tconst contents = JSON.stringify(diskUtil.readFile(pgkPath))\n\n\t\tassert.doesInclude(contents, '@sprucelabs/schema')\n\n\t\tconst tsConfig = tsConfigUtil.readConfig(this.cwd)\n\n\t\tassert.isEqualDeep(tsConfig['compilerOptions']['paths'], {\n\t\t\t'#spruce/*': ['.spruce/*'],\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async schemaPassesHealthCheck() {\n\t\tconst cli = await this.installSchemaFeature('schemas')\n\t\tconst health = await cli.checkHealth()\n\n\t\tassert.isTruthy(health.schema)\n\t\tassert.isEqual(health.schema.status, 'passed')\n\t}\n}\n"],"file":"SettingUpSchemas.test.js"}
1
+ {"version":3,"sources":["../../../../src/__tests__/behavioral/schemas/SettingUpSchemas.test.ts"],"names":["SettingUpSchemasTests","Cli","cli","assert","doesThrowAsync","installFeatures","features","code","err","errorAssert","assertError","installSchemaFeature","pgkPath","resolvePath","contents","JSON","stringify","diskUtil","readFile","doesInclude","tsConfig","tsConfigUtil","readConfig","cwd","isEqualDeep","checkHealth","health","isTruthy","schema","isEqual","status","AbstractSchemaTest"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;;;IAEqBA,qB,WACnB,iB,UAiBA,iB,UAgBA,iB;;;;;;;;;;;;;+HAjCD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEmB,KAAKC,GAAL,EAFnB;;AAAA;AAEOC,gBAAAA,GAFP;AAAA;AAAA,uBAImBC,aAAOC,cAAP,CAAsB;AAAA,yBACvCF,GAAG,CAACG,eAAJ,CAAoB;AACnBC,oBAAAA,QAAQ,EAAE,CACT;AACCC,sBAAAA,IAAI,EAAE;AADP,qBADS;AADS,mBAApB,CADuC;AAAA,iBAAtB,CAJnB;;AAAA;AAIOC,gBAAAA,GAJP;;AAcCC,uCAAYC,WAAZ,CAAwBF,GAAxB,EAA6B,mBAA7B;;AAdD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;0GAiBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEO,KAAKG,oBAAL,CAA0B,SAA1B,CAFP;;AAAA;AAIOC,gBAAAA,OAJP,GAIiB,KAAKC,WAAL,CAAiB,cAAjB,CAJjB;AAKOC,gBAAAA,QALP,GAKkBC,IAAI,CAACC,SAAL,CAAeC,2BAASC,QAAT,CAAkBN,OAAlB,CAAf,CALlB;;AAOCT,6BAAOgB,WAAP,CAAmBL,QAAnB,EAA6B,oBAA7B;;AAEMM,gBAAAA,QATP,GASkBC,qBAAaC,UAAb,CAAwB,KAAKC,GAA7B,CATlB;;AAWCpB,6BAAOqB,WAAP,CAAmBJ,QAAQ,CAAC,iBAAD,CAAR,CAA4B,OAA5B,CAAnB,EAAyD;AACxD,+BAAa,CAAC,WAAD;AAD2C,iBAAzD;;AAXD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;mHAgBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEmB,KAAKT,oBAAL,CAA0B,SAA1B,CAFnB;;AAAA;AAEOT,gBAAAA,GAFP;AAAA;AAAA,uBAGsBA,GAAG,CAACuB,WAAJ,EAHtB;;AAAA;AAGOC,gBAAAA,MAHP;;AAKCvB,6BAAOwB,QAAP,CAAgBD,MAAM,CAACE,MAAvB;;AACAzB,6BAAO0B,OAAP,CAAeH,MAAM,CAACE,MAAP,CAAcE,MAA7B,EAAqC,QAArC;;AAND;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EAlCkDC,+B","sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport AbstractSchemaTest from '../../../tests/AbstractSchemaTest'\nimport tsConfigUtil from '../../../utilities/tsConfig.utility'\n\nexport default class SettingUpSchemasTests extends AbstractSchemaTest {\n\t@test()\n\tprotected static async failsBecauseMissingSkillInformation() {\n\t\tconst cli = await this.Cli()\n\n\t\tconst err = await assert.doesThrowAsync(() =>\n\t\t\tcli.installFeatures({\n\t\t\t\tfeatures: [\n\t\t\t\t\t{\n\t\t\t\t\t\tcode: 'schema',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t})\n\t\t)\n\n\t\terrorAssert.assertError(err, 'VALIDATION_FAILED')\n\t}\n\n\t@test()\n\tprotected static async installsSchema() {\n\t\tawait this.installSchemaFeature('schemas')\n\n\t\tconst pgkPath = this.resolvePath('package.json')\n\t\tconst contents = JSON.stringify(diskUtil.readFile(pgkPath))\n\n\t\tassert.doesInclude(contents, '@sprucelabs/schema')\n\n\t\tconst tsConfig = tsConfigUtil.readConfig(this.cwd)\n\n\t\tassert.isEqualDeep(tsConfig['compilerOptions']['paths'], {\n\t\t\t'#spruce/*': ['.spruce/*'],\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async schemaPassesHealthCheck() {\n\t\tconst cli = await this.installSchemaFeature('schemas')\n\t\tconst health = await cli.checkHealth()\n\n\t\tassert.isTruthy(health.schema)\n\t\tassert.isEqual(health.schema.status, 'passed')\n\t}\n}\n"],"file":"SettingUpSchemas.test.js"}
@@ -75,7 +75,7 @@ var SyncingBadSchemasProvidesHelpfulErrorMessagesTest = (_dec = (0, _test.test)(
75
75
 
76
76
  _test.assert.isArray(results.errors);
77
77
 
78
- _testUtils.errorAssertUtil.assertError(results.errors[0], 'SCHEMA_FAILED_TO_IMPORT');
78
+ _testUtils.errorAssert.assertError(results.errors[0], 'SCHEMA_FAILED_TO_IMPORT');
79
79
 
80
80
  _test.assert.doesInclude(results.errors[0].message, 'no is not defined');
81
81
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.ts"],"names":["SyncingBadSchemasProvidesHelpfulErrorMessagesTest","syncSchemas","schemasDir","resolvePath","diskUtil","copyDir","resolveTestPath","Action","execute","results","assert","isArray","errors","errorAssertUtil","assertError","doesInclude","message","err","SpruceError","code","friendlyMessage","isEqual","AbstractSchemaTest"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;;;IAEqBA,iD,WACnB,iB,UAiBA,iB;;;;;;;;;;;;;yIAjBD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEO,KAAKC,WAAL,CAAiB,SAAjB,CAFP;;AAAA;AAIOC,gBAAAA,UAJP,GAIoB,KAAKC,WAAL,CAAiB,KAAjB,EAAwB,SAAxB,CAJpB;AAAA;AAAA,uBAKOC,2BAASC,OAAT,CACL,KAAKC,eAAL,CAAqB,uBAArB,CADK,EAELJ,UAFK,CALP;;AAAA;AAAA;AAAA,uBAUuB,KAAKK,MAAL,CAAY,QAAZ,EAAsB,MAAtB,EAA8BC,OAA9B,CAAsC,EAAtC,CAVvB;;AAAA;AAUOC,gBAAAA,OAVP;;AAWCC,6BAAOC,OAAP,CAAeF,OAAO,CAACG,MAAvB;;AAEAC,2CAAgBC,WAAhB,CAA4BL,OAAO,CAACG,MAAR,CAAe,CAAf,CAA5B,EAA+C,yBAA/C;;AACAF,6BAAOK,WAAP,CAAmBN,OAAO,CAACG,MAAR,CAAe,CAAf,EAAkBI,OAArC,EAA8C,mBAA9C;;AAdD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;WAiBA,sDAC8D;AAC7D,UAAMC,GAAG,GAAG,IAAIC,uBAAJ,CAAgB;AAC3B;AACAC,QAAAA,IAAI,EAAE,SAFqB;AAG3BC,QAAAA,eAAe,EAAE;AAHU,OAAhB,CAAZ;AAKA,UAAMJ,OAAO,GAAGC,GAAG,CAACG,eAAJ,EAAhB;;AACAV,mBAAOW,OAAP,CAAeL,OAAf,EAAwB,uBAAxB;AACA;;;EA3B6EM,+B","sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport { errorAssertUtil } from '@sprucelabs/test-utils'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractSchemaTest from '../../../tests/AbstractSchemaTest'\n\nexport default class SyncingBadSchemasProvidesHelpfulErrorMessagesTest extends AbstractSchemaTest {\n\t@test()\n\tprotected static async syncingBadSchemasProvidesHelpfulErrorMessages() {\n\t\tawait this.syncSchemas('schemas')\n\n\t\tconst schemasDir = this.resolvePath('src', 'schemas')\n\t\tawait diskUtil.copyDir(\n\t\t\tthis.resolveTestPath('test_builders_one_bad'),\n\t\t\tschemasDir\n\t\t)\n\n\t\tconst results = await this.Action('schema', 'sync').execute({})\n\t\tassert.isArray(results.errors)\n\n\t\terrorAssertUtil.assertError(results.errors[0], 'SCHEMA_FAILED_TO_IMPORT')\n\t\tassert.doesInclude(results.errors[0].message, 'no is not defined')\n\t}\n\n\t@test()\n\tprotected static throwingUnknownErrorDoesNotDoubleUpMessage() {\n\t\tconst err = new SpruceError({\n\t\t\t//@ts-ignore\n\t\t\tcode: 'GO_TEAM',\n\t\t\tfriendlyMessage: 'This is a great error',\n\t\t})\n\t\tconst message = err.friendlyMessage()\n\t\tassert.isEqual(message, 'This is a great error')\n\t}\n}\n"],"file":"SyncingBadSchemasProvidesHelpfulErrorMessages.test.js"}
1
+ {"version":3,"sources":["../../../../src/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.ts"],"names":["SyncingBadSchemasProvidesHelpfulErrorMessagesTest","syncSchemas","schemasDir","resolvePath","diskUtil","copyDir","resolveTestPath","Action","execute","results","assert","isArray","errors","errorAssert","assertError","doesInclude","message","err","SpruceError","code","friendlyMessage","isEqual","AbstractSchemaTest"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;;;IAEqBA,iD,WACnB,iB,UAiBA,iB;;;;;;;;;;;;;yIAjBD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEO,KAAKC,WAAL,CAAiB,SAAjB,CAFP;;AAAA;AAIOC,gBAAAA,UAJP,GAIoB,KAAKC,WAAL,CAAiB,KAAjB,EAAwB,SAAxB,CAJpB;AAAA;AAAA,uBAKOC,2BAASC,OAAT,CACL,KAAKC,eAAL,CAAqB,uBAArB,CADK,EAELJ,UAFK,CALP;;AAAA;AAAA;AAAA,uBAUuB,KAAKK,MAAL,CAAY,QAAZ,EAAsB,MAAtB,EAA8BC,OAA9B,CAAsC,EAAtC,CAVvB;;AAAA;AAUOC,gBAAAA,OAVP;;AAWCC,6BAAOC,OAAP,CAAeF,OAAO,CAACG,MAAvB;;AAEAC,uCAAYC,WAAZ,CAAwBL,OAAO,CAACG,MAAR,CAAe,CAAf,CAAxB,EAA2C,yBAA3C;;AACAF,6BAAOK,WAAP,CAAmBN,OAAO,CAACG,MAAR,CAAe,CAAf,EAAkBI,OAArC,EAA8C,mBAA9C;;AAdD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;WAiBA,sDAC8D;AAC7D,UAAMC,GAAG,GAAG,IAAIC,uBAAJ,CAAgB;AAC3B;AACAC,QAAAA,IAAI,EAAE,SAFqB;AAG3BC,QAAAA,eAAe,EAAE;AAHU,OAAhB,CAAZ;AAKA,UAAMJ,OAAO,GAAGC,GAAG,CAACG,eAAJ,EAAhB;;AACAV,mBAAOW,OAAP,CAAeL,OAAf,EAAwB,uBAAxB;AACA;;;EA3B6EM,+B","sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractSchemaTest from '../../../tests/AbstractSchemaTest'\n\nexport default class SyncingBadSchemasProvidesHelpfulErrorMessagesTest extends AbstractSchemaTest {\n\t@test()\n\tprotected static async syncingBadSchemasProvidesHelpfulErrorMessages() {\n\t\tawait this.syncSchemas('schemas')\n\n\t\tconst schemasDir = this.resolvePath('src', 'schemas')\n\t\tawait diskUtil.copyDir(\n\t\t\tthis.resolveTestPath('test_builders_one_bad'),\n\t\t\tschemasDir\n\t\t)\n\n\t\tconst results = await this.Action('schema', 'sync').execute({})\n\t\tassert.isArray(results.errors)\n\n\t\terrorAssert.assertError(results.errors[0], 'SCHEMA_FAILED_TO_IMPORT')\n\t\tassert.doesInclude(results.errors[0].message, 'no is not defined')\n\t}\n\n\t@test()\n\tprotected static throwingUnknownErrorDoesNotDoubleUpMessage() {\n\t\tconst err = new SpruceError({\n\t\t\t//@ts-ignore\n\t\t\tcode: 'GO_TEAM',\n\t\t\tfriendlyMessage: 'This is a great error',\n\t\t})\n\t\tconst message = err.friendlyMessage()\n\t\tassert.isEqual(message, 'This is a great error')\n\t}\n}\n"],"file":"SyncingBadSchemasProvidesHelpfulErrorMessages.test.js"}
@@ -97,9 +97,9 @@ var RegisteringASkillTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)()
97
97
 
98
98
  _test.assert.isTruthy(results.errors);
99
99
 
100
- _testUtils.errorAssertUtil.assertError(results.errors[0], 'MERCURY_RESPONSE_ERROR');
100
+ _testUtils.errorAssert.assertError(results.errors[0], 'MERCURY_RESPONSE_ERROR');
101
101
 
102
- _testUtils.errorAssertUtil.assertError(results.errors[0].options.responseErrors[0], 'UNAUTHORIZED_ACCESS');
102
+ _testUtils.errorAssert.assertError(results.errors[0].options.responseErrors[0], 'UNAUTHORIZED_ACCESS');
103
103
 
104
104
  case 8:
105
105
  case "end":
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/__tests__/behavioral/skill/RegisteringASkill.test.ts"],"names":["RegisteringASkillTest","assert","isFunction","Action","execute","FeatureFixture","installCachedFeatures","nameReadable","nameKebab","results","isTruthy","errors","errorAssertUtil","assertError","options","responseErrors","MercuryClientFactory","setIsTestMode","people","loginAsDemoPerson","slug","Date","getTime","connectToApi","client","on","fail","doesInclude","message","isFalsy","skill","meta","emit","target","skillId","id","getSkillResults","eventResponseUtil","getFirstResponseOrThrow","getSkill","isEqual","auth","Service","currentSkill","getCurrentSkill","name","AbstractCliTest"],"mappings":"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","sourcesContent":["import { MercuryClientFactory } from '@sprucelabs/mercury-client'\nimport { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport { errorAssertUtil } from '@sprucelabs/test-utils'\nimport AbstractCliTest from '../../../tests/AbstractCliTest'\n\nexport default class RegisteringASkillTest extends AbstractCliTest {\n\t@test()\n\tprotected static async hasRegisterAction() {\n\t\tassert.isFunction(this.Action('skill', 'register').execute)\n\t}\n\n\t@test()\n\tprotected static async cantRegisterWithoutBeingLoggedIn() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tconst results = await this.Action('skill', 'register').execute({\n\t\t\tnameReadable: 'My great skill',\n\t\t\tnameKebab: 'my-great-skill',\n\t\t})\n\n\t\tassert.isTruthy(results.errors)\n\t\terrorAssertUtil.assertError(results.errors[0], 'MERCURY_RESPONSE_ERROR')\n\t\terrorAssertUtil.assertError(\n\t\t\tresults.errors[0].options.responseErrors[0],\n\t\t\t'UNAUTHORIZED_ACCESS'\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async returnsErrorWhenRegistrationFails() {\n\t\tMercuryClientFactory.setIsTestMode(true)\n\n\t\tawait this.people.loginAsDemoPerson()\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\t\tconst slug = `my-new-skill-${new Date().getTime()}`\n\n\t\tconst client = await this.connectToApi()\n\t\tawait client.on('register-skill::v2020_12_25', (() => {\n\t\t\tassert.fail('what the!!??')\n\t\t}) as any)\n\n\t\tconst results = await this.Action('skill', 'register').execute({\n\t\t\tnameReadable: 'My great skill',\n\t\t\tnameKebab: slug,\n\t\t})\n\n\t\tassert.isTruthy(results.errors)\n\t\tassert.doesInclude(results.errors[0].message, 'what the!!??')\n\t}\n\n\t@test()\n\tprotected static async canRegisterSkill() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\t\tawait this.people.loginAsDemoPerson()\n\n\t\tconst slug = `my-new-skill-${new Date().getTime()}`\n\t\tconst results = await this.Action('skill', 'register').execute({\n\t\t\tnameReadable: 'my new skill',\n\t\t\tnameKebab: slug,\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\t\tconst skill = results.meta?.skill\n\t\tassert.isTruthy(skill)\n\n\t\tconst client = await this.connectToApi()\n\t\tconst getSkillResults = await client.emit('get-skill::v2020_12_25', {\n\t\t\ttarget: { skillId: skill.id },\n\t\t})\n\n\t\tconst { skill: getSkill } =\n\t\t\teventResponseUtil.getFirstResponseOrThrow(getSkillResults)\n\n\t\tassert.isEqual(skill.id, getSkill.id)\n\n\t\tconst auth = this.Service('auth')\n\t\tconst currentSkill = auth.getCurrentSkill()\n\n\t\tassert.isTruthy(currentSkill)\n\t\tassert.isEqual(currentSkill.name, 'my new skill')\n\t\tassert.isEqual(currentSkill.slug, slug)\n\t}\n}\n"],"file":"RegisteringASkill.test.js"}
1
+ {"version":3,"sources":["../../../../src/__tests__/behavioral/skill/RegisteringASkill.test.ts"],"names":["RegisteringASkillTest","assert","isFunction","Action","execute","FeatureFixture","installCachedFeatures","nameReadable","nameKebab","results","isTruthy","errors","errorAssert","assertError","options","responseErrors","MercuryClientFactory","setIsTestMode","people","loginAsDemoPerson","slug","Date","getTime","connectToApi","client","on","fail","doesInclude","message","isFalsy","skill","meta","emit","target","skillId","id","getSkillResults","eventResponseUtil","getFirstResponseOrThrow","getSkill","isEqual","auth","Service","currentSkill","getCurrentSkill","name","AbstractCliTest"],"mappings":"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","sourcesContent":["import { MercuryClientFactory } from '@sprucelabs/mercury-client'\nimport { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport AbstractCliTest from '../../../tests/AbstractCliTest'\n\nexport default class RegisteringASkillTest extends AbstractCliTest {\n\t@test()\n\tprotected static async hasRegisterAction() {\n\t\tassert.isFunction(this.Action('skill', 'register').execute)\n\t}\n\n\t@test()\n\tprotected static async cantRegisterWithoutBeingLoggedIn() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tconst results = await this.Action('skill', 'register').execute({\n\t\t\tnameReadable: 'My great skill',\n\t\t\tnameKebab: 'my-great-skill',\n\t\t})\n\n\t\tassert.isTruthy(results.errors)\n\t\terrorAssert.assertError(results.errors[0], 'MERCURY_RESPONSE_ERROR')\n\t\terrorAssert.assertError(\n\t\t\tresults.errors[0].options.responseErrors[0],\n\t\t\t'UNAUTHORIZED_ACCESS'\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async returnsErrorWhenRegistrationFails() {\n\t\tMercuryClientFactory.setIsTestMode(true)\n\n\t\tawait this.people.loginAsDemoPerson()\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\t\tconst slug = `my-new-skill-${new Date().getTime()}`\n\n\t\tconst client = await this.connectToApi()\n\t\tawait client.on('register-skill::v2020_12_25', (() => {\n\t\t\tassert.fail('what the!!??')\n\t\t}) as any)\n\n\t\tconst results = await this.Action('skill', 'register').execute({\n\t\t\tnameReadable: 'My great skill',\n\t\t\tnameKebab: slug,\n\t\t})\n\n\t\tassert.isTruthy(results.errors)\n\t\tassert.doesInclude(results.errors[0].message, 'what the!!??')\n\t}\n\n\t@test()\n\tprotected static async canRegisterSkill() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\t\tawait this.people.loginAsDemoPerson()\n\n\t\tconst slug = `my-new-skill-${new Date().getTime()}`\n\t\tconst results = await this.Action('skill', 'register').execute({\n\t\t\tnameReadable: 'my new skill',\n\t\t\tnameKebab: slug,\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\t\tconst skill = results.meta?.skill\n\t\tassert.isTruthy(skill)\n\n\t\tconst client = await this.connectToApi()\n\t\tconst getSkillResults = await client.emit('get-skill::v2020_12_25', {\n\t\t\ttarget: { skillId: skill.id },\n\t\t})\n\n\t\tconst { skill: getSkill } =\n\t\t\teventResponseUtil.getFirstResponseOrThrow(getSkillResults)\n\n\t\tassert.isEqual(skill.id, getSkill.id)\n\n\t\tconst auth = this.Service('auth')\n\t\tconst currentSkill = auth.getCurrentSkill()\n\n\t\tassert.isTruthy(currentSkill)\n\t\tassert.isEqual(currentSkill.name, 'my new skill')\n\t\tassert.isEqual(currentSkill.slug, slug)\n\t}\n}\n"],"file":"RegisteringASkill.test.js"}
@@ -342,7 +342,7 @@ var CreatingDataStoresTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(
342
342
 
343
343
  _test.assert.isTruthy(results.errors);
344
344
 
345
- _testUtils.errorAssertUtil.assertError(results.errors[0], 'STORE_EXISTS');
345
+ _testUtils.errorAssert.assertError(results.errors[0], 'STORE_EXISTS');
346
346
 
347
347
  case 5:
348
348
  case "end":
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/__tests__/behavioral/stores/CreatingADataStore.test.ts"],"names":["CreatingDataStoresTest","assert","isFunction","Action","execute","cli","checkHealth","shouldRunOnSourceFiles","health","isFalsy","skill","errors","isTruthy","store","isArray","stores","isLength","nameReadable","nameReadablePlural","namePascal","results","path","testUtil","assertFileByNameInGeneratedFiles","files","Service","check","file","resolveHashSprucePath","isTrue","diskUtil","doesFileExist","isEqual","name","errorAssertUtil","assertError","storeContents","readFile","replace","writeFile","testFile","resolveTestPath","testContents","dest","resolvePath","isFalse","getAbstractTestPath","CommandService","setMockResponse","code","storesFile","deleteFile","AbstractSkillTest"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;IAEqBA,sB,WAGnB,iB,UAKA,iB,UAeA,iB,UAkBA,iB,UAOA,iB,UAaA,iB,UAkBA,iB,UAgBA,iB,UAYA,iB,WA+BA,iB,WAOA,iB;;;;;;;;;;;;;gHA9ID;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,sBAAsB,EAAE;AAA1B,iBAArB,CAFtB;;AAAA;AAEOC,gBAAAA,MAFP;;AAICP,6BAAOQ,OAAP,CAAeD,MAAM,CAACE,KAAP,CAAaC,MAA5B,EAJD,CAKC;;;AACAV,6BAAOW,QAAP,CAAgBJ,MAAM,CAACK,KAAvB,EAND,CAOC;;;AACAZ,6BAAOQ,OAAP,CAAeD,MAAM,CAACK,KAAP,CAAaF,MAA5B,EARD,CASC;;;AACAV,6BAAOa,OAAP,CAAeN,MAAM,CAACK,KAAP,CAAaE,MAA5B,EAVD,CAWC;;;AACAd,6BAAOe,QAAP,CAAgBR,MAAM,CAACK,KAAP,CAAaE,MAA7B,EAAqC,CAArC;;AAZD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;mHAeA;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;;;;;;;;;;;6GAkBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEOM,gBAAAA,IAFP,GAEc,KAAKC,qBAAL,CAA2B,QAA3B,EAAqC,WAArC,CAFd;;AAGC3B,6BAAO4B,MAAP,CAAcC,2BAASC,aAAT,CAAuBJ,IAAvB,CAAd;;AAHD;AAAA,uBAIO,KAAKF,OAAL,CAAa,aAAb,EAA4BC,KAA5B,CAAkCC,IAAlC,CAJP;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;4HAOA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEsB,KAAKtB,GAAL,CAASC,WAAT,CAAqB;AAAEC,kBAAAA,sBAAsB,EAAE;AAA1B,iBAArB,CAFtB;;AAAA;AAEOC,gBAAAA,MAFP;;AAGC;AACAP,6BAAOW,QAAP,CAAgBJ,MAAM,CAACK,KAAvB,EAJD,CAKC;;;AACAZ,6BAAOQ,OAAP,CAAeD,MAAM,CAACK,KAAP,CAAaF,MAA5B,EAND,CAOC;;;AACAV,6BAAOe,QAAP,CAAgBR,MAAM,CAACK,KAAP,CAAaE,MAA7B,EAAqC,CAArC,EARD,CASC;;;AACAd,6BAAO+B,OAAP,CAAexB,MAAM,CAACK,KAAP,CAAaE,MAAb,CAAoB,CAApB,EAAuBkB,IAAtC,EAA4C,QAA5C;;AAVD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;uHAaA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEuB,KAAK9B,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,sBAAsB,EAAE;AAA1B,iBAArB,CAFtB;;AAAA;AAEOC,gBAAAA,MAFP;;AAIC;AACAP,6BAAOW,QAAP,CAAgBJ,MAAM,CAACK,KAAvB,EALD,CAMC;;;AACAZ,6BAAOQ,OAAP,CAAeD,MAAM,CAACK,KAAP,CAAaF,MAA5B,EAPD,CAQC;;;AACAV,6BAAOe,QAAP,CAAgBR,MAAM,CAACK,KAAP,CAAaE,MAA7B,EAAqC,CAArC,EATD,CAUC;;;AACAd,6BAAO+B,OAAP,CAAexB,MAAM,CAACK,KAAP,CAAaE,MAAb,CAAoB,CAApB,EAAuBkB,IAAtC,EAA4C,MAA5C,EAXD,CAYC;;;AACAhC,6BAAO+B,OAAP,CAAexB,MAAM,CAACK,KAAP,CAAaE,MAAb,CAAoB,CAApB,EAAuBkB,IAAtC,EAA4C,QAA5C;;AAbD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;qIAgBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEuB,KAAK9B,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;;AACAuB,2CAAgBC,WAAhB,CAA4Bf,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;AAaOY,gBAAAA,aAbP,GAauBN,2BACpBO,QADoB,CACXhB,IADW,EAEpBiB,OAFoB,CAGpB,mDAHoB,EAIpB,qEAJoB,CAbvB;;AAoBCR,2CAASS,SAAT,CAAmBlB,IAAnB,EAAyBe,aAAzB;;AAEMI,gBAAAA,QAtBP,GAsBkB,KAAKC,eAAL,CAAqB,mBAArB,CAtBlB;AAuBOC,gBAAAA,YAvBP,GAuBsBZ,2BAASO,QAAT,CAAkBG,QAAlB,CAvBtB;AAyBOG,gBAAAA,IAzBP,GAyBc,KAAKC,WAAL,CAAiB,KAAjB,EAAwB,SAAxB,CAzBd;;AA0BCd,2CAASS,SAAT,CAAmBI,IAAnB,EAAyBD,YAAzB;;AA1BD;AAAA,uBA4BO,KAAKjB,OAAL,CAAa,aAAb,EAA4BC,KAA5B,CAAkCiB,IAAlC,CA5BP;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;kJA+BA;AAAA;AAAA;AAAA;AAAA;AAEC1C,6BAAO4C,OAAP,CACCf,2BAASC,aAAT,CAAuB/B,sBAAsB,CAAC8C,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,KAAKtB,qBAAL,CAA2B,wBAA3B,CAVpB;;AAWCE,2CAASqB,UAAT,CAAoBD,UAApB;;AAXD;AAAA,uBAYO,KAAK/C,MAAL,CAAY,MAAZ,EAAoB,SAApB,EAA+BC,OAA/B,CAAuC,EAAvC,CAZP;;AAAA;AAaCH,6BAAO4B,MAAP,CAAcC,2BAASC,aAAT,CAAuBmB,UAAvB,CAAd;;AAbD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;WAgBA,+BAA6C;AAC5C,aAAO,KAAKN,WAAL,CAAiB,KAAjB,EAAwB,OAAxB,EAAiC,0BAAjC,CAAP;AACA;;;EAnKkDQ,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({ shouldRunOnSourceFiles: true })\n\n\t\tassert.isFalsy(health.skill.errors)\n\t\t//@ts-ignore\n\t\tassert.isTruthy(health.store)\n\t\t//@ts-ignore\n\t\tassert.isFalsy(health.store.errors)\n\t\t//@ts-ignore\n\t\tassert.isArray(health.store.stores)\n\t\t//@ts-ignore\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 generatesAMapFile() {\n\t\tconst file = this.resolveHashSprucePath('stores', 'stores.ts')\n\t\tassert.isTrue(diskUtil.doesFileExist(file))\n\t\tawait this.Service('typeChecker').check(file)\n\t}\n\n\t@test()\n\tprotected static async getsOneStoresBackFromHealthCheck() {\n\t\tconst health = await this.cli.checkHealth({ shouldRunOnSourceFiles: true })\n\t\t//@ts-ignore\n\t\tassert.isTruthy(health.store)\n\t\t//@ts-ignore\n\t\tassert.isFalsy(health.store.errors)\n\t\t//@ts-ignore\n\t\tassert.isLength(health.store.stores, 1)\n\t\t//@ts-ignore\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({ shouldRunOnSourceFiles: true })\n\n\t\t//@ts-ignore\n\t\tassert.isTruthy(health.store)\n\t\t//@ts-ignore\n\t\tassert.isFalsy(health.store.errors)\n\t\t//@ts-ignore\n\t\tassert.isLength(health.store.stores, 2)\n\t\t//@ts-ignore\n\t\tassert.isEqual(health.store.stores[0].name, 'Bids')\n\t\t//@ts-ignore\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/stores/CreatingADataStore.test.ts"],"names":["CreatingDataStoresTest","assert","isFunction","Action","execute","cli","checkHealth","shouldRunOnSourceFiles","health","isFalsy","skill","errors","isTruthy","store","isArray","stores","isLength","nameReadable","nameReadablePlural","namePascal","results","path","testUtil","assertFileByNameInGeneratedFiles","files","Service","check","file","resolveHashSprucePath","isTrue","diskUtil","doesFileExist","isEqual","name","errorAssert","assertError","storeContents","readFile","replace","writeFile","testFile","resolveTestPath","testContents","dest","resolvePath","isFalse","getAbstractTestPath","CommandService","setMockResponse","code","storesFile","deleteFile","AbstractSkillTest"],"mappings":"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","sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport { errorAssert } 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({ shouldRunOnSourceFiles: true })\n\n\t\tassert.isFalsy(health.skill.errors)\n\t\t//@ts-ignore\n\t\tassert.isTruthy(health.store)\n\t\t//@ts-ignore\n\t\tassert.isFalsy(health.store.errors)\n\t\t//@ts-ignore\n\t\tassert.isArray(health.store.stores)\n\t\t//@ts-ignore\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 generatesAMapFile() {\n\t\tconst file = this.resolveHashSprucePath('stores', 'stores.ts')\n\t\tassert.isTrue(diskUtil.doesFileExist(file))\n\t\tawait this.Service('typeChecker').check(file)\n\t}\n\n\t@test()\n\tprotected static async getsOneStoresBackFromHealthCheck() {\n\t\tconst health = await this.cli.checkHealth({ shouldRunOnSourceFiles: true })\n\t\t//@ts-ignore\n\t\tassert.isTruthy(health.store)\n\t\t//@ts-ignore\n\t\tassert.isFalsy(health.store.errors)\n\t\t//@ts-ignore\n\t\tassert.isLength(health.store.stores, 1)\n\t\t//@ts-ignore\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({ shouldRunOnSourceFiles: true })\n\n\t\t//@ts-ignore\n\t\tassert.isTruthy(health.store)\n\t\t//@ts-ignore\n\t\tassert.isFalsy(health.store.errors)\n\t\t//@ts-ignore\n\t\tassert.isLength(health.store.stores, 2)\n\t\t//@ts-ignore\n\t\tassert.isEqual(health.store.stores[0].name, 'Bids')\n\t\t//@ts-ignore\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\terrorAssert.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"}
@@ -185,7 +185,7 @@ var KeepingDataStoresInSyncTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.t
185
185
 
186
186
  _test.assert.isLength(results.errors, 1);
187
187
 
188
- _testUtils.errorAssertUtil.assertError(results.errors[0], 'FAILED_TO_IMPORT', {
188
+ _testUtils.errorAssert.assertError(results.errors[0], 'FAILED_TO_IMPORT', {
189
189
  file: 'Bad.store.ts'
190
190
  });
191
191
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/__tests__/behavioral/stores/KeepingDataStoresInSync.test.ts"],"names":["KeepingDataStoresInSyncTest","badStoreDest","resolvePath","diskUtil","deleteFile","assert","isFunction","Action","execute","syncStores","results","isLength","files","writeFile","isArray","errors","errorAssertUtil","assertError","file","nameReadable","nameReadablePlural","namePascal","validateFiles","typesFile","testUtil","assertFileByNameInGeneratedFiles","mapFile","Promise","all","Service","check","AbstractSkillTest"],"mappings":"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","sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport { errorAssertUtil } from '@sprucelabs/test-utils'\nimport { FeatureActionResponse } from '../../../features/features.types'\nimport AbstractSkillTest from '../../../tests/AbstractSkillTest'\nimport testUtil from '../../../tests/utilities/test.utility'\n\nexport default class KeepingDataStoresInSyncTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'stores'\n\tprotected static badStoreDest: string\n\tprotected static async beforeAll() {\n\t\tawait super.beforeAll()\n\t\tthis.badStoreDest = this.resolvePath('src/stores/Bad.store.ts')\n\t}\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tdiskUtil.deleteFile(this.badStoreDest)\n\t}\n\n\t@test()\n\tprotected static async hasSyncAction() {\n\t\tassert.isFunction(this.Action('store', 'sync').execute)\n\t}\n\n\t@test()\n\tprotected static async syncsNothingToStart() {\n\t\tconst results = await this.syncStores()\n\n\t\tassert.isLength(results.files, 0)\n\t}\n\n\t@test()\n\tprotected static async badFileReturnsError() {\n\t\tdiskUtil.writeFile(this.badStoreDest, 'throw new Error(\"Cheese!\")')\n\n\t\tconst results = await this.syncStores()\n\t\tassert.isArray(results.errors)\n\t\tassert.isLength(results.errors, 1)\n\n\t\terrorAssertUtil.assertError(results.errors[0], 'FAILED_TO_IMPORT', {\n\t\t\tfile: 'Bad.store.ts',\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async generatesValidTypeFile() {\n\t\tconst results = await this.Action('store', 'create').execute({\n\t\t\tnameReadable: 'Bid',\n\t\t\tnameReadablePlural: 'Bids',\n\t\t\tnamePascal: 'Bid',\n\t\t})\n\n\t\tawait this.validateFiles(results)\n\t}\n\n\t@test()\n\tprotected static async fileIsValidAfterSync() {\n\t\tconst results = await this.syncStores()\n\n\t\tawait this.validateFiles(results)\n\t}\n\n\t@test()\n\tprotected static async canAddSecondStore() {\n\t\tconst results = await this.Action('store', 'create').execute({\n\t\t\tnameReadable: 'Person',\n\t\t\tnameReadablePlural: 'People',\n\t\t\tnamePascal: 'Person',\n\t\t})\n\n\t\tawait this.validateFiles(results)\n\t}\n\n\tprivate static async validateFiles(results: FeatureActionResponse) {\n\t\tconst typesFile = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'stores.types.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tconst mapFile = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'stores.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tawait Promise.all([\n\t\t\tthis.Service('typeChecker').check(typesFile),\n\t\t\tthis.Service('typeChecker').check(mapFile),\n\t\t])\n\t}\n\n\tprivate static async syncStores() {\n\t\treturn this.Action('store', 'sync').execute({})\n\t}\n}\n"],"file":"KeepingDataStoresInSync.test.js"}
1
+ {"version":3,"sources":["../../../../src/__tests__/behavioral/stores/KeepingDataStoresInSync.test.ts"],"names":["KeepingDataStoresInSyncTest","badStoreDest","resolvePath","diskUtil","deleteFile","assert","isFunction","Action","execute","syncStores","results","isLength","files","writeFile","isArray","errors","errorAssert","assertError","file","nameReadable","nameReadablePlural","namePascal","validateFiles","typesFile","testUtil","assertFileByNameInGeneratedFiles","mapFile","Promise","all","Service","check","AbstractSkillTest"],"mappings":"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","sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport { FeatureActionResponse } from '../../../features/features.types'\nimport AbstractSkillTest from '../../../tests/AbstractSkillTest'\nimport testUtil from '../../../tests/utilities/test.utility'\n\nexport default class KeepingDataStoresInSyncTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'stores'\n\tprotected static badStoreDest: string\n\tprotected static async beforeAll() {\n\t\tawait super.beforeAll()\n\t\tthis.badStoreDest = this.resolvePath('src/stores/Bad.store.ts')\n\t}\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tdiskUtil.deleteFile(this.badStoreDest)\n\t}\n\n\t@test()\n\tprotected static async hasSyncAction() {\n\t\tassert.isFunction(this.Action('store', 'sync').execute)\n\t}\n\n\t@test()\n\tprotected static async syncsNothingToStart() {\n\t\tconst results = await this.syncStores()\n\n\t\tassert.isLength(results.files, 0)\n\t}\n\n\t@test()\n\tprotected static async badFileReturnsError() {\n\t\tdiskUtil.writeFile(this.badStoreDest, 'throw new Error(\"Cheese!\")')\n\n\t\tconst results = await this.syncStores()\n\t\tassert.isArray(results.errors)\n\t\tassert.isLength(results.errors, 1)\n\n\t\terrorAssert.assertError(results.errors[0], 'FAILED_TO_IMPORT', {\n\t\t\tfile: 'Bad.store.ts',\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async generatesValidTypeFile() {\n\t\tconst results = await this.Action('store', 'create').execute({\n\t\t\tnameReadable: 'Bid',\n\t\t\tnameReadablePlural: 'Bids',\n\t\t\tnamePascal: 'Bid',\n\t\t})\n\n\t\tawait this.validateFiles(results)\n\t}\n\n\t@test()\n\tprotected static async fileIsValidAfterSync() {\n\t\tconst results = await this.syncStores()\n\n\t\tawait this.validateFiles(results)\n\t}\n\n\t@test()\n\tprotected static async canAddSecondStore() {\n\t\tconst results = await this.Action('store', 'create').execute({\n\t\t\tnameReadable: 'Person',\n\t\t\tnameReadablePlural: 'People',\n\t\t\tnamePascal: 'Person',\n\t\t})\n\n\t\tawait this.validateFiles(results)\n\t}\n\n\tprivate static async validateFiles(results: FeatureActionResponse) {\n\t\tconst typesFile = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'stores.types.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tconst mapFile = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'stores.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tawait Promise.all([\n\t\t\tthis.Service('typeChecker').check(typesFile),\n\t\t\tthis.Service('typeChecker').check(mapFile),\n\t\t])\n\t}\n\n\tprivate static async syncStores() {\n\t\treturn this.Action('store', 'sync').execute({})\n\t}\n}\n"],"file":"KeepingDataStoresInSync.test.js"}
@@ -146,7 +146,7 @@ var RunningTestsTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(), (_c
146
146
 
147
147
  _test.assert.isLength(results.errors, 1);
148
148
 
149
- _testUtils.errorAssertUtil.assertError(results.errors[0], 'TEST_FAILED');
149
+ _testUtils.errorAssert.assertError(results.errors[0], 'TEST_FAILED');
150
150
 
151
151
  _test.assert.isTruthy(results.meta);
152
152
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/__tests__/behavioral/tests/RunningTests.test.ts"],"names":["RunningTestsTest","Cli","assert","isFunction","Action","execute","installTests","creationPromise","type","nameReadable","nameCamel","namePascal","waitForInput","ui","sendInput","creationResults","file","files","isTruthy","fixBadTest","path","promise","Service","build","shouldReportWhileRunning","results","errors","isLength","errorAssertUtil","assertError","meta","testResults","doesInclude","wasKilled","totalTestFiles","totalTestFilesComplete","totalFailed","totalPassed","totalSkipped","totalTests","totalTodo","AbstractTestTest"],"mappings":"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","sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport { errorAssertUtil } from '@sprucelabs/test-utils'\nimport AbstractTestTest from '../../../tests/AbstractTestTest'\n\nexport default class RunningTestsTest extends AbstractTestTest {\n\t@test()\n\tprotected static async hasTestAction() {\n\t\tawait this.Cli()\n\t\tassert.isFunction(this.Action('test', 'test').execute)\n\t}\n\n\t@test()\n\tprotected static async runningTestsActuallyRunsTests() {\n\t\tawait this.installTests()\n\t\tconst creationPromise = this.Action('test', 'create').execute({\n\t\t\ttype: 'behavioral',\n\t\t\tnameReadable: 'Can book appointment',\n\t\t\tnameCamel: 'canBookAppointment',\n\t\t\tnamePascal: 'CanBookAppointment',\n\t\t})\n\n\t\tawait this.waitForInput()\n\t\tawait this.ui.sendInput('')\n\n\t\tconst creationResults = await creationPromise\n\n\t\tconst file = creationResults.files?.[0]\n\t\tassert.isTruthy(file)\n\n\t\tthis.fixBadTest(file.path)\n\n\t\tconst promise = this.Action('test', 'create').execute({\n\t\t\ttype: 'behavioral',\n\t\t\tnameReadable: 'Can cancel appointment',\n\t\t\tnameCamel: 'canCancelAppointment',\n\t\t\tnamePascal: 'CanCancelAppointment',\n\t\t})\n\n\t\tawait this.waitForInput()\n\t\tawait this.ui.sendInput('')\n\n\t\tawait promise\n\n\t\tawait this.Service('build').build()\n\n\t\tconst results = await this.Action('test', 'test').execute({\n\t\t\tshouldReportWhileRunning: false,\n\t\t})\n\n\t\tassert.isTruthy(results.errors)\n\t\tassert.isLength(results.errors, 1)\n\n\t\terrorAssertUtil.assertError(results.errors[0], 'TEST_FAILED')\n\n\t\tassert.isTruthy(results.meta)\n\t\tassert.isTruthy(results.meta?.testResults)\n\n\t\tassert.doesInclude(results.meta?.testResults, {\n\t\t\twasKilled: false,\n\t\t\ttotalTestFiles: 2,\n\t\t\ttotalTestFilesComplete: 2,\n\t\t\ttotalFailed: 1,\n\t\t\ttotalPassed: 3,\n\t\t\ttotalSkipped: 0,\n\t\t\ttotalTests: 4,\n\t\t\ttotalTodo: 0,\n\t\t})\n\t}\n}\n"],"file":"RunningTests.test.js"}
1
+ {"version":3,"sources":["../../../../src/__tests__/behavioral/tests/RunningTests.test.ts"],"names":["RunningTestsTest","Cli","assert","isFunction","Action","execute","installTests","creationPromise","type","nameReadable","nameCamel","namePascal","waitForInput","ui","sendInput","creationResults","file","files","isTruthy","fixBadTest","path","promise","Service","build","shouldReportWhileRunning","results","errors","isLength","errorAssert","assertError","meta","testResults","doesInclude","wasKilled","totalTestFiles","totalTestFilesComplete","totalFailed","totalPassed","totalSkipped","totalTests","totalTodo","AbstractTestTest"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;IAEqBA,gB,WACnB,iB,UAMA,iB;;;;;;;;;;;;;yGAND;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEO,KAAKC,GAAL,EAFP;;AAAA;AAGCC,6BAAOC,UAAP,CAAkB,KAAKC,MAAL,CAAY,MAAZ,EAAoB,MAApB,EAA4BC,OAA9C;;AAHD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;yHAMA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEO,KAAKC,YAAL,EAFP;;AAAA;AAGOC,gBAAAA,eAHP,GAGyB,KAAKH,MAAL,CAAY,MAAZ,EAAoB,QAApB,EAA8BC,OAA9B,CAAsC;AAC7DG,kBAAAA,IAAI,EAAE,YADuD;AAE7DC,kBAAAA,YAAY,EAAE,sBAF+C;AAG7DC,kBAAAA,SAAS,EAAE,oBAHkD;AAI7DC,kBAAAA,UAAU,EAAE;AAJiD,iBAAtC,CAHzB;AAAA;AAAA,uBAUO,KAAKC,YAAL,EAVP;;AAAA;AAAA;AAAA,uBAWO,KAAKC,EAAL,CAAQC,SAAR,CAAkB,EAAlB,CAXP;;AAAA;AAAA;AAAA,uBAa+BP,eAb/B;;AAAA;AAaOQ,gBAAAA,eAbP;AAeOC,gBAAAA,IAfP,4BAecD,eAAe,CAACE,KAf9B,0DAec,sBAAwB,CAAxB,CAfd;;AAgBCf,6BAAOgB,QAAP,CAAgBF,IAAhB;;AAEA,qBAAKG,UAAL,CAAgBH,IAAI,CAACI,IAArB;AAEMC,gBAAAA,OApBP,GAoBiB,KAAKjB,MAAL,CAAY,MAAZ,EAAoB,QAApB,EAA8BC,OAA9B,CAAsC;AACrDG,kBAAAA,IAAI,EAAE,YAD+C;AAErDC,kBAAAA,YAAY,EAAE,wBAFuC;AAGrDC,kBAAAA,SAAS,EAAE,sBAH0C;AAIrDC,kBAAAA,UAAU,EAAE;AAJyC,iBAAtC,CApBjB;AAAA;AAAA,uBA2BO,KAAKC,YAAL,EA3BP;;AAAA;AAAA;AAAA,uBA4BO,KAAKC,EAAL,CAAQC,SAAR,CAAkB,EAAlB,CA5BP;;AAAA;AAAA;AAAA,uBA8BOO,OA9BP;;AAAA;AAAA;AAAA,uBAgCO,KAAKC,OAAL,CAAa,OAAb,EAAsBC,KAAtB,EAhCP;;AAAA;AAAA;AAAA,uBAkCuB,KAAKnB,MAAL,CAAY,MAAZ,EAAoB,MAApB,EAA4BC,OAA5B,CAAoC;AACzDmB,kBAAAA,wBAAwB,EAAE;AAD+B,iBAApC,CAlCvB;;AAAA;AAkCOC,gBAAAA,OAlCP;;AAsCCvB,6BAAOgB,QAAP,CAAgBO,OAAO,CAACC,MAAxB;;AACAxB,6BAAOyB,QAAP,CAAgBF,OAAO,CAACC,MAAxB,EAAgC,CAAhC;;AAEAE,uCAAYC,WAAZ,CAAwBJ,OAAO,CAACC,MAAR,CAAe,CAAf,CAAxB,EAA2C,aAA3C;;AAEAxB,6BAAOgB,QAAP,CAAgBO,OAAO,CAACK,IAAxB;;AACA5B,6BAAOgB,QAAP,kBAAgBO,OAAO,CAACK,IAAxB,kDAAgB,cAAcC,WAA9B;;AAEA7B,6BAAO8B,WAAP,mBAAmBP,OAAO,CAACK,IAA3B,mDAAmB,eAAcC,WAAjC,EAA8C;AAC7CE,kBAAAA,SAAS,EAAE,KADkC;AAE7CC,kBAAAA,cAAc,EAAE,CAF6B;AAG7CC,kBAAAA,sBAAsB,EAAE,CAHqB;AAI7CC,kBAAAA,WAAW,EAAE,CAJgC;AAK7CC,kBAAAA,WAAW,EAAE,CALgC;AAM7CC,kBAAAA,YAAY,EAAE,CAN+B;AAO7CC,kBAAAA,UAAU,EAAE,CAPiC;AAQ7CC,kBAAAA,SAAS,EAAE;AARkC,iBAA9C;;AA9CD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EAP6CC,6B","sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport AbstractTestTest from '../../../tests/AbstractTestTest'\n\nexport default class RunningTestsTest extends AbstractTestTest {\n\t@test()\n\tprotected static async hasTestAction() {\n\t\tawait this.Cli()\n\t\tassert.isFunction(this.Action('test', 'test').execute)\n\t}\n\n\t@test()\n\tprotected static async runningTestsActuallyRunsTests() {\n\t\tawait this.installTests()\n\t\tconst creationPromise = this.Action('test', 'create').execute({\n\t\t\ttype: 'behavioral',\n\t\t\tnameReadable: 'Can book appointment',\n\t\t\tnameCamel: 'canBookAppointment',\n\t\t\tnamePascal: 'CanBookAppointment',\n\t\t})\n\n\t\tawait this.waitForInput()\n\t\tawait this.ui.sendInput('')\n\n\t\tconst creationResults = await creationPromise\n\n\t\tconst file = creationResults.files?.[0]\n\t\tassert.isTruthy(file)\n\n\t\tthis.fixBadTest(file.path)\n\n\t\tconst promise = this.Action('test', 'create').execute({\n\t\t\ttype: 'behavioral',\n\t\t\tnameReadable: 'Can cancel appointment',\n\t\t\tnameCamel: 'canCancelAppointment',\n\t\t\tnamePascal: 'CanCancelAppointment',\n\t\t})\n\n\t\tawait this.waitForInput()\n\t\tawait this.ui.sendInput('')\n\n\t\tawait promise\n\n\t\tawait this.Service('build').build()\n\n\t\tconst results = await this.Action('test', 'test').execute({\n\t\t\tshouldReportWhileRunning: false,\n\t\t})\n\n\t\tassert.isTruthy(results.errors)\n\t\tassert.isLength(results.errors, 1)\n\n\t\terrorAssert.assertError(results.errors[0], 'TEST_FAILED')\n\n\t\tassert.isTruthy(results.meta)\n\t\tassert.isTruthy(results.meta?.testResults)\n\n\t\tassert.doesInclude(results.meta?.testResults, {\n\t\t\twasKilled: false,\n\t\t\ttotalTestFiles: 2,\n\t\t\ttotalTestFilesComplete: 2,\n\t\t\ttotalFailed: 1,\n\t\t\ttotalPassed: 3,\n\t\t\ttotalSkipped: 0,\n\t\t\ttotalTests: 4,\n\t\t\ttotalTodo: 0,\n\t\t})\n\t}\n}\n"],"file":"RunningTests.test.js"}
@@ -98,7 +98,7 @@ var SettingUpTestsTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(), (
98
98
  case 5:
99
99
  err = _context2.sent;
100
100
 
101
- _testUtils.errorAssertUtil.assertError(err, 'EXECUTING_COMMAND_FAILED'); //@ts-ignore
101
+ _testUtils.errorAssert.assertError(err, 'EXECUTING_COMMAND_FAILED'); //@ts-ignore
102
102
 
103
103
 
104
104
  _test.assert.doesInclude(err.options.stdout, /passWithNoTests/);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/__tests__/behavioral/tests/SettingUpTests.test.ts"],"names":["SettingUpTestsTest","installTests","code","assertIsFeatureInstalled","command","Service","assert","doesThrowAsync","execute","err","errorAssertUtil","assertError","doesInclude","options","stdout","AbstractTestTest"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA;;;;;;;;IAEqBA,kB,WACnB,iB,UAOA,iB;;;;;;;;;;;;;yGAPD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEO,KAAKC,YAAL,EAFP;;AAAA;AAGOC,gBAAAA,IAHP,GAG2B,MAH3B;AAAA;AAAA,uBAIO,KAAKC,wBAAL,CAA8BD,IAA9B,CAJP;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;oIAOA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEO,KAAKD,YAAL,EAFP;;AAAA;AAGOG,gBAAAA,OAHP,GAGiB,KAAKC,OAAL,CAAa,SAAb,CAHjB;AAAA;AAAA,uBAImBC,aAAOC,cAAP,CAAsB;AAAA,yBAAMH,OAAO,CAACI,OAAR,CAAgB,WAAhB,CAAN;AAAA,iBAAtB,CAJnB;;AAAA;AAIOC,gBAAAA,GAJP;;AAMCC,2CAAgBC,WAAhB,CAA4BF,GAA5B,EAAiC,0BAAjC,EAND,CAOC;;;AACAH,6BAAOM,WAAP,CAAmBH,GAAG,CAACI,OAAJ,CAAYC,MAA/B,EAAuC,iBAAvC;;AARD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EAR+CC,6B","sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport { errorAssertUtil } from '@sprucelabs/test-utils'\nimport { FeatureCode } from '../../../features/features.types'\nimport AbstractTestTest from '../../../tests/AbstractTestTest'\n\nexport default class SettingUpTestsTest extends AbstractTestTest {\n\t@test()\n\tprotected static async installsTests() {\n\t\tawait this.installTests()\n\t\tconst code: FeatureCode = 'test'\n\t\tawait this.assertIsFeatureInstalled(code)\n\t}\n\n\t@test()\n\tprotected static async canRunTestsButSaysAtLeastOneTestIsNeeded() {\n\t\tawait this.installTests()\n\t\tconst command = this.Service('command')\n\t\tconst err = await assert.doesThrowAsync(() => command.execute('yarn test'))\n\n\t\terrorAssertUtil.assertError(err, 'EXECUTING_COMMAND_FAILED')\n\t\t//@ts-ignore\n\t\tassert.doesInclude(err.options.stdout, /passWithNoTests/)\n\t}\n}\n"],"file":"SettingUpTests.test.js"}
1
+ {"version":3,"sources":["../../../../src/__tests__/behavioral/tests/SettingUpTests.test.ts"],"names":["SettingUpTestsTest","installTests","code","assertIsFeatureInstalled","command","Service","assert","doesThrowAsync","execute","err","errorAssert","assertError","doesInclude","options","stdout","AbstractTestTest"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA;;;;;;;;IAEqBA,kB,WACnB,iB,UAOA,iB;;;;;;;;;;;;;yGAPD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEO,KAAKC,YAAL,EAFP;;AAAA;AAGOC,gBAAAA,IAHP,GAG2B,MAH3B;AAAA;AAAA,uBAIO,KAAKC,wBAAL,CAA8BD,IAA9B,CAJP;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;oIAOA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEO,KAAKD,YAAL,EAFP;;AAAA;AAGOG,gBAAAA,OAHP,GAGiB,KAAKC,OAAL,CAAa,SAAb,CAHjB;AAAA;AAAA,uBAImBC,aAAOC,cAAP,CAAsB;AAAA,yBAAMH,OAAO,CAACI,OAAR,CAAgB,WAAhB,CAAN;AAAA,iBAAtB,CAJnB;;AAAA;AAIOC,gBAAAA,GAJP;;AAMCC,uCAAYC,WAAZ,CAAwBF,GAAxB,EAA6B,0BAA7B,EAND,CAOC;;;AACAH,6BAAOM,WAAP,CAAmBH,GAAG,CAACI,OAAJ,CAAYC,MAA/B,EAAuC,iBAAvC;;AARD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EAR+CC,6B","sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport { FeatureCode } from '../../../features/features.types'\nimport AbstractTestTest from '../../../tests/AbstractTestTest'\n\nexport default class SettingUpTestsTest extends AbstractTestTest {\n\t@test()\n\tprotected static async installsTests() {\n\t\tawait this.installTests()\n\t\tconst code: FeatureCode = 'test'\n\t\tawait this.assertIsFeatureInstalled(code)\n\t}\n\n\t@test()\n\tprotected static async canRunTestsButSaysAtLeastOneTestIsNeeded() {\n\t\tawait this.installTests()\n\t\tconst command = this.Service('command')\n\t\tconst err = await assert.doesThrowAsync(() => command.execute('yarn test'))\n\n\t\terrorAssert.assertError(err, 'EXECUTING_COMMAND_FAILED')\n\t\t//@ts-ignore\n\t\tassert.doesInclude(err.options.stdout, /passWithNoTests/)\n\t}\n}\n"],"file":"SettingUpTests.test.js"}
@@ -234,7 +234,7 @@ var CreatingASkillViewTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(
234
234
 
235
235
  _test.assert.isTruthy(results.errors);
236
236
 
237
- _testUtils.errorAssertUtil.assertError((_results$errors = results.errors) === null || _results$errors === void 0 ? void 0 : _results$errors[0], 'SKILL_VIEW_EXISTS', {
237
+ _testUtils.errorAssert.assertError((_results$errors = results.errors) === null || _results$errors === void 0 ? void 0 : _results$errors[0], 'SKILL_VIEW_EXISTS', {
238
238
  name: 'Root'
239
239
  });
240
240
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/__tests__/behavioral/views/CreatingASkillView.test.ts"],"names":["CreatingASkillViewTest","action","Action","assert","isFunction","execute","viewType","waitForInput","last","ui","getLastInvocation","isEqual","command","reset","isRoot","results","isFalsy","errors","rootSvc","testUtil","assertFileByNameInGeneratedFiles","files","doesInclude","Service","check","contents","diskUtil","readFile","isTruthy","errorAssertUtil","assertError","name","promise","sendInput","dashboardVc","nameReadable","options","choices","value","appointmentsCard","buildTestfile","idInterfaceName","code","testFile","resolvePath","writeFile","importAll","imported","svcModel","svcId","vcModel","vcId","viewsFile","resolveHashSprucePath","viewContents","trim","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 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 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\terrorAssertUtil.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\tMockStorage,\n\t${idInterfaceName},\n} from '@sprucelabs/heartwood-view-controllers'\nimport { vcDiskUtil } from '@sprucelabs/spruce-test-fixtures'\n\nAuthenticatorImpl.setStorage(new MockStorage())\n\nconst vcFactory = ViewControllerFactory.Factory({\n\tcontrollerMap: vcDiskUtil.loadViewControllersAndBuildMap('testing-views', __dirname),\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"],"file":"CreatingASkillView.test.js"}
1
+ {"version":3,"sources":["../../../../src/__tests__/behavioral/views/CreatingASkillView.test.ts"],"names":["CreatingASkillViewTest","action","Action","assert","isFunction","execute","viewType","waitForInput","last","ui","getLastInvocation","isEqual","command","reset","isRoot","results","isFalsy","errors","rootSvc","testUtil","assertFileByNameInGeneratedFiles","files","doesInclude","Service","check","contents","diskUtil","readFile","isTruthy","errorAssert","assertError","name","promise","sendInput","dashboardVc","nameReadable","options","choices","value","appointmentsCard","buildTestfile","idInterfaceName","code","testFile","resolvePath","writeFile","importAll","imported","svcModel","svcId","vcModel","vcId","viewsFile","resolveHashSprucePath","viewContents","trim","AbstractSkillTest"],"mappings":"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","sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\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 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\tMockStorage,\n\t${idInterfaceName},\n} from '@sprucelabs/heartwood-view-controllers'\nimport { vcDiskUtil } from '@sprucelabs/spruce-test-fixtures'\n\nAuthenticatorImpl.setStorage(new MockStorage())\n\nconst vcFactory = ViewControllerFactory.Factory({\n\tcontrollerMap: vcDiskUtil.loadViewControllersAndBuildMap('testing-views', __dirname),\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"],"file":"CreatingASkillView.test.js"}
@@ -186,7 +186,7 @@ var CreatingAThemeTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(), _
186
186
 
187
187
  _test.assert.isTruthy(results.errors);
188
188
 
189
- _testUtils.errorAssertUtil.assertError(results.errors[0], 'THEME_EXISTS');
189
+ _testUtils.errorAssert.assertError(results.errors[0], 'THEME_EXISTS');
190
190
 
191
191
  case 5:
192
192
  case "end":
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/__tests__/behavioral/views/CreatingATheme.test.ts"],"names":["CreatingAThemeTest","assert","isFunction","Action","execute","getSkillFixture","registerCurrentSkill","name","results","isFalsy","errors","isTrue","diskUtil","doesFileExist","resolveHashSprucePath","getThemePath","Service","importDefault","imported","isTruthy","errorAssertUtil","assertError","emitter","getEmitter","hitCount","deleteFile","on","payload","featureCode","actionCode","isEqual","resolvePath","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 AbstractSkillTest from '../../../tests/AbstractSkillTest'\n\nexport default class CreatingAThemeTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'views'\n\n\t@test()\n\tprotected static async hasCreateThemeAction() {\n\t\tassert.isFunction(this.Action('view', 'createTheme').execute)\n\t}\n\n\t@test()\n\tprotected static async syncsEventsFirst() {\n\t\tawait this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'current skill in creating a theme',\n\t\t})\n\n\t\tconst results = await this.Action('view', 'createTheme').execute({})\n\t\tassert.isFalsy(results.errors)\n\n\t\tassert.isTrue(\n\t\t\tdiskUtil.doesFileExist(\n\t\t\t\tthis.resolveHashSprucePath('events/events.contract.ts')\n\t\t\t)\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async makesThemeFile() {\n\t\tassert.isTrue(diskUtil.doesFileExist(this.getThemePath()))\n\t}\n\n\t@test()\n\tprotected static async makesValidThemeFile() {\n\t\tconst imported = await this.Service('import').importDefault(\n\t\t\tthis.getThemePath()\n\t\t)\n\n\t\tassert.isTruthy(imported)\n\t\tassert.isTrue('color1' in imported)\n\t}\n\n\t@test()\n\tprotected static async cantRunTwice() {\n\t\tconst results = await this.Action('view', 'createTheme').execute({})\n\t\tassert.isTruthy(results.errors)\n\t\terrorAssertUtil.assertError(results.errors[0], 'THEME_EXISTS')\n\t}\n\n\t@test()\n\tprotected static async doesNotSyncEventsIfAlreadySynced() {\n\t\tconst emitter = this.getEmitter()\n\t\tlet hitCount = 0\n\n\t\tdiskUtil.deleteFile(this.getThemePath())\n\n\t\tawait emitter.on('feature.will-execute', async (payload) => {\n\t\t\tconst { featureCode, actionCode } = payload\n\n\t\t\tif (featureCode === 'event' && actionCode === 'sync') {\n\t\t\t\thitCount++\n\t\t\t}\n\t\t})\n\n\t\tawait this.Action('view', 'createTheme').execute({})\n\n\t\tassert.isEqual(hitCount, 0)\n\t}\n\n\tprivate static getThemePath(): string {\n\t\treturn this.resolvePath('src', 'themes', 'skill.theme.ts')\n\t}\n}\n"],"file":"CreatingATheme.test.js"}
1
+ {"version":3,"sources":["../../../../src/__tests__/behavioral/views/CreatingATheme.test.ts"],"names":["CreatingAThemeTest","assert","isFunction","Action","execute","getSkillFixture","registerCurrentSkill","name","results","isFalsy","errors","isTrue","diskUtil","doesFileExist","resolveHashSprucePath","getThemePath","Service","importDefault","imported","isTruthy","errorAssert","assertError","emitter","getEmitter","hitCount","deleteFile","on","payload","featureCode","actionCode","isEqual","resolvePath","AbstractSkillTest"],"mappings":"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","sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport AbstractSkillTest from '../../../tests/AbstractSkillTest'\n\nexport default class CreatingAThemeTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'views'\n\n\t@test()\n\tprotected static async hasCreateThemeAction() {\n\t\tassert.isFunction(this.Action('view', 'createTheme').execute)\n\t}\n\n\t@test()\n\tprotected static async syncsEventsFirst() {\n\t\tawait this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'current skill in creating a theme',\n\t\t})\n\n\t\tconst results = await this.Action('view', 'createTheme').execute({})\n\t\tassert.isFalsy(results.errors)\n\n\t\tassert.isTrue(\n\t\t\tdiskUtil.doesFileExist(\n\t\t\t\tthis.resolveHashSprucePath('events/events.contract.ts')\n\t\t\t)\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async makesThemeFile() {\n\t\tassert.isTrue(diskUtil.doesFileExist(this.getThemePath()))\n\t}\n\n\t@test()\n\tprotected static async makesValidThemeFile() {\n\t\tconst imported = await this.Service('import').importDefault(\n\t\t\tthis.getThemePath()\n\t\t)\n\n\t\tassert.isTruthy(imported)\n\t\tassert.isTrue('color1' in imported)\n\t}\n\n\t@test()\n\tprotected static async cantRunTwice() {\n\t\tconst results = await this.Action('view', 'createTheme').execute({})\n\t\tassert.isTruthy(results.errors)\n\t\terrorAssert.assertError(results.errors[0], 'THEME_EXISTS')\n\t}\n\n\t@test()\n\tprotected static async doesNotSyncEventsIfAlreadySynced() {\n\t\tconst emitter = this.getEmitter()\n\t\tlet hitCount = 0\n\n\t\tdiskUtil.deleteFile(this.getThemePath())\n\n\t\tawait emitter.on('feature.will-execute', async (payload) => {\n\t\t\tconst { featureCode, actionCode } = payload\n\n\t\t\tif (featureCode === 'event' && actionCode === 'sync') {\n\t\t\t\thitCount++\n\t\t\t}\n\t\t})\n\n\t\tawait this.Action('view', 'createTheme').execute({})\n\n\t\tassert.isEqual(hitCount, 0)\n\t}\n\n\tprivate static getThemePath(): string {\n\t\treturn this.resolvePath('src', 'themes', 'skill.theme.ts')\n\t}\n}\n"],"file":"CreatingATheme.test.js"}
@@ -2,8 +2,6 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
- var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
@@ -27,20 +25,16 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
27
25
 
28
26
  var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor"));
29
27
 
30
- var coreSchemas = _interopRequireWildcard(require("@sprucelabs/spruce-core-schemas"));
31
-
32
28
  var _spruceSkillUtils = require("@sprucelabs/spruce-skill-utils");
33
29
 
34
30
  var _test = require("@sprucelabs/test");
35
31
 
32
+ var _SchemaStore = require("../../features/schema/stores/SchemaStore");
33
+
36
34
  var _AbstractSchemaTest2 = _interopRequireDefault(require("../../tests/AbstractSchemaTest"));
37
35
 
38
36
  var _dec, _dec2, _class;
39
37
 
40
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
41
-
42
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
43
-
44
38
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
45
39
 
46
40
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
@@ -124,7 +118,7 @@ var FeatureCommandExecuterTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.te
124
118
  },
125
119
  schema: {
126
120
  status: 'passed',
127
- schemas: this.generateExpectedHealthSchemas([].concat((0, _toConsumableArray2["default"])(Object.values(coreSchemas)), [{
121
+ schemas: this.generateExpectedHealthSchemas([].concat((0, _toConsumableArray2["default"])(Object.values(_SchemaStore.coreSchemas)), [{
128
122
  id: 'restaurant',
129
123
  name: 'Restaurant',
130
124
  namespace: 'SkillWith1Dependency',
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/__tests__/implementation/ActionExecuter.test.ts"],"names":["FeatureCommandExecuterTest","executer","Action","shouldAutoHandleDependencies","promise","execute","waitForInput","ui","sendInput","wait","installer","getFeatureInstaller","isInstalled","assert","isFalse","assertHealthySkillNamed","skill","status","schema","schemas","generateExpectedHealthSchemas","Object","values","coreSchemas","id","name","namespace","version","versionUtil","generateVersion","constValue","isTrue","error","errorSchemas","AbstractSchemaTest"],"mappings":"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","sourcesContent":["import * as coreSchemas from '@sprucelabs/spruce-core-schemas'\nimport { versionUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport AbstractSchemaTest from '../../tests/AbstractSchemaTest'\n\nexport default class FeatureCommandExecuterTest extends AbstractSchemaTest {\n\t@test()\n\tprotected static async shouldInstallDependentFeatures() {\n\t\tconst executer = this.Action('schema', 'create', {\n\t\t\tshouldAutoHandleDependencies: true,\n\t\t})\n\t\tconst promise = executer.execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('yes')\n\n\t\tawait this.ui.sendInput('Skill with 1 dependency')\n\n\t\tawait this.ui.sendInput('A skill that is so good')\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('\\n')\n\n\t\tawait this.ui.sendInput('Restaurant')\n\n\t\tawait this.ui.sendInput('\\n')\n\n\t\tawait this.wait(100)\n\n\t\tconst installer = this.getFeatureInstaller()\n\t\tlet isInstalled = await installer.isInstalled('schema')\n\n\t\tassert.isFalse(isInstalled)\n\n\t\tawait promise\n\n\t\tawait this.assertHealthySkillNamed('skill-with-1-dependency', {\n\t\t\tskill: { status: 'passed' },\n\t\t\tschema: {\n\t\t\t\tstatus: 'passed',\n\t\t\t\tschemas: this.generateExpectedHealthSchemas([\n\t\t\t\t\t...Object.values(coreSchemas),\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'restaurant',\n\t\t\t\t\t\tname: 'Restaurant',\n\t\t\t\t\t\tnamespace: 'SkillWith1Dependency',\n\t\t\t\t\t\tversion: versionUtil.generateVersion().constValue,\n\t\t\t\t\t},\n\t\t\t\t]),\n\t\t\t},\n\t\t})\n\n\t\tisInstalled = await installer.isInstalled('schema')\n\n\t\tassert.isTrue(isInstalled)\n\t}\n\n\t@test()\n\tprotected static async shouldInstallTwoDependentFeatures() {\n\t\tconst executer = this.Action('error', 'create', {\n\t\t\tshouldAutoHandleDependencies: true,\n\t\t})\n\t\tconst promise = executer.execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('yes')\n\n\t\tawait this.ui.sendInput('My skill with 2 dependent features')\n\n\t\tawait this.ui.sendInput('A skill that is so good')\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('\\n')\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('\\n')\n\n\t\tawait this.ui.sendInput('Test error')\n\n\t\tawait this.ui.sendInput('\\n')\n\n\t\tawait promise\n\n\t\tawait this.assertHealthySkillNamed('my-skill-with-2-dependent-features', {\n\t\t\tskill: { status: 'passed' },\n\t\t\tschema: {\n\t\t\t\tstatus: 'passed',\n\t\t\t\tschemas: [],\n\t\t\t},\n\t\t\terror: {\n\t\t\t\terrorSchemas: [{ name: 'Test error', id: 'testError' }],\n\t\t\t\tstatus: 'passed',\n\t\t\t},\n\t\t})\n\n\t\tconst installer = this.getFeatureInstaller()\n\t\tconst isInstalled = await installer.isInstalled('schema')\n\n\t\tassert.isTrue(isInstalled)\n\t}\n}\n"],"file":"ActionExecuter.test.js"}
1
+ {"version":3,"sources":["../../../src/__tests__/implementation/ActionExecuter.test.ts"],"names":["FeatureCommandExecuterTest","executer","Action","shouldAutoHandleDependencies","promise","execute","waitForInput","ui","sendInput","wait","installer","getFeatureInstaller","isInstalled","assert","isFalse","assertHealthySkillNamed","skill","status","schema","schemas","generateExpectedHealthSchemas","Object","values","coreSchemas","id","name","namespace","version","versionUtil","generateVersion","constValue","isTrue","error","errorSchemas","AbstractSchemaTest"],"mappings":"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","sourcesContent":["import { versionUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport { coreSchemas } from '../../features/schema/stores/SchemaStore'\nimport AbstractSchemaTest from '../../tests/AbstractSchemaTest'\n\nexport default class FeatureCommandExecuterTest extends AbstractSchemaTest {\n\t@test()\n\tprotected static async shouldInstallDependentFeatures() {\n\t\tconst executer = this.Action('schema', 'create', {\n\t\t\tshouldAutoHandleDependencies: true,\n\t\t})\n\t\tconst promise = executer.execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('yes')\n\n\t\tawait this.ui.sendInput('Skill with 1 dependency')\n\n\t\tawait this.ui.sendInput('A skill that is so good')\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('\\n')\n\n\t\tawait this.ui.sendInput('Restaurant')\n\n\t\tawait this.ui.sendInput('\\n')\n\n\t\tawait this.wait(100)\n\n\t\tconst installer = this.getFeatureInstaller()\n\t\tlet isInstalled = await installer.isInstalled('schema')\n\n\t\tassert.isFalse(isInstalled)\n\n\t\tawait promise\n\n\t\tawait this.assertHealthySkillNamed('skill-with-1-dependency', {\n\t\t\tskill: { status: 'passed' },\n\t\t\tschema: {\n\t\t\t\tstatus: 'passed',\n\t\t\t\tschemas: this.generateExpectedHealthSchemas([\n\t\t\t\t\t...Object.values(coreSchemas),\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'restaurant',\n\t\t\t\t\t\tname: 'Restaurant',\n\t\t\t\t\t\tnamespace: 'SkillWith1Dependency',\n\t\t\t\t\t\tversion: versionUtil.generateVersion().constValue,\n\t\t\t\t\t},\n\t\t\t\t]),\n\t\t\t},\n\t\t})\n\n\t\tisInstalled = await installer.isInstalled('schema')\n\n\t\tassert.isTrue(isInstalled)\n\t}\n\n\t@test()\n\tprotected static async shouldInstallTwoDependentFeatures() {\n\t\tconst executer = this.Action('error', 'create', {\n\t\t\tshouldAutoHandleDependencies: true,\n\t\t})\n\t\tconst promise = executer.execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('yes')\n\n\t\tawait this.ui.sendInput('My skill with 2 dependent features')\n\n\t\tawait this.ui.sendInput('A skill that is so good')\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('\\n')\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('\\n')\n\n\t\tawait this.ui.sendInput('Test error')\n\n\t\tawait this.ui.sendInput('\\n')\n\n\t\tawait promise\n\n\t\tawait this.assertHealthySkillNamed('my-skill-with-2-dependent-features', {\n\t\t\tskill: { status: 'passed' },\n\t\t\tschema: {\n\t\t\t\tstatus: 'passed',\n\t\t\t\tschemas: [],\n\t\t\t},\n\t\t\terror: {\n\t\t\t\terrorSchemas: [{ name: 'Test error', id: 'testError' }],\n\t\t\t\tstatus: 'passed',\n\t\t\t},\n\t\t})\n\n\t\tconst installer = this.getFeatureInstaller()\n\t\tconst isInstalled = await installer.isInstalled('schema')\n\n\t\tassert.isTrue(isInstalled)\n\t}\n}\n"],"file":"ActionExecuter.test.js"}
@@ -93,7 +93,7 @@ var FeatureCommandExecuterTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.te
93
93
  case 2:
94
94
  err = _context2.sent;
95
95
 
96
- _testUtils.errorAssertUtil.assertError(err, 'FEATURE_NOT_INSTALLED');
96
+ _testUtils.errorAssert.assertError(err, 'FEATURE_NOT_INSTALLED');
97
97
 
98
98
  case 4:
99
99
  case "end":
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/__tests__/implementation/ActionExecuter3.test.ts"],"names":["FeatureCommandExecuterTest","executer","Action","shouldAutoHandleDependencies","assert","isTruthy","doesThrowAsync","execute","err","errorAssertUtil","assertError","promise","waitForInput","ui","sendInput","assertHealthySkillNamed","description","AbstractSchemaTest"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;IAEqBA,0B,WACnB,iB,UAQA,iB,UAQA,iB,UAiBA,iB;;;;;;;;;;;;;kHAjCD;AAAA;AAAA;AAAA;AAAA;AAAA;AAEOC,gBAAAA,QAFP,GAEkB,KAAKC,MAAL,CAAY,QAAZ,EAAsB,QAAtB,EAAgC;AAChDC,kBAAAA,4BAA4B,EAAE;AADkB,iBAAhC,CAFlB;;AAKCC,6BAAOC,QAAP,CAAgBJ,QAAhB;;AALD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;qIAQA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEmBG,aAAOE,cAAP,CAAsB;AAAA,yBACvC,KAAI,CAACJ,MAAL,CAAY,OAAZ,EAAqB,QAArB,EAA+BK,OAA/B,CAAuC,EAAvC,CADuC;AAAA,iBAAtB,CAFnB;;AAAA;AAEOC,gBAAAA,GAFP;;AAKCC,2CAAgBC,WAAhB,CAA4BF,GAA5B,EAAiC,uBAAjC;;AALD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;0HAQA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEOP,gBAAAA,QAFP,GAEkB,KAAKC,MAAL,CAAY,OAAZ,EAAqB,QAArB,EAA+B;AAC/CC,kBAAAA,4BAA4B,EAAE;AADiB,iBAA/B,CAFlB;AAKOQ,gBAAAA,OALP,GAKiBV,QAAQ,CAACM,OAAT,CAAiB,EAAjB,CALjB;AAAA;AAAA,uBAOO,KAAKK,YAAL,EAPP;;AAAA;AAAA;AAAA,uBASO,KAAKC,EAAL,CAAQC,SAAR,CAAkB,cAAlB,CATP;;AAAA;AAAA;AAAA,uBAUO,KAAKD,EAAL,CAAQC,SAAR,CAAkB,WAAlB,CAVP;;AAAA;AAAA;AAAA,uBAYOH,OAZP;;AAAA;AAAA;AAAA,uBAcO,KAAKI,uBAAL,CAA6B,cAA7B,CAdP;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;gIAiBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEOd,gBAAAA,QAFP,GAEkB,KAAKC,MAAL,CAAY,OAAZ,EAAqB,QAArB,EAA+B;AAC/CC,kBAAAA,4BAA4B,EAAE;AADiB,iBAA/B,CAFlB;AAKOQ,gBAAAA,OALP,GAKiBV,QAAQ,CAACM,OAAT,CAAiB;AAAES,kBAAAA,WAAW,EAAE;AAAf,iBAAjB,CALjB;AAAA;AAAA,uBAOO,KAAKJ,YAAL,EAPP;;AAAA;AASC,qBAAK,KAAKC,EAAL,CAAQC,SAAR,CAAkB,wBAAlB,CAAL;AATD;AAAA,uBAWOH,OAXP;;AAAA;AAAA;AAAA,uBAaO,KAAKI,uBAAL,CAA6B,wBAA7B,CAbP;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EAlCuDE,+B","sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport { errorAssertUtil } from '@sprucelabs/test-utils'\nimport AbstractSchemaTest from '../../tests/AbstractSchemaTest'\n\nexport default class FeatureCommandExecuterTest extends AbstractSchemaTest {\n\t@test()\n\tprotected static async canInstantiateExecuter() {\n\t\tconst executer = this.Action('schema', 'create', {\n\t\t\tshouldAutoHandleDependencies: true,\n\t\t})\n\t\tassert.isTruthy(executer)\n\t}\n\n\t@test()\n\tprotected static async throwWhenExecutingWhenMissingDependencies() {\n\t\tconst err = await assert.doesThrowAsync(() =>\n\t\t\tthis.Action('skill', 'create').execute({})\n\t\t)\n\t\terrorAssertUtil.assertError(err, 'FEATURE_NOT_INSTALLED')\n\t}\n\n\t@test()\n\tprotected static async shouldAskAllQuestionsOfFeature() {\n\t\tconst executer = this.Action('skill', 'create', {\n\t\t\tshouldAutoHandleDependencies: true,\n\t\t})\n\t\tconst promise = executer.execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('My new skill')\n\t\tawait this.ui.sendInput('So great!')\n\n\t\tawait promise\n\n\t\tawait this.assertHealthySkillNamed('my-new-skill')\n\t}\n\n\t@test()\n\tprotected static async shouldNotAskAlreadyAnsweredQuestions() {\n\t\tconst executer = this.Action('skill', 'create', {\n\t\t\tshouldAutoHandleDependencies: true,\n\t\t})\n\t\tconst promise = executer.execute({ description: 'go team!' })\n\n\t\tawait this.waitForInput()\n\n\t\tvoid this.ui.sendInput('Already answered skill')\n\n\t\tawait promise\n\n\t\tawait this.assertHealthySkillNamed('already-answered-skill')\n\t}\n}\n"],"file":"ActionExecuter3.test.js"}
1
+ {"version":3,"sources":["../../../src/__tests__/implementation/ActionExecuter3.test.ts"],"names":["FeatureCommandExecuterTest","executer","Action","shouldAutoHandleDependencies","assert","isTruthy","doesThrowAsync","execute","err","errorAssert","assertError","promise","waitForInput","ui","sendInput","assertHealthySkillNamed","description","AbstractSchemaTest"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;IAEqBA,0B,WACnB,iB,UAQA,iB,UAQA,iB,UAiBA,iB;;;;;;;;;;;;;kHAjCD;AAAA;AAAA;AAAA;AAAA;AAAA;AAEOC,gBAAAA,QAFP,GAEkB,KAAKC,MAAL,CAAY,QAAZ,EAAsB,QAAtB,EAAgC;AAChDC,kBAAAA,4BAA4B,EAAE;AADkB,iBAAhC,CAFlB;;AAKCC,6BAAOC,QAAP,CAAgBJ,QAAhB;;AALD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;qIAQA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEmBG,aAAOE,cAAP,CAAsB;AAAA,yBACvC,KAAI,CAACJ,MAAL,CAAY,OAAZ,EAAqB,QAArB,EAA+BK,OAA/B,CAAuC,EAAvC,CADuC;AAAA,iBAAtB,CAFnB;;AAAA;AAEOC,gBAAAA,GAFP;;AAKCC,uCAAYC,WAAZ,CAAwBF,GAAxB,EAA6B,uBAA7B;;AALD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;0HAQA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEOP,gBAAAA,QAFP,GAEkB,KAAKC,MAAL,CAAY,OAAZ,EAAqB,QAArB,EAA+B;AAC/CC,kBAAAA,4BAA4B,EAAE;AADiB,iBAA/B,CAFlB;AAKOQ,gBAAAA,OALP,GAKiBV,QAAQ,CAACM,OAAT,CAAiB,EAAjB,CALjB;AAAA;AAAA,uBAOO,KAAKK,YAAL,EAPP;;AAAA;AAAA;AAAA,uBASO,KAAKC,EAAL,CAAQC,SAAR,CAAkB,cAAlB,CATP;;AAAA;AAAA;AAAA,uBAUO,KAAKD,EAAL,CAAQC,SAAR,CAAkB,WAAlB,CAVP;;AAAA;AAAA;AAAA,uBAYOH,OAZP;;AAAA;AAAA;AAAA,uBAcO,KAAKI,uBAAL,CAA6B,cAA7B,CAdP;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;gIAiBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEOd,gBAAAA,QAFP,GAEkB,KAAKC,MAAL,CAAY,OAAZ,EAAqB,QAArB,EAA+B;AAC/CC,kBAAAA,4BAA4B,EAAE;AADiB,iBAA/B,CAFlB;AAKOQ,gBAAAA,OALP,GAKiBV,QAAQ,CAACM,OAAT,CAAiB;AAAES,kBAAAA,WAAW,EAAE;AAAf,iBAAjB,CALjB;AAAA;AAAA,uBAOO,KAAKJ,YAAL,EAPP;;AAAA;AASC,qBAAK,KAAKC,EAAL,CAAQC,SAAR,CAAkB,wBAAlB,CAAL;AATD;AAAA,uBAWOH,OAXP;;AAAA;AAAA;AAAA,uBAaO,KAAKI,uBAAL,CAA6B,wBAA7B,CAbP;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EAlCuDE,+B","sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport AbstractSchemaTest from '../../tests/AbstractSchemaTest'\n\nexport default class FeatureCommandExecuterTest extends AbstractSchemaTest {\n\t@test()\n\tprotected static async canInstantiateExecuter() {\n\t\tconst executer = this.Action('schema', 'create', {\n\t\t\tshouldAutoHandleDependencies: true,\n\t\t})\n\t\tassert.isTruthy(executer)\n\t}\n\n\t@test()\n\tprotected static async throwWhenExecutingWhenMissingDependencies() {\n\t\tconst err = await assert.doesThrowAsync(() =>\n\t\t\tthis.Action('skill', 'create').execute({})\n\t\t)\n\t\terrorAssert.assertError(err, 'FEATURE_NOT_INSTALLED')\n\t}\n\n\t@test()\n\tprotected static async shouldAskAllQuestionsOfFeature() {\n\t\tconst executer = this.Action('skill', 'create', {\n\t\t\tshouldAutoHandleDependencies: true,\n\t\t})\n\t\tconst promise = executer.execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('My new skill')\n\t\tawait this.ui.sendInput('So great!')\n\n\t\tawait promise\n\n\t\tawait this.assertHealthySkillNamed('my-new-skill')\n\t}\n\n\t@test()\n\tprotected static async shouldNotAskAlreadyAnsweredQuestions() {\n\t\tconst executer = this.Action('skill', 'create', {\n\t\t\tshouldAutoHandleDependencies: true,\n\t\t})\n\t\tconst promise = executer.execute({ description: 'go team!' })\n\n\t\tawait this.waitForInput()\n\n\t\tvoid this.ui.sendInput('Already answered skill')\n\n\t\tawait promise\n\n\t\tawait this.assertHealthySkillNamed('already-answered-skill')\n\t}\n}\n"],"file":"ActionExecuter3.test.js"}
@@ -113,7 +113,7 @@ var ActionExecuter4Test = (_dec = (0, _test.test)('throws by default with will-e
113
113
  case 5:
114
114
  err = _context2.sent;
115
115
 
116
- _testUtils.errorAssertUtil.assertError(err, 'LISTENER_ERROR', {
116
+ _testUtils.errorAssert.assertError(err, 'LISTENER_ERROR', {
117
117
  'originalError.message': msg
118
118
  });
119
119
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/__tests__/implementation/ActionExecuter4.test.ts"],"names":["ActionExecuter4Test","CommandService","setMockResponse","code","ENABLE_NPM_CACHE_COMMAND","msg","willDid","getEmitter","on","Error","assert","doesThrowAsync","Action","execute","err","errorAssertUtil","assertError","AbstractCliTest"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;;;IAEqBA,mB,WAYnB,gBAAK,sDAAL,EAA6D,MAA7D,C,UACA,gBAAK,sDAAL,EAA6D,OAA7D,C,UACA,gBAAK,qDAAL,EAA4D,OAA5D,EAAqE,KAArE,C,UAkBA,iB;;;;;;;;;;;;;sGA/BD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAGCC,2CAAeC,eAAf,CAA+B,gBAA/B,EAAkD;AACjDC,kBAAAA,IAAI,EAAE;AAD2C,iBAAlD;;AAGAF,2CAAeC,eAAf,CAA+BE,mCAA/B,EAAyD;AACxDD,kBAAAA,IAAI,EAAE;AADkD,iBAAzD;;AAND;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;kJAWA,kBAICE,GAJD;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKCC,gBAAAA,OALD,8DAK2B,MAL3B;AAAA;AAAA,uBAOO,KAAKC,UAAL,GAAkBC,EAAlB,mBAAgCF,OAAhC,eAAmD,YAAM;AAC9D,wBAAM,IAAIG,KAAJ,CAAUJ,GAAV,CAAN;AACA,iBAFK,CAPP;;AAAA;AAAA;AAAA,uBAWmBK,aAAOC,cAAP,CAAsB;AAAA,yBACvC,KAAI,CAACC,MAAL,CAAY,OAAZ,EAAqB,QAArB,EAA+BC,OAA/B,CAAuC,EAAvC,CADuC;AAAA,iBAAtB,CAXnB;;AAAA;AAWOC,gBAAAA,GAXP;;AAeCC,2CAAgBC,WAAhB,CAA4BF,GAA5B,EAAiC,gBAAjC,EAAmD;AAClD,2CAAyBT;AADyB,iBAAnD;;AAfD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;uHAoBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEO,KAAKO,MAAL,CAAY,OAAZ,EAAqB,QAArB,EAA+BC,OAA/B,CAAuC,EAAvC,CAFP;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EAhCgDI,4B","sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport { errorAssertUtil } from '@sprucelabs/test-utils'\nimport { ENABLE_NPM_CACHE_COMMAND } from '../../features/cache/constants'\nimport CommandService from '../../services/CommandService'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\n\nexport default class ActionExecuter4Test extends AbstractCliTest {\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\n\t\tCommandService.setMockResponse(/which docker/gis, {\n\t\t\tcode: 0,\n\t\t})\n\t\tCommandService.setMockResponse(ENABLE_NPM_CACHE_COMMAND, {\n\t\t\tcode: 0,\n\t\t})\n\t}\n\n\t@test('throws by default with will-execute listener error 1', 'test')\n\t@test('throws by default with will-execute listener error 2', 'test2')\n\t@test('throws by default with did-execute listener error 1', 'test2', 'did')\n\tprotected static async canBeConfiguredToThrowWhenExecuteListenersReturnErrors(\n\t\tmsg: string,\n\t\twillDid: 'will' | 'did' = 'will'\n\t) {\n\t\tawait this.getEmitter().on(`feature.${willDid}-execute`, () => {\n\t\t\tthrow new Error(msg)\n\t\t})\n\n\t\tconst err = await assert.doesThrowAsync(() =>\n\t\t\tthis.Action('cache', 'enable').execute({})\n\t\t)\n\n\t\terrorAssertUtil.assertError(err, 'LISTENER_ERROR', {\n\t\t\t'originalError.message': msg,\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async stillReturnsIfNoErrorThrows() {\n\t\tawait this.Action('cache', 'enable').execute({})\n\t}\n}\n"],"file":"ActionExecuter4.test.js"}
1
+ {"version":3,"sources":["../../../src/__tests__/implementation/ActionExecuter4.test.ts"],"names":["ActionExecuter4Test","CommandService","setMockResponse","code","ENABLE_NPM_CACHE_COMMAND","msg","willDid","getEmitter","on","Error","assert","doesThrowAsync","Action","execute","err","errorAssert","assertError","AbstractCliTest"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;;;IAEqBA,mB,WAYnB,gBAAK,sDAAL,EAA6D,MAA7D,C,UACA,gBAAK,sDAAL,EAA6D,OAA7D,C,UACA,gBAAK,qDAAL,EAA4D,OAA5D,EAAqE,KAArE,C,UAkBA,iB;;;;;;;;;;;;;sGA/BD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAGCC,2CAAeC,eAAf,CAA+B,gBAA/B,EAAkD;AACjDC,kBAAAA,IAAI,EAAE;AAD2C,iBAAlD;;AAGAF,2CAAeC,eAAf,CAA+BE,mCAA/B,EAAyD;AACxDD,kBAAAA,IAAI,EAAE;AADkD,iBAAzD;;AAND;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;kJAWA,kBAICE,GAJD;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKCC,gBAAAA,OALD,8DAK2B,MAL3B;AAAA;AAAA,uBAOO,KAAKC,UAAL,GAAkBC,EAAlB,mBAAgCF,OAAhC,eAAmD,YAAM;AAC9D,wBAAM,IAAIG,KAAJ,CAAUJ,GAAV,CAAN;AACA,iBAFK,CAPP;;AAAA;AAAA;AAAA,uBAWmBK,aAAOC,cAAP,CAAsB;AAAA,yBACvC,KAAI,CAACC,MAAL,CAAY,OAAZ,EAAqB,QAArB,EAA+BC,OAA/B,CAAuC,EAAvC,CADuC;AAAA,iBAAtB,CAXnB;;AAAA;AAWOC,gBAAAA,GAXP;;AAeCC,uCAAYC,WAAZ,CAAwBF,GAAxB,EAA6B,gBAA7B,EAA+C;AAC9C,2CAAyBT;AADqB,iBAA/C;;AAfD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;uHAoBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEO,KAAKO,MAAL,CAAY,OAAZ,EAAqB,QAArB,EAA+BC,OAA/B,CAAuC,EAAvC,CAFP;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EAhCgDI,4B","sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport { ENABLE_NPM_CACHE_COMMAND } from '../../features/cache/constants'\nimport CommandService from '../../services/CommandService'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\n\nexport default class ActionExecuter4Test extends AbstractCliTest {\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\n\t\tCommandService.setMockResponse(/which docker/gis, {\n\t\t\tcode: 0,\n\t\t})\n\t\tCommandService.setMockResponse(ENABLE_NPM_CACHE_COMMAND, {\n\t\t\tcode: 0,\n\t\t})\n\t}\n\n\t@test('throws by default with will-execute listener error 1', 'test')\n\t@test('throws by default with will-execute listener error 2', 'test2')\n\t@test('throws by default with did-execute listener error 1', 'test2', 'did')\n\tprotected static async canBeConfiguredToThrowWhenExecuteListenersReturnErrors(\n\t\tmsg: string,\n\t\twillDid: 'will' | 'did' = 'will'\n\t) {\n\t\tawait this.getEmitter().on(`feature.${willDid}-execute`, () => {\n\t\t\tthrow new Error(msg)\n\t\t})\n\n\t\tconst err = await assert.doesThrowAsync(() =>\n\t\t\tthis.Action('cache', 'enable').execute({})\n\t\t)\n\n\t\terrorAssert.assertError(err, 'LISTENER_ERROR', {\n\t\t\t'originalError.message': msg,\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async stillReturnsIfNoErrorThrows() {\n\t\tawait this.Action('cache', 'enable').execute({})\n\t}\n}\n"],"file":"ActionExecuter4.test.js"}
@@ -306,7 +306,7 @@ var BulkImportingTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(), _d
306
306
  case 2:
307
307
  err = _context8.sent;
308
308
 
309
- _testUtils.errorAssertUtil.assertError(err, 'FAILED_TO_IMPORT');
309
+ _testUtils.errorAssert.assertError(err, 'FAILED_TO_IMPORT');
310
310
 
311
311
  _test.assert.doesInclude(err.options.file, 'badSchema.builder.ts');
312
312
 
@@ -343,7 +343,7 @@ var BulkImportingTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(), _d
343
343
  case 2:
344
344
  err = _context9.sent;
345
345
 
346
- _testUtils.errorAssertUtil.assertError(err, 'FAILED_TO_IMPORT');
346
+ _testUtils.errorAssert.assertError(err, 'FAILED_TO_IMPORT');
347
347
 
348
348
  _test.assert.doesInclude(err.options.file, 'anotherBad.builder.ts');
349
349
 
@@ -380,7 +380,7 @@ var BulkImportingTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(), _d
380
380
  case 2:
381
381
  err = _context10.sent;
382
382
 
383
- _testUtils.errorAssertUtil.assertError(err, 'FAILED_TO_IMPORT');
383
+ _testUtils.errorAssert.assertError(err, 'FAILED_TO_IMPORT');
384
384
 
385
385
  _test.assert.doesInclude(err.options.file, 'notDefault.builder.ts');
386
386