@sprucelabs/spruce-cli 15.2.5 → 15.2.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +24 -0
- package/build/__tests__/behavioral/AddingADependency.test.js +2 -2
- package/build/__tests__/behavioral/AddingADependency.test.js.map +1 -1
- package/build/__tests__/behavioral/BlockingCommands.test.js +2 -2
- package/build/__tests__/behavioral/BlockingCommands.test.js.map +1 -1
- package/build/__tests__/behavioral/DeployingASkill.test.js +10 -10
- package/build/__tests__/behavioral/DeployingASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/DeployingToSandbox.test.js +1 -1
- package/build/__tests__/behavioral/DeployingToSandbox.test.js.map +1 -1
- package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js +5 -5
- package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js.map +1 -1
- package/build/__tests__/behavioral/InstallingASkillAtAnOrg.test.js +2 -2
- package/build/__tests__/behavioral/InstallingASkillAtAnOrg.test.js.map +1 -1
- package/build/__tests__/behavioral/LoggingInAsASkill.test.js +2 -2
- package/build/__tests__/behavioral/LoggingInAsASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/RebuildingASkill.test.js +1 -1
- package/build/__tests__/behavioral/RebuildingASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js +1 -1
- package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.js +1 -1
- package/build/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.js.map +1 -1
- package/build/__tests__/behavioral/TestingAConversation.test.js +1 -1
- package/build/__tests__/behavioral/TestingAConversation.test.js.map +1 -1
- package/build/__tests__/behavioral/errors/SettingUpErrors.test.js +1 -1
- package/build/__tests__/behavioral/errors/SettingUpErrors.test.js.map +1 -1
- package/build/__tests__/behavioral/events/CreatingAListener.test.js +2 -2
- package/build/__tests__/behavioral/events/CreatingAListener.test.js.map +1 -1
- package/build/__tests__/behavioral/events/CreatingAnEvent.test.js +1 -1
- package/build/__tests__/behavioral/events/CreatingAnEvent.test.js.map +1 -1
- package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js +2 -2
- package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js.map +1 -1
- package/build/__tests__/behavioral/person/LoggingInAsPerson.test.js +1 -1
- package/build/__tests__/behavioral/person/LoggingInAsPerson.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js +1 -1
- package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js +4 -10
- package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js +6 -12
- package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/SettingUpSchemas.test.js +1 -1
- package/build/__tests__/behavioral/schemas/SettingUpSchemas.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js +1 -1
- package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js.map +1 -1
- package/build/__tests__/behavioral/skill/RegisteringASkill.test.js +2 -2
- package/build/__tests__/behavioral/skill/RegisteringASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/stores/CreatingADataStore.test.js +1 -1
- package/build/__tests__/behavioral/stores/CreatingADataStore.test.js.map +1 -1
- package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js +1 -1
- package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/RunningTests.test.js +1 -1
- package/build/__tests__/behavioral/tests/RunningTests.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/SettingUpTests.test.js +1 -1
- package/build/__tests__/behavioral/tests/SettingUpTests.test.js.map +1 -1
- package/build/__tests__/behavioral/views/CreatingASkillView.test.js +1 -1
- package/build/__tests__/behavioral/views/CreatingASkillView.test.js.map +1 -1
- package/build/__tests__/behavioral/views/CreatingATheme.test.js +1 -1
- package/build/__tests__/behavioral/views/CreatingATheme.test.js.map +1 -1
- package/build/__tests__/implementation/ActionExecuter.test.js +3 -9
- package/build/__tests__/implementation/ActionExecuter.test.js.map +1 -1
- package/build/__tests__/implementation/ActionExecuter3.test.js +1 -1
- package/build/__tests__/implementation/ActionExecuter3.test.js.map +1 -1
- package/build/__tests__/implementation/ActionExecuter4.test.js +1 -1
- package/build/__tests__/implementation/ActionExecuter4.test.js.map +1 -1
- package/build/__tests__/implementation/BulkImporting.test.js +3 -3
- package/build/__tests__/implementation/BulkImporting.test.js.map +1 -1
- package/build/__tests__/implementation/DataStoreStore.test.js +2 -2
- package/build/__tests__/implementation/DataStoreStore.test.js.map +1 -1
- package/build/__tests__/implementation/EventStore.test.js +2 -2
- package/build/__tests__/implementation/EventStore.test.js.map +1 -1
- package/build/__tests__/implementation/SchemaStore.test.js +8 -14
- package/build/__tests__/implementation/SchemaStore.test.js.map +1 -1
- package/build/__tests__/implementation/SettingUpANodeModule.test.js +1 -1
- package/build/__tests__/implementation/SettingUpANodeModule.test.js.map +1 -1
- package/build/__tests__/implementation/SkillStore.test.js +4 -4
- package/build/__tests__/implementation/SkillStore.test.js.map +1 -1
- package/build/__tests__/implementation/TestRunner.test.js +1 -1
- package/build/__tests__/implementation/TestRunner.test.js.map +1 -1
- package/build/features/schema/stores/SchemaStore.d.ts +16 -0
- package/build/features/schema/stores/SchemaStore.js +21 -10
- package/build/features/schema/stores/SchemaStore.js.map +1 -1
- package/package.json +33 -33
- package/src/__tests__/behavioral/AddingADependency.test.ts +3 -3
- package/src/__tests__/behavioral/BlockingCommands.test.ts +3 -3
- package/src/__tests__/behavioral/DeployingASkill.test.ts +11 -11
- package/src/__tests__/behavioral/DeployingToSandbox.test.ts +2 -2
- package/src/__tests__/behavioral/EnablingAndDisablingCache.test.ts +6 -6
- package/src/__tests__/behavioral/InstallingASkillAtAnOrg.test.ts +3 -3
- package/src/__tests__/behavioral/LoggingInAsASkill.test.ts +3 -3
- package/src/__tests__/behavioral/RebuildingASkill.test.ts +2 -2
- package/src/__tests__/behavioral/SettingLogTransportsInASkill.test.ts +2 -2
- package/src/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.ts +2 -2
- package/src/__tests__/behavioral/TestingAConversation.test.ts +1 -1
- package/src/__tests__/behavioral/errors/SettingUpErrors.test.ts +2 -2
- package/src/__tests__/behavioral/events/CreatingAListener.test.ts +3 -3
- package/src/__tests__/behavioral/events/CreatingAnEvent.test.ts +2 -2
- package/src/__tests__/behavioral/events/SkillEmitsBootEvents.test.ts +3 -3
- package/src/__tests__/behavioral/person/LoggingInAsPerson.test.ts +2 -2
- package/src/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.ts +2 -2
- package/src/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.ts +1 -1
- package/src/__tests__/behavioral/schemas/KeepingSchemasInSync.test.ts +4 -4
- package/src/__tests__/behavioral/schemas/SettingUpSchemas.test.ts +2 -2
- package/src/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.ts +2 -2
- package/src/__tests__/behavioral/skill/RegisteringASkill.test.ts +3 -3
- package/src/__tests__/behavioral/stores/CreatingADataStore.test.ts +2 -2
- package/src/__tests__/behavioral/stores/KeepingDataStoresInSync.test.ts +2 -2
- package/src/__tests__/behavioral/tests/RunningTests.test.ts +2 -2
- package/src/__tests__/behavioral/tests/SettingUpTests.test.ts +2 -2
- package/src/__tests__/behavioral/views/CreatingASkillView.test.ts +2 -2
- package/src/__tests__/behavioral/views/CreatingATheme.test.ts +2 -2
- package/src/__tests__/implementation/ActionExecuter.test.ts +1 -1
- package/src/__tests__/implementation/ActionExecuter3.test.ts +2 -2
- package/src/__tests__/implementation/ActionExecuter4.test.ts +2 -2
- package/src/__tests__/implementation/BulkImporting.test.ts +4 -4
- package/src/__tests__/implementation/DataStoreStore.test.ts +3 -3
- package/src/__tests__/implementation/EventStore.test.ts +3 -3
- package/src/__tests__/implementation/SchemaStore.test.ts +6 -6
- package/src/__tests__/implementation/SettingUpANodeModule.test.ts +2 -2
- package/src/__tests__/implementation/SkillStore.test.ts +5 -5
- package/src/__tests__/implementation/TestRunner.test.ts +2 -2
- 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.
|
|
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","
|
|
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"}
|
package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js
CHANGED
|
@@ -75,7 +75,7 @@ var SyncingBadSchemasProvidesHelpfulErrorMessagesTest = (_dec = (0, _test.test)(
|
|
|
75
75
|
|
|
76
76
|
_test.assert.isArray(results.errors);
|
|
77
77
|
|
|
78
|
-
_testUtils.
|
|
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
|
|
package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js.map
CHANGED
|
@@ -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","
|
|
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.
|
|
100
|
+
_testUtils.errorAssert.assertError(results.errors[0], 'MERCURY_RESPONSE_ERROR');
|
|
101
101
|
|
|
102
|
-
_testUtils.
|
|
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","
|
|
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.
|
|
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":"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","sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport { errorAssertUtil } from '@sprucelabs/test-utils'\nimport '@sprucelabs/spruce-store-plugin'\nimport CommandService from '../../../services/CommandService'\nimport AbstractSkillTest from '../../../tests/AbstractSkillTest'\nimport testUtil from '../../../tests/utilities/test.utility'\n\nexport default class CreatingDataStoresTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'stores'\n\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":";;;;;;;;;;;;;;;;;;;;;;;;;;;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,uCAAYC,WAAZ,CAAwBf,OAAO,CAACT,MAAR,CAAe,CAAf,CAAxB,EAA2C,cAA3C;;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 { 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.
|
|
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","
|
|
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.
|
|
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","
|
|
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":"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","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.
|
|
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","
|
|
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.
|
|
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.
|
|
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","
|
|
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":"
|
|
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.
|
|
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","
|
|
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.
|
|
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","
|
|
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.
|
|
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.
|
|
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.
|
|
383
|
+
_testUtils.errorAssert.assertError(err, 'FAILED_TO_IMPORT');
|
|
384
384
|
|
|
385
385
|
_test.assert.doesInclude(err.options.file, 'notDefault.builder.ts');
|
|
386
386
|
|