@sprucelabs/spruce-cli 17.1.55 → 18.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js +1 -1
- package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js.map +1 -1
- package/build/__tests__/behavioral/RememberingUpgradeSelections.test.js +1 -1
- package/build/__tests__/behavioral/RememberingUpgradeSelections.test.js.map +1 -1
- package/build/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.js +4 -4
- package/build/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.js.map +1 -1
- package/build/__tests__/behavioral/WatchingSkillViews.test.js +3 -3
- package/build/__tests__/behavioral/WatchingSkillViews.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.d.ts +2 -0
- package/build/__tests__/behavioral/events/CreatingAListener.test.js +118 -59
- package/build/__tests__/behavioral/events/CreatingAListener.test.js.map +1 -1
- package/build/__tests__/behavioral/events/EverythingInstalledInstaller.d.ts +17 -0
- package/build/__tests__/behavioral/events/EverythingInstalledInstaller.js +137 -0
- package/build/__tests__/behavioral/events/EverythingInstalledInstaller.js.map +1 -0
- package/build/__tests__/behavioral/onboard/StartingOnboarding.test.js +46 -45
- package/build/__tests__/behavioral/onboard/StartingOnboarding.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/CreatingATest.test.js +1 -1
- package/build/__tests__/behavioral/tests/CreatingATest.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js +4 -4
- package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js +2 -2
- package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js +2 -2
- package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingASkill5.test.js +2 -2
- package/build/__tests__/behavioral/upgrading/UpgradingASkill5.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingWithListeners.test.js +2 -2
- package/build/__tests__/behavioral/upgrading/UpgradingWithListeners.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__/behavioral/watchers/WatchingForChanges.test.d.ts +3 -3
- package/build/__tests__/behavioral/watchers/WatchingForChanges.test.js +153 -156
- package/build/__tests__/behavioral/watchers/WatchingForChanges.test.js.map +1 -1
- package/build/__tests__/implementation/ActionExecuter.test.js +2 -2
- package/build/__tests__/implementation/ActionExecuter.test.js.map +1 -1
- package/build/__tests__/implementation/ActionExecuter2.test.js +1 -1
- package/build/__tests__/implementation/ActionExecuter2.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/FeatureInstaller.test.js +8 -4
- package/build/__tests__/implementation/FeatureInstaller.test.js.map +1 -1
- package/build/__tests__/implementation/GlobalEmitter.d.ts +1 -1
- package/build/__tests__/implementation/GlobalEmitter.js +9 -10
- package/build/__tests__/implementation/GlobalEmitter.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.d.ts +3 -1
- package/build/__tests__/implementation/SkillStore.test.js +67 -50
- package/build/__tests__/implementation/SkillStore.test.js.map +1 -1
- package/build/__tests__/implementation/StoreFeature.test.js +1 -1
- package/build/__tests__/implementation/StoreFeature.test.js.map +1 -1
- package/build/cli.js +3 -3
- package/build/cli.js.map +1 -1
- package/build/features/AbstractAction.d.ts +2 -2
- package/build/features/AbstractAction.js.map +1 -1
- package/build/features/AbstractFeature.d.ts +22 -22
- package/build/features/AbstractFeature.js.map +1 -1
- package/build/features/ActionExecuter.d.ts +8 -8
- package/build/features/ActionExecuter.js.map +1 -1
- package/build/features/FeatureInstaller.d.ts +15 -2
- package/build/features/FeatureInstaller.js +36 -36
- package/build/features/FeatureInstaller.js.map +1 -1
- package/build/features/FeatureInstallerFactory.d.ts +12 -10
- package/build/features/FeatureInstallerFactory.js +2 -2
- package/build/features/FeatureInstallerFactory.js.map +1 -1
- package/build/features/OverrideActionDecorator.js +4 -5
- package/build/features/OverrideActionDecorator.js.map +1 -1
- package/build/features/event/actions/ListenAction.js.map +1 -1
- package/build/features/event/actions/SetRemoteAction.d.ts +1 -0
- package/build/features/event/actions/SetRemoteAction.js +2 -1
- package/build/features/event/actions/SetRemoteAction.js.map +1 -1
- package/build/features/event/actions/SyncListenersAction.js.map +1 -1
- package/build/features/node/NodeFeature.js.map +1 -1
- package/build/features/skill/SkillFeature.js.map +1 -1
- package/build/features/skill/stores/SkillStore.d.ts +4 -1
- package/build/features/skill/stores/SkillStore.js +127 -100
- package/build/features/skill/stores/SkillStore.js.map +1 -1
- package/build/features/watch/WatchFeature.js +1 -1
- package/build/features/watch/WatchFeature.js.map +1 -1
- package/build/interfaces/SpyInterface.d.ts +2 -0
- package/build/interfaces/SpyInterface.js +16 -4
- package/build/interfaces/SpyInterface.js.map +1 -1
- package/build/stores/AbstractStore.d.ts +9 -7
- package/build/stores/AbstractStore.js.map +1 -1
- package/build/stores/StoreFactory.d.ts +19 -13
- package/build/stores/StoreFactory.js +15 -13
- package/build/stores/StoreFactory.js.map +1 -1
- package/build/tests/AbstractCliTest.d.ts +9 -6
- package/build/tests/AbstractCliTest.js +53 -45
- package/build/tests/AbstractCliTest.js.map +1 -1
- package/build/tests/AbstractSchemaTest.js +18 -20
- package/build/tests/AbstractSchemaTest.js.map +1 -1
- package/build/utilities/action.utility.js +3 -1
- package/build/utilities/action.utility.js.map +1 -1
- package/node_modules/@typescript-eslint/parser/package.json +5 -5
- package/node_modules/@typescript-eslint/scope-manager/package.json +5 -5
- package/node_modules/@typescript-eslint/types/package.json +2 -2
- package/node_modules/@typescript-eslint/typescript-estree/package.json +5 -5
- package/node_modules/@typescript-eslint/visitor-keys/package.json +3 -3
- package/package.json +28 -86
- package/src/__tests__/behavioral/EnablingAndDisablingCache.test.ts +1 -1
- package/src/__tests__/behavioral/RememberingUpgradeSelections.test.ts +1 -1
- package/src/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.ts +4 -4
- package/src/__tests__/behavioral/WatchingSkillViews.test.ts +3 -3
- package/src/__tests__/behavioral/errors/SettingUpErrors.test.ts +1 -1
- package/src/__tests__/behavioral/events/CreatingAListener.test.ts +41 -14
- package/src/__tests__/behavioral/events/EverythingInstalledInstaller.ts +46 -0
- package/src/__tests__/behavioral/onboard/StartingOnboarding.test.ts +10 -5
- package/src/__tests__/behavioral/tests/CreatingATest.test.ts +1 -1
- package/src/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.ts +4 -4
- package/src/__tests__/behavioral/upgrading/UpdatingDependencies2.test.ts +2 -2
- package/src/__tests__/behavioral/upgrading/UpgradingANodeModule.test.ts +2 -2
- package/src/__tests__/behavioral/upgrading/UpgradingASkill5.test.ts +2 -2
- package/src/__tests__/behavioral/upgrading/UpgradingWithListeners.test.ts +2 -2
- package/src/__tests__/behavioral/views/CreatingASkillView.test.ts +1 -1
- package/src/__tests__/behavioral/views/CreatingATheme.test.ts +1 -1
- package/src/__tests__/behavioral/watchers/WatchingForChanges.test.ts +35 -35
- package/src/__tests__/implementation/ActionExecuter.test.ts +2 -2
- package/src/__tests__/implementation/ActionExecuter2.test.ts +1 -1
- package/src/__tests__/implementation/ActionExecuter4.test.ts +1 -1
- package/src/__tests__/implementation/FeatureInstaller.test.ts +8 -1
- package/src/__tests__/implementation/GlobalEmitter.ts +2 -4
- package/src/__tests__/implementation/SettingUpANodeModule.test.ts +1 -1
- package/src/__tests__/implementation/SkillStore.test.ts +23 -24
- package/src/__tests__/implementation/StoreFeature.test.ts +1 -1
- package/src/cli.ts +7 -3
- package/src/features/AbstractAction.ts +3 -3
- package/src/features/AbstractFeature.ts +26 -26
- package/src/features/ActionExecuter.ts +9 -9
- package/src/features/FeatureInstaller.ts +32 -12
- package/src/features/FeatureInstallerFactory.ts +17 -13
- package/src/features/OverrideActionDecorator.ts +2 -5
- package/src/features/event/actions/ListenAction.ts +1 -0
- package/src/features/event/actions/SetRemoteAction.ts +2 -1
- package/src/features/event/actions/SyncListenersAction.ts +0 -1
- package/src/features/node/NodeFeature.ts +3 -1
- package/src/features/skill/SkillFeature.ts +3 -3
- package/src/features/skill/stores/SkillStore.ts +18 -11
- package/src/features/watch/WatchFeature.ts +1 -1
- package/src/interfaces/SpyInterface.ts +10 -0
- package/src/stores/AbstractStore.ts +14 -8
- package/src/stores/StoreFactory.ts +56 -44
- package/src/tests/AbstractCliTest.ts +53 -45
- package/src/tests/AbstractSchemaTest.ts +1 -3
- package/src/utilities/action.utility.ts +3 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WatchingForChanges.test.js","names":["WatchingForChangesTest","test","installWatch","assertIsFeatureInstalled","cli","getFeature","isWatching","assert","isFalse","feature","startWatching","isTrue","stopWatching","path","shouldFire","fireCount","on","diskUtil","writeFile","resolvePath","isEqual","changeCount","payloadChanges","payload","changes","createDir","cwd","expectedChanges","idx","filename","push","schemaId","version","CORE_SCHEMA_VERSION","constValue","values","action","name","length","expected","doesInclude","wait","delay","sourceDir","runner","e","watchRunStop","newDirDest","deleteDir","newFile","deleteFile","fixture","FeatureFixture","installFeatures","code","AbstractCliTest"],"sources":["../../../../src/__tests__/behavioral/watchers/WatchingForChanges.test.ts"],"sourcesContent":["import { CORE_SCHEMA_VERSION, diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport WatchFeature from '../../../features/watch/WatchFeature'\nimport AbstractCliTest from '../../../tests/AbstractCliTest'\nimport { GeneratedFileOrDir } from '../../../types/cli.types'\n\nexport default class WatchingForChangesTest extends AbstractCliTest {\n\t@test()\n\tprotected static async installsWatchers() {\n\t\tawait this.installWatch()\n\t\tawait this.assertIsFeatureInstalled('watch')\n\t}\n\n\t@test()\n\tprotected static async notWatchingAtTheStart() {\n\t\tconst cli = await this.installWatch()\n\t\tconst isWatching = await cli.getFeature('watch').isWatching()\n\t\tassert.isFalse(isWatching)\n\t}\n\n\t@test()\n\tprotected static async canStartAndStopWatch() {\n\t\tconst cli = await this.installWatch()\n\t\tconst feature = cli.getFeature('watch')\n\n\t\tvoid feature.startWatching()\n\n\t\tlet isWatching = await feature.isWatching()\n\t\tassert.isTrue(isWatching)\n\n\t\tawait feature.stopWatching()\n\n\t\tisWatching = await feature.isWatching()\n\t\tassert.isFalse(isWatching)\n\t}\n\n\t@test('does not watch src', 'src', false)\n\t@test('does watch build', 'build', true)\n\tprotected static async watchesInCorrectDir(\n\t\tpath: string,\n\t\tshouldFire: boolean\n\t) {\n\t\tconst cli = await this.installWatch()\n\t\tconst feature = cli.getFeature('watch')\n\n\t\tawait this.startWatching(feature)\n\n\t\tlet fireCount = 0\n\n\t\tvoid cli.on('watcher.did-detect-change', () => {\n\t\t\tfireCount++\n\t\t})\n\n\t\tdiskUtil.writeFile(\n\t\t\tthis.resolvePath(path, 'test.ts'),\n\t\t\t'console.log(\"hello world\")'\n\t\t)\n\n\t\tawait this.stopWatching(feature)\n\n\t\tassert.isEqual(fireCount, shouldFire ? 1 : 0)\n\t}\n\n\t@test('fires once with one change', 1)\n\t@test('fires once with two changes', 2)\n\t@test('fires once with three changes', 3)\n\tprotected static async watcherFiresEventWhenASrcFileChanges(\n\t\tchangeCount: number\n\t) {\n\t\tlet fireCount = 0\n\n\t\tconst cli = await this.installWatch()\n\t\tconst feature = cli.getFeature('watch')\n\t\tlet payloadChanges: any = {}\n\n\t\tvoid cli.on('watcher.did-detect-change', (payload) => {\n\t\t\tfireCount++\n\t\t\tpayloadChanges = payload.changes\n\t\t})\n\n\t\tdiskUtil.createDir(this.cwd)\n\n\t\tawait this.startWatching(feature)\n\n\t\tconst expectedChanges: any[] = []\n\t\tfor (let idx = 0; idx < changeCount; idx++) {\n\t\t\tconst filename = `index-${idx}.js`\n\t\t\tdiskUtil.writeFile(\n\t\t\t\tthis.resolvePath('build', filename),\n\t\t\t\t'console.log(\"hello world\")'\n\t\t\t)\n\t\t\texpectedChanges.push({\n\t\t\t\tschemaId: 'generatedFile',\n\t\t\t\tversion: CORE_SCHEMA_VERSION.constValue,\n\t\t\t\tvalues: {\n\t\t\t\t\taction: 'generated',\n\t\t\t\t\tpath: this.resolvePath('build', filename),\n\t\t\t\t\tname: filename,\n\t\t\t\t},\n\t\t\t})\n\t\t}\n\n\t\tawait this.stopWatching(feature)\n\n\t\tassert.isEqual(fireCount, 1)\n\t\tassert.isTrue(payloadChanges.length >= changeCount)\n\n\t\tfor (const expected of expectedChanges) {\n\t\t\tassert.doesInclude(payloadChanges, expected)\n\t\t}\n\t}\n\n\tprivate static async stopWatching(feature: WatchFeature) {\n\t\tawait this.wait(3000)\n\t\tawait feature.stopWatching()\n\t\tawait this.wait(500)\n\t}\n\n\tprivate static async startWatching(feature: WatchFeature) {\n\t\tvoid feature.startWatching({ delay: 2000, sourceDir: '.' })\n\t\tawait this.wait(500)\n\t}\n\n\tprotected static async watchRunStop(\n\t\trunner: () => Promise<GeneratedFileOrDir[]>\n\t) {\n\t\tconst cli = await this.installWatch()\n\t\tconst feature = cli.getFeature('watch')\n\n\t\tlet payloadChanges: any = {}\n\t\tvoid cli.on('watcher.did-detect-change', (payload) => {\n\t\t\tpayloadChanges = payload.changes\n\t\t})\n\n\t\tawait this.startWatching(feature)\n\n\t\tconst expected: GeneratedFileOrDir[] = await runner()\n\n\t\tawait this.stopWatching(feature)\n\n\t\tfor (const e of expected) {\n\t\t\tassert.doesInclude(payloadChanges, e)\n\t\t}\n\t}\n\n\t@test()\n\tprotected static async canTrackAddingDir() {\n\t\tawait this.watchRunStop(async () => {\n\t\t\tconst newDirDest = this.resolvePath('build', 'new_dir')\n\t\t\tdiskUtil.createDir(newDirDest)\n\n\t\t\tconst expected: GeneratedFileOrDir[] = [\n\t\t\t\t{\n\t\t\t\t\tschemaId: 'generatedDir',\n\t\t\t\t\tversion: 'v2020_07_22',\n\t\t\t\t\tvalues: {\n\t\t\t\t\t\taction: 'generated',\n\t\t\t\t\t\tname: 'new_dir',\n\t\t\t\t\t\tpath: this.resolvePath('build', 'new_dir'),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t]\n\t\t\treturn expected\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async canTrackDeletingDir() {\n\t\tconst newDirDest = this.resolvePath('build', 'new_dir')\n\t\tdiskUtil.createDir(newDirDest)\n\n\t\tawait this.watchRunStop(async () => {\n\t\t\tdiskUtil.deleteDir(newDirDest)\n\n\t\t\tconst expected: GeneratedFileOrDir[] = [\n\t\t\t\t{\n\t\t\t\t\tschemaId: 'generatedDir',\n\t\t\t\t\tversion: 'v2020_07_22',\n\t\t\t\t\tvalues: {\n\t\t\t\t\t\taction: 'deleted',\n\t\t\t\t\t\tname: 'new_dir',\n\t\t\t\t\t\tpath: this.resolvePath('build', 'new_dir'),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t]\n\n\t\t\treturn expected\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async canTrackDeletingFile() {\n\t\tconst newFile = this.resolvePath('build', 'test.js')\n\t\tdiskUtil.writeFile(newFile, 'test')\n\n\t\tawait this.watchRunStop(async () => {\n\t\t\tdiskUtil.deleteFile(newFile)\n\n\t\t\tconst expected: GeneratedFileOrDir[] = [\n\t\t\t\t{\n\t\t\t\t\tschemaId: 'generatedFile',\n\t\t\t\t\tversion: 'v2020_07_22',\n\t\t\t\t\tvalues: {\n\t\t\t\t\t\taction: 'deleted',\n\t\t\t\t\t\tname: 'test.js',\n\t\t\t\t\t\tpath: this.resolvePath('build', 'test.js'),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t]\n\t\t\treturn expected\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async canTrackDeletingFileInDirectory() {\n\t\tconst newDirDest = this.resolvePath('build', 'new_dir')\n\t\tdiskUtil.createDir(newDirDest)\n\n\t\tconst newFile = this.resolvePath('build', 'new_dir', 'test.js')\n\t\tdiskUtil.writeFile(newFile, 'test')\n\n\t\tawait this.watchRunStop(async () => {\n\t\t\tdiskUtil.deleteFile(newFile)\n\n\t\t\tconst expected: GeneratedFileOrDir[] = [\n\t\t\t\t{\n\t\t\t\t\tschemaId: 'generatedFile',\n\t\t\t\t\tversion: 'v2020_07_22',\n\t\t\t\t\tvalues: {\n\t\t\t\t\t\taction: 'deleted',\n\t\t\t\t\t\tname: 'test.js',\n\t\t\t\t\t\tpath: this.resolvePath('build', 'new_dir', 'test.js'),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t]\n\n\t\t\treturn expected\n\t\t})\n\t}\n\n\tprivate static async installWatch() {\n\t\tconst fixture = this.FeatureFixture()\n\t\tconst cli = await fixture.installFeatures([{ code: 'watch' }])\n\t\treturn cli\n\t}\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"WatchingForChanges.test.js","names":["WatchingForChangesTest","test","installWatch","assertIsFeatureInstalled","cli","getFeature","isWatching","assert","isFalse","feature","startWatching","isTrue","stopWatching","path","shouldFire","fireCount","on","diskUtil","writeFile","resolvePath","isEqual","changeCount","payloadChanges","payload","changes","createDir","cwd","expectedChanges","idx","filename","push","schemaId","version","CORE_SCHEMA_VERSION","constValue","values","action","name","length","expected","doesInclude","watchRunStop","newDirDest","deleteDir","newFile","deleteFile","wait","delay","sourceDir","runner","e","fixture","FeatureFixture","installFeatures","code","AbstractCliTest"],"sources":["../../../../src/__tests__/behavioral/watchers/WatchingForChanges.test.ts"],"sourcesContent":["import { CORE_SCHEMA_VERSION, diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport WatchFeature from '../../../features/watch/WatchFeature'\nimport AbstractCliTest from '../../../tests/AbstractCliTest'\nimport { GeneratedFileOrDir } from '../../../types/cli.types'\n\nexport default class WatchingForChangesTest extends AbstractCliTest {\n\t@test()\n\tprotected static async installsWatchers() {\n\t\tawait this.installWatch()\n\t\tawait this.assertIsFeatureInstalled('watch')\n\t}\n\n\t@test()\n\tprotected static async notWatchingAtTheStart() {\n\t\tconst cli = await this.installWatch()\n\t\tconst isWatching = await cli.getFeature('watch').isWatching()\n\t\tassert.isFalse(isWatching)\n\t}\n\n\t@test()\n\tprotected static async canStartAndStopWatch() {\n\t\tconst cli = await this.installWatch()\n\t\tconst feature = cli.getFeature('watch')\n\n\t\tvoid feature.startWatching()\n\n\t\tlet isWatching = await feature.isWatching()\n\t\tassert.isTrue(isWatching)\n\n\t\tawait feature.stopWatching()\n\n\t\tisWatching = await feature.isWatching()\n\t\tassert.isFalse(isWatching)\n\t}\n\n\t@test('does not watch src', 'src', false)\n\t@test('does watch build', 'build', true)\n\tprotected static async watchesInCorrectDir(\n\t\tpath: string,\n\t\tshouldFire: boolean\n\t) {\n\t\tconst cli = await this.installWatch()\n\n\t\tconst feature = cli.getFeature('watch')\n\n\t\tlet fireCount = 0\n\n\t\tvoid cli.on('watcher.did-detect-change', () => {\n\t\t\tfireCount++\n\t\t})\n\n\t\tawait this.startWatching(feature)\n\n\t\tdiskUtil.writeFile(\n\t\t\tthis.resolvePath(path, 'test.ts'),\n\t\t\t'console.log(\"hello world\")'\n\t\t)\n\n\t\tawait this.stopWatching(feature)\n\n\t\tassert.isEqual(fireCount, shouldFire ? 1 : 0)\n\t}\n\n\t@test('fires once with one change', 1)\n\t@test('fires once with two changes', 2)\n\t@test('fires once with three changes', 3)\n\tprotected static async watcherFiresEventWhenASrcFileChanges(\n\t\tchangeCount: number\n\t) {\n\t\tlet fireCount = 0\n\n\t\tconst cli = await this.installWatch()\n\t\tconst feature = cli.getFeature('watch')\n\t\tlet payloadChanges: any = {}\n\n\t\tvoid cli.on('watcher.did-detect-change', (payload) => {\n\t\t\tfireCount++\n\t\t\tpayloadChanges = payload.changes\n\t\t})\n\n\t\tdiskUtil.createDir(this.cwd)\n\n\t\tawait this.startWatching(feature)\n\n\t\tconst expectedChanges: any[] = []\n\t\tfor (let idx = 0; idx < changeCount; idx++) {\n\t\t\tconst filename = `index-${idx}.js`\n\t\t\tdiskUtil.writeFile(\n\t\t\t\tthis.resolvePath('build', filename),\n\t\t\t\t'console.log(\"hello world\")'\n\t\t\t)\n\t\t\texpectedChanges.push({\n\t\t\t\tschemaId: 'generatedFile',\n\t\t\t\tversion: CORE_SCHEMA_VERSION.constValue,\n\t\t\t\tvalues: {\n\t\t\t\t\taction: 'generated',\n\t\t\t\t\tpath: this.resolvePath('build', filename),\n\t\t\t\t\tname: filename,\n\t\t\t\t},\n\t\t\t})\n\t\t}\n\n\t\tawait this.stopWatching(feature)\n\n\t\tassert.isEqual(fireCount, 1)\n\t\tassert.isTrue(payloadChanges.length >= changeCount)\n\n\t\tfor (const expected of expectedChanges) {\n\t\t\tassert.doesInclude(payloadChanges, expected)\n\t\t}\n\t}\n\n\t@test()\n\tprotected static async canTrackAddingDir() {\n\t\tawait this.watchRunStop(async () => {\n\t\t\tconst newDirDest = this.resolvePath('build', 'new_dir')\n\t\t\tdiskUtil.createDir(newDirDest)\n\n\t\t\tconst expected: GeneratedFileOrDir[] = [\n\t\t\t\t{\n\t\t\t\t\tschemaId: 'generatedDir',\n\t\t\t\t\tversion: 'v2020_07_22',\n\t\t\t\t\tvalues: {\n\t\t\t\t\t\taction: 'generated',\n\t\t\t\t\t\tname: 'new_dir',\n\t\t\t\t\t\tpath: this.resolvePath('build', 'new_dir'),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t]\n\t\t\treturn expected\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async canTrackDeletingDir() {\n\t\tconst newDirDest = this.resolvePath('build', 'new_dir')\n\t\tdiskUtil.createDir(newDirDest)\n\n\t\tawait this.watchRunStop(async () => {\n\t\t\tdiskUtil.deleteDir(newDirDest)\n\n\t\t\tconst expected: GeneratedFileOrDir[] = [\n\t\t\t\t{\n\t\t\t\t\tschemaId: 'generatedDir',\n\t\t\t\t\tversion: 'v2020_07_22',\n\t\t\t\t\tvalues: {\n\t\t\t\t\t\taction: 'deleted',\n\t\t\t\t\t\tname: 'new_dir',\n\t\t\t\t\t\tpath: this.resolvePath('build', 'new_dir'),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t]\n\n\t\t\treturn expected\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async canTrackDeletingFile() {\n\t\tconst newFile = this.resolvePath('build', 'test.js')\n\t\tdiskUtil.writeFile(newFile, 'test')\n\n\t\tawait this.watchRunStop(async () => {\n\t\t\tdiskUtil.deleteFile(newFile)\n\n\t\t\tconst expected: GeneratedFileOrDir[] = [\n\t\t\t\t{\n\t\t\t\t\tschemaId: 'generatedFile',\n\t\t\t\t\tversion: 'v2020_07_22',\n\t\t\t\t\tvalues: {\n\t\t\t\t\t\taction: 'deleted',\n\t\t\t\t\t\tname: 'test.js',\n\t\t\t\t\t\tpath: this.resolvePath('build', 'test.js'),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t]\n\t\t\treturn expected\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async canTrackDeletingFileInDirectory() {\n\t\tconst newDirDest = this.resolvePath('build', 'new_dir')\n\t\tdiskUtil.createDir(newDirDest)\n\n\t\tconst newFile = this.resolvePath('build', 'new_dir', 'test.js')\n\t\tdiskUtil.writeFile(newFile, 'test')\n\n\t\tawait this.watchRunStop(async () => {\n\t\t\tdiskUtil.deleteFile(newFile)\n\n\t\t\tconst expected: GeneratedFileOrDir[] = [\n\t\t\t\t{\n\t\t\t\t\tschemaId: 'generatedFile',\n\t\t\t\t\tversion: 'v2020_07_22',\n\t\t\t\t\tvalues: {\n\t\t\t\t\t\taction: 'deleted',\n\t\t\t\t\t\tname: 'test.js',\n\t\t\t\t\t\tpath: this.resolvePath('build', 'new_dir', 'test.js'),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t]\n\n\t\t\treturn expected\n\t\t})\n\t}\n\n\tprivate static async stopWatching(feature: WatchFeature) {\n\t\tawait this.wait(3000)\n\t\tawait feature.stopWatching()\n\t}\n\n\tprivate static async startWatching(feature: WatchFeature) {\n\t\tvoid feature.startWatching({ delay: 200, sourceDir: '.' })\n\t\tawait this.wait(1000)\n\t}\n\n\tprotected static async watchRunStop(\n\t\trunner: () => Promise<GeneratedFileOrDir[]>\n\t) {\n\t\tconst cli = await this.installWatch()\n\t\tconst feature = cli.getFeature('watch')\n\n\t\tlet payloadChanges: any = {}\n\t\tvoid cli.on('watcher.did-detect-change', (payload) => {\n\t\t\tpayloadChanges = payload.changes\n\t\t})\n\n\t\tawait this.startWatching(feature)\n\n\t\tconst expected: GeneratedFileOrDir[] = await runner()\n\n\t\tawait this.stopWatching(feature)\n\n\t\tfor (const e of expected) {\n\t\t\tassert.doesInclude(payloadChanges, e)\n\t\t}\n\t}\n\n\tprivate static async installWatch() {\n\t\tconst fixture = this.FeatureFixture()\n\t\tconst cli = await fixture.installFeatures([{ code: 'watch' }])\n\t\treturn cli\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -68,7 +68,7 @@ var FeatureCommandExecuterTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _te
|
|
|
68
68
|
_context.next = 20;
|
|
69
69
|
return this.wait(100);
|
|
70
70
|
case 20:
|
|
71
|
-
installer = this.
|
|
71
|
+
installer = this.featureInstaller;
|
|
72
72
|
_context.next = 23;
|
|
73
73
|
return installer.isInstalled('schema');
|
|
74
74
|
case 23:
|
|
@@ -174,7 +174,7 @@ var FeatureCommandExecuterTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _te
|
|
|
174
174
|
}
|
|
175
175
|
});
|
|
176
176
|
case 26:
|
|
177
|
-
installer = this.
|
|
177
|
+
installer = this.featureInstaller;
|
|
178
178
|
_context2.next = 29;
|
|
179
179
|
return installer.isInstalled('schema');
|
|
180
180
|
case 29:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionExecuter.test.js","names":["FeatureCommandExecuterTest","test","executer","Action","shouldAutoHandleDependencies","promise","execute","waitForInput","ui","sendInput","wait","installer","
|
|
1
|
+
{"version":3,"file":"ActionExecuter.test.js","names":["FeatureCommandExecuterTest","test","executer","Action","shouldAutoHandleDependencies","promise","execute","waitForInput","ui","sendInput","wait","installer","featureInstaller","isInstalled","assert","isFalse","assertHealthySkillNamed","skill","status","schema","schemas","generateExpectedHealthSchemas","Object","values","coreSchemas","id","name","namespace","version","versionUtil","generateVersion","constValue","isTrue","error","errorSchemas","AbstractSchemaTest"],"sources":["../../../src/__tests__/implementation/ActionExecuter.test.ts"],"sourcesContent":["import { versionUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\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.featureInstaller\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.featureInstaller\n\t\tconst isInstalled = await installer.isInstalled('schema')\n\n\t\tassert.isTrue(isInstalled)\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -84,7 +84,7 @@ var FeatureCommandExecuterContTest = (_dec = (0, _testUtils.test)(), _dec2 = (0,
|
|
|
84
84
|
didEventCommand = '';
|
|
85
85
|
willExecuteHitCount = 0;
|
|
86
86
|
didExecuteHitCount = 0;
|
|
87
|
-
emitter = this.
|
|
87
|
+
emitter = this.emitter;
|
|
88
88
|
void emitter.on('feature.will-execute', function (payload) {
|
|
89
89
|
emittedWillEvent = true;
|
|
90
90
|
willExecuteHitCount++;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionExecuter2.test.js","names":["FeatureCommandExecuterContTest","test","startBuildingNewErrorUntilOptionalDependencies","actionPromise","promise","finishBuildingUpToNamingNewError","results","assert","isTruthy","files","isFalsy","errors","pluginsDir","resolveHashSprucePath","isFalse","diskUtil","doesDirExist","testUtil","assertFileByNameInGeneratedFiles","setupMockCommands","executer","Action","shouldAutoHandleDependencies","emittedWillEvent","willEventCommand","emittedDidEvent","didEventCommand","willExecuteHitCount","didExecuteHitCount","emitter","getEmitter","on","payload","featuresUtil","generateCommand","featureCode","actionCode","meta","taco","isEqual","execute","waitForInput","ui","sendInput","doesNotInclude","getLastInvocation","command","options","type","secondTimeResults","name","description","packagesInstalled","isAbove","length","reset","lastQuestion","doesInclude","label","FeatureFixture","installCachedFeatures","version","versionUtil","generateVersion","dirValue","skillFeatureAnswer","message","invocations","choices","value","CommandService","fakeCommand","RegExp","code","AbstractSchemaTest"],"sources":["../../../src/__tests__/implementation/ActionExecuter2.test.ts"],"sourcesContent":["import { diskUtil, versionUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport featuresUtil from '../../features/feature.utilities'\nimport {\n\tFeatureActionResponse,\n\tFeatureInstallResponse,\n} from '../../features/features.types'\nimport CommandService from '../../services/CommandService'\nimport AbstractSchemaTest from '../../tests/AbstractSchemaTest'\nimport testUtil from '../../tests/utilities/test.utility'\n\nexport default class FeatureCommandExecuterContTest extends AbstractSchemaTest {\n\t@test()\n\tprotected static async canSkipOptionalDependencies() {\n\t\tconst { promise: actionPromise } =\n\t\t\tawait this.startBuildingNewErrorUntilOptionalDependencies('skip')\n\n\t\tconst results = await this.finishBuildingUpToNamingNewError(actionPromise)\n\n\t\tassert.isTruthy(results.files)\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst pluginsDir = this.resolveHashSprucePath('features')\n\t\tassert.isFalse(diskUtil.doesDirExist(pluginsDir))\n\n\t\ttestUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'myNewError.schema.ts',\n\t\t\tresults.files\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async shouldEmitExecutionEvents() {\n\t\tthis.setupMockCommands()\n\n\t\tconst executer = this.Action('skill', 'create', {\n\t\t\tshouldAutoHandleDependencies: true,\n\t\t})\n\n\t\tlet emittedWillEvent = false\n\t\tlet willEventCommand = ''\n\t\tlet emittedDidEvent = false\n\t\tlet didEventCommand = ''\n\t\tlet willExecuteHitCount = 0\n\t\tlet didExecuteHitCount = 0\n\n\t\tconst emitter = this.getEmitter()\n\n\t\tvoid emitter.on('feature.will-execute', (payload) => {\n\t\t\temittedWillEvent = true\n\t\t\twillExecuteHitCount++\n\n\t\t\twillEventCommand = featuresUtil.generateCommand(\n\t\t\t\tpayload.featureCode,\n\t\t\t\tpayload.actionCode\n\t\t\t)\n\t\t\treturn {}\n\t\t})\n\n\t\tvoid emitter.on('feature.did-execute', (payload) => {\n\t\t\temittedDidEvent = true\n\t\t\tdidExecuteHitCount++\n\t\t\tdidEventCommand = featuresUtil.generateCommand(\n\t\t\t\tpayload.featureCode,\n\t\t\t\tpayload.actionCode\n\t\t\t)\n\n\t\t\treturn {\n\t\t\t\tmeta: {\n\t\t\t\t\ttaco: 'bell',\n\t\t\t\t},\n\t\t\t}\n\t\t})\n\n\t\tassert.isFalse(emittedWillEvent)\n\t\tassert.isFalse(emittedDidEvent)\n\t\tassert.isEqual(willExecuteHitCount, 0)\n\t\tassert.isEqual(didExecuteHitCount, 0)\n\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\tconst results = await promise\n\n\t\tassert.isEqual(results.meta?.taco, 'bell')\n\t\tassert.isEqual(willEventCommand, 'create.skill')\n\t\tassert.isEqual(didEventCommand, 'create.skill')\n\t\tassert.isEqual(willExecuteHitCount, 1)\n\t\tassert.isEqual(didExecuteHitCount, 1)\n\t}\n\n\t@test()\n\tprotected static async canPermanentlySkipOptionalDependencies() {\n\t\tconst { promise: actionPromise } =\n\t\t\tawait this.startBuildingNewErrorUntilOptionalDependencies('alwaysSkip')\n\n\t\tawait this.finishBuildingUpToNamingNewError(actionPromise)\n\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\tassert.doesNotInclude(this.ui.getLastInvocation(), {\n\t\t\tcommand: 'prompt',\n\t\t\toptions: {\n\t\t\t\ttype: 'select',\n\t\t\t},\n\t\t})\n\n\t\tawait this.ui.sendInput('My second error')\n\t\tawait this.ui.sendInput('')\n\n\t\tconst secondTimeResults = await promise\n\n\t\tassert.isTruthy(secondTimeResults.files)\n\n\t\ttestUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'myNewError.schema.ts',\n\t\t\tsecondTimeResults.files\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async shouldReturnProperSummary() {\n\t\tthis.setupMockCommands()\n\n\t\tconst executer = this.Action('skill', 'create', {\n\t\t\tshouldAutoHandleDependencies: true,\n\t\t})\n\t\tconst results = await executer.execute({\n\t\t\tname: 'install summary test skill',\n\t\t\tdescription: 'go team!',\n\t\t})\n\n\t\tassert.isTruthy(results.files)\n\t\tassert.isTruthy(results.packagesInstalled)\n\n\t\tassert.isAbove(results.files.length, 0)\n\t\tassert.isAbove(results.packagesInstalled.length, 0)\n\t}\n\n\t@test()\n\tprotected static async shouldAskInstallDependentFeatures() {\n\t\tthis.setupMockCommands()\n\n\t\tconst executer = this.Action('schema', 'create', {\n\t\t\tshouldAutoHandleDependencies: true,\n\t\t})\n\t\tvoid executer.execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tthis.ui.reset()\n\t\tconst lastQuestion = this.ui.getLastInvocation()\n\n\t\tassert.isEqual(lastQuestion.command, 'prompt')\n\t\tassert.doesInclude(\n\t\t\tlastQuestion.options.label,\n\t\t\t/install the skill feature/gi\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async shouldAddListenerWithoutBreakingOnSkill() {\n\t\tthis.setupMockCommands()\n\n\t\tawait this.FeatureFixture().installCachedFeatures('schemas')\n\n\t\tconst executer = this.Action('event', 'listen', {\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('skill')\n\t\tawait this.ui.sendInput('will-boot')\n\n\t\tconst results = await promise\n\n\t\tconst version = versionUtil.generateVersion().dirValue\n\t\ttestUtil.assertFileByNameInGeneratedFiles(\n\t\t\t`will-boot.${version}.listener.ts`,\n\t\t\tresults.files\n\t\t)\n\t}\n\n\tprivate static async finishBuildingUpToNamingNewError(\n\t\tactionPromise: Promise<FeatureInstallResponse & FeatureActionResponse>\n\t) {\n\t\tawait this.ui.sendInput('')\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('')\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('My new error')\n\t\tawait this.ui.sendInput('')\n\n\t\tconst results = await actionPromise\n\t\treturn results\n\t}\n\n\tprivate static async startBuildingNewErrorUntilOptionalDependencies(\n\t\tskillFeatureAnswer: 'skip' | 'yes' | 'alwaysSkip'\n\t) {\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\tconst message =\n\t\t\tthis.ui.invocations[this.ui.invocations.length - 2].options.message\n\t\tassert.isTruthy(message)\n\n\t\tassert.doesInclude(message, /2 required/gi)\n\t\tassert.doesInclude(message, /1 optional/gi)\n\n\t\tassert.doesInclude(this.ui.getLastInvocation(), {\n\t\t\tcommand: 'prompt',\n\t\t\toptions: {\n\t\t\t\ttype: 'select',\n\t\t\t\toptions: {\n\t\t\t\t\tchoices: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: 'yes',\n\t\t\t\t\t\t\tlabel: 'Yes',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: 'skip',\n\t\t\t\t\t\t\tlabel: 'Skip',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: 'alwaysSkip',\n\t\t\t\t\t\t\tlabel: 'Always skip',\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\n\t\tawait this.ui.sendInput(skillFeatureAnswer)\n\n\t\tawait this.ui.sendInput('y')\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('My new module')\n\t\tawait this.ui.sendInput('it is for testing')\n\n\t\tawait this.waitForInput()\n\n\t\treturn { promise }\n\t}\n\n\tprivate static setupMockCommands() {\n\t\tCommandService.fakeCommand(new RegExp(/npm.*?install .*?/gis), {\n\t\t\tcode: 0,\n\t\t})\n\t}\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ActionExecuter2.test.js","names":["FeatureCommandExecuterContTest","test","startBuildingNewErrorUntilOptionalDependencies","actionPromise","promise","finishBuildingUpToNamingNewError","results","assert","isTruthy","files","isFalsy","errors","pluginsDir","resolveHashSprucePath","isFalse","diskUtil","doesDirExist","testUtil","assertFileByNameInGeneratedFiles","setupMockCommands","executer","Action","shouldAutoHandleDependencies","emittedWillEvent","willEventCommand","emittedDidEvent","didEventCommand","willExecuteHitCount","didExecuteHitCount","emitter","on","payload","featuresUtil","generateCommand","featureCode","actionCode","meta","taco","isEqual","execute","waitForInput","ui","sendInput","doesNotInclude","getLastInvocation","command","options","type","secondTimeResults","name","description","packagesInstalled","isAbove","length","reset","lastQuestion","doesInclude","label","FeatureFixture","installCachedFeatures","version","versionUtil","generateVersion","dirValue","skillFeatureAnswer","message","invocations","choices","value","CommandService","fakeCommand","RegExp","code","AbstractSchemaTest"],"sources":["../../../src/__tests__/implementation/ActionExecuter2.test.ts"],"sourcesContent":["import { diskUtil, versionUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport featuresUtil from '../../features/feature.utilities'\nimport {\n\tFeatureActionResponse,\n\tFeatureInstallResponse,\n} from '../../features/features.types'\nimport CommandService from '../../services/CommandService'\nimport AbstractSchemaTest from '../../tests/AbstractSchemaTest'\nimport testUtil from '../../tests/utilities/test.utility'\n\nexport default class FeatureCommandExecuterContTest extends AbstractSchemaTest {\n\t@test()\n\tprotected static async canSkipOptionalDependencies() {\n\t\tconst { promise: actionPromise } =\n\t\t\tawait this.startBuildingNewErrorUntilOptionalDependencies('skip')\n\n\t\tconst results = await this.finishBuildingUpToNamingNewError(actionPromise)\n\n\t\tassert.isTruthy(results.files)\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst pluginsDir = this.resolveHashSprucePath('features')\n\t\tassert.isFalse(diskUtil.doesDirExist(pluginsDir))\n\n\t\ttestUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'myNewError.schema.ts',\n\t\t\tresults.files\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async shouldEmitExecutionEvents() {\n\t\tthis.setupMockCommands()\n\n\t\tconst executer = this.Action('skill', 'create', {\n\t\t\tshouldAutoHandleDependencies: true,\n\t\t})\n\n\t\tlet emittedWillEvent = false\n\t\tlet willEventCommand = ''\n\t\tlet emittedDidEvent = false\n\t\tlet didEventCommand = ''\n\t\tlet willExecuteHitCount = 0\n\t\tlet didExecuteHitCount = 0\n\n\t\tconst emitter = this.emitter\n\n\t\tvoid emitter.on('feature.will-execute', (payload) => {\n\t\t\temittedWillEvent = true\n\t\t\twillExecuteHitCount++\n\n\t\t\twillEventCommand = featuresUtil.generateCommand(\n\t\t\t\tpayload.featureCode,\n\t\t\t\tpayload.actionCode\n\t\t\t)\n\t\t\treturn {}\n\t\t})\n\n\t\tvoid emitter.on('feature.did-execute', (payload) => {\n\t\t\temittedDidEvent = true\n\t\t\tdidExecuteHitCount++\n\t\t\tdidEventCommand = featuresUtil.generateCommand(\n\t\t\t\tpayload.featureCode,\n\t\t\t\tpayload.actionCode\n\t\t\t)\n\n\t\t\treturn {\n\t\t\t\tmeta: {\n\t\t\t\t\ttaco: 'bell',\n\t\t\t\t},\n\t\t\t}\n\t\t})\n\n\t\tassert.isFalse(emittedWillEvent)\n\t\tassert.isFalse(emittedDidEvent)\n\t\tassert.isEqual(willExecuteHitCount, 0)\n\t\tassert.isEqual(didExecuteHitCount, 0)\n\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\tconst results = await promise\n\n\t\tassert.isEqual(results.meta?.taco, 'bell')\n\t\tassert.isEqual(willEventCommand, 'create.skill')\n\t\tassert.isEqual(didEventCommand, 'create.skill')\n\t\tassert.isEqual(willExecuteHitCount, 1)\n\t\tassert.isEqual(didExecuteHitCount, 1)\n\t}\n\n\t@test()\n\tprotected static async canPermanentlySkipOptionalDependencies() {\n\t\tconst { promise: actionPromise } =\n\t\t\tawait this.startBuildingNewErrorUntilOptionalDependencies('alwaysSkip')\n\n\t\tawait this.finishBuildingUpToNamingNewError(actionPromise)\n\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\tassert.doesNotInclude(this.ui.getLastInvocation(), {\n\t\t\tcommand: 'prompt',\n\t\t\toptions: {\n\t\t\t\ttype: 'select',\n\t\t\t},\n\t\t})\n\n\t\tawait this.ui.sendInput('My second error')\n\t\tawait this.ui.sendInput('')\n\n\t\tconst secondTimeResults = await promise\n\n\t\tassert.isTruthy(secondTimeResults.files)\n\n\t\ttestUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'myNewError.schema.ts',\n\t\t\tsecondTimeResults.files\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async shouldReturnProperSummary() {\n\t\tthis.setupMockCommands()\n\n\t\tconst executer = this.Action('skill', 'create', {\n\t\t\tshouldAutoHandleDependencies: true,\n\t\t})\n\t\tconst results = await executer.execute({\n\t\t\tname: 'install summary test skill',\n\t\t\tdescription: 'go team!',\n\t\t})\n\n\t\tassert.isTruthy(results.files)\n\t\tassert.isTruthy(results.packagesInstalled)\n\n\t\tassert.isAbove(results.files.length, 0)\n\t\tassert.isAbove(results.packagesInstalled.length, 0)\n\t}\n\n\t@test()\n\tprotected static async shouldAskInstallDependentFeatures() {\n\t\tthis.setupMockCommands()\n\n\t\tconst executer = this.Action('schema', 'create', {\n\t\t\tshouldAutoHandleDependencies: true,\n\t\t})\n\t\tvoid executer.execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tthis.ui.reset()\n\t\tconst lastQuestion = this.ui.getLastInvocation()\n\n\t\tassert.isEqual(lastQuestion.command, 'prompt')\n\t\tassert.doesInclude(\n\t\t\tlastQuestion.options.label,\n\t\t\t/install the skill feature/gi\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async shouldAddListenerWithoutBreakingOnSkill() {\n\t\tthis.setupMockCommands()\n\n\t\tawait this.FeatureFixture().installCachedFeatures('schemas')\n\n\t\tconst executer = this.Action('event', 'listen', {\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('skill')\n\t\tawait this.ui.sendInput('will-boot')\n\n\t\tconst results = await promise\n\n\t\tconst version = versionUtil.generateVersion().dirValue\n\t\ttestUtil.assertFileByNameInGeneratedFiles(\n\t\t\t`will-boot.${version}.listener.ts`,\n\t\t\tresults.files\n\t\t)\n\t}\n\n\tprivate static async finishBuildingUpToNamingNewError(\n\t\tactionPromise: Promise<FeatureInstallResponse & FeatureActionResponse>\n\t) {\n\t\tawait this.ui.sendInput('')\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('')\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('My new error')\n\t\tawait this.ui.sendInput('')\n\n\t\tconst results = await actionPromise\n\t\treturn results\n\t}\n\n\tprivate static async startBuildingNewErrorUntilOptionalDependencies(\n\t\tskillFeatureAnswer: 'skip' | 'yes' | 'alwaysSkip'\n\t) {\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\tconst message =\n\t\t\tthis.ui.invocations[this.ui.invocations.length - 2].options.message\n\t\tassert.isTruthy(message)\n\n\t\tassert.doesInclude(message, /2 required/gi)\n\t\tassert.doesInclude(message, /1 optional/gi)\n\n\t\tassert.doesInclude(this.ui.getLastInvocation(), {\n\t\t\tcommand: 'prompt',\n\t\t\toptions: {\n\t\t\t\ttype: 'select',\n\t\t\t\toptions: {\n\t\t\t\t\tchoices: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: 'yes',\n\t\t\t\t\t\t\tlabel: 'Yes',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: 'skip',\n\t\t\t\t\t\t\tlabel: 'Skip',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: 'alwaysSkip',\n\t\t\t\t\t\t\tlabel: 'Always skip',\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\n\t\tawait this.ui.sendInput(skillFeatureAnswer)\n\n\t\tawait this.ui.sendInput('y')\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('My new module')\n\t\tawait this.ui.sendInput('it is for testing')\n\n\t\tawait this.waitForInput()\n\n\t\treturn { promise }\n\t}\n\n\tprivate static setupMockCommands() {\n\t\tCommandService.fakeCommand(new RegExp(/npm.*?install .*?/gis), {\n\t\t\tcode: 0,\n\t\t})\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -71,7 +71,7 @@ var ActionExecuter4Test = (_dec = (0, _testUtils.test)('throws by default with w
|
|
|
71
71
|
case 0:
|
|
72
72
|
willDid = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : 'will';
|
|
73
73
|
_context2.next = 3;
|
|
74
|
-
return this.
|
|
74
|
+
return this.emitter.on("feature.".concat(willDid, "-execute"), function () {
|
|
75
75
|
throw new Error(msg);
|
|
76
76
|
});
|
|
77
77
|
case 3:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionExecuter4.test.js","names":["ActionExecuter4Test","test","CommandService","fakeCommand","code","ENABLE_NPM_CACHE_COMMAND","msg","willDid","
|
|
1
|
+
{"version":3,"file":"ActionExecuter4.test.js","names":["ActionExecuter4Test","test","CommandService","fakeCommand","code","ENABLE_NPM_CACHE_COMMAND","msg","willDid","emitter","on","Error","assert","doesThrowAsync","Action","execute","err","errorAssert","assertError","AbstractCliTest"],"sources":["../../../src/__tests__/implementation/ActionExecuter4.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test-utils'\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.fakeCommand(/which docker/gis, {\n\t\t\tcode: 0,\n\t\t})\n\t\tCommandService.fakeCommand(ENABLE_NPM_CACHE_COMMAND, {\n\t\t\tcode: 0,\n\t\t})\n\t}\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.emitter.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"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAEA;AACA;AACA;AAAyD;AAAA;AAAA;AAAA,IAEpCA,mBAAmB,WAYtC,IAAAC,eAAI,EAAC,sDAAsD,EAAE,MAAM,CAAC,UACpE,IAAAA,eAAI,EAAC,sDAAsD,EAAE,OAAO,CAAC,UACrE,IAAAA,eAAI,EAAC,qDAAqD,EAAE,OAAO,EAAE,KAAK,CAAC,UAkB3E,IAAAA,eAAI,GAAE;EAAA;EAAA;EAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;MAAA,gGA/BP;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA;cAAA;gBAGCC,0BAAc,CAACC,WAAW,CAAC,gBAAiB,EAAE;kBAC7CC,IAAI,EAAE;gBACP,CAAC,CAAC;gBACFF,0BAAc,CAACC,WAAW,CAACE,mCAAwB,EAAE;kBACpDD,IAAI,EAAE;gBACP,CAAC,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACF;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,4IAED,kBAICE,GAAW;QAAA;QAAA;UAAA;UAAA;QAAA;UAAA;YAAA;cAAA;gBACXC,OAAuB,8DAAG,MAAM;gBAAA;gBAAA,OAE1B,IAAI,CAACC,OAAO,CAACC,EAAE,mBAAYF,OAAO,eAAY,YAAM;kBACzD,MAAM,IAAIG,KAAK,CAACJ,GAAG,CAAC;gBACrB,CAAC,CAAC;cAAA;gBAAA;gBAAA,OAEgBK,iBAAM,CAACC,cAAc,CAAC;kBAAA,OACvC,KAAI,CAACC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAACC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAAA,EAC1C;cAAA;gBAFKC,GAAG;gBAITC,sBAAW,CAACC,WAAW,CAACF,GAAG,EAAE,gBAAgB,EAAE;kBAC9C,uBAAuB,EAAET;gBAC1B,CAAC,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACF;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,iHAED;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEO,IAAI,CAACO,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAACC,OAAO,CAAC,CAAC,CAAC,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAChD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA,EAnC+CI,4BAAe;AAAA"}
|
|
@@ -16,6 +16,7 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
|
|
|
16
16
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
17
17
|
var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor"));
|
|
18
18
|
var _testUtils = require("@sprucelabs/test-utils");
|
|
19
|
+
var _CommandService = _interopRequireDefault(require("../../services/CommandService"));
|
|
19
20
|
var _AbstractCliTest2 = _interopRequireDefault(require("../../tests/AbstractCliTest"));
|
|
20
21
|
var _dec, _dec2, _dec3, _class, _class2;
|
|
21
22
|
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); }; }
|
|
@@ -38,7 +39,7 @@ var FeatureInstallerTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUtil
|
|
|
38
39
|
_context.next = 2;
|
|
39
40
|
return (0, _get2["default"])((0, _getPrototypeOf2["default"])(FeatureInstallerTest), "beforeEach", this).call(this);
|
|
40
41
|
case 2:
|
|
41
|
-
this.installer = this.
|
|
42
|
+
this.installer = this.featureInstaller;
|
|
42
43
|
case 3:
|
|
43
44
|
case "end":
|
|
44
45
|
return _context.stop();
|
|
@@ -124,11 +125,14 @@ var FeatureInstallerTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUtil
|
|
|
124
125
|
while (1) {
|
|
125
126
|
switch (_context4.prev = _context4.next) {
|
|
126
127
|
case 0:
|
|
128
|
+
_CommandService["default"].fakeCommand(/yarn/, {
|
|
129
|
+
code: 0
|
|
130
|
+
});
|
|
127
131
|
hitCount = 0; //@ts-ignore
|
|
128
132
|
this.installer.featureMap.schema.afterPackageInstall = function () {
|
|
129
133
|
hitCount++;
|
|
130
134
|
};
|
|
131
|
-
_context4.next =
|
|
135
|
+
_context4.next = 5;
|
|
132
136
|
return this.installer.install({
|
|
133
137
|
features: [{
|
|
134
138
|
code: 'skill',
|
|
@@ -142,9 +146,9 @@ var FeatureInstallerTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUtil
|
|
|
142
146
|
code: 'event'
|
|
143
147
|
}]
|
|
144
148
|
});
|
|
145
|
-
case 4:
|
|
146
|
-
_testUtils.assert.isEqual(hitCount, 1);
|
|
147
149
|
case 5:
|
|
150
|
+
_testUtils.assert.isEqual(hitCount, 1);
|
|
151
|
+
case 6:
|
|
148
152
|
case "end":
|
|
149
153
|
return _context4.stop();
|
|
150
154
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FeatureInstaller.test.js","names":["FeatureInstallerTest","test","installer","
|
|
1
|
+
{"version":3,"file":"FeatureInstaller.test.js","names":["FeatureInstallerTest","test","installer","featureInstaller","dependencies","getFeatureDependencies","assert","doesInclude","code","isRequired","CommandService","fakeCommand","hitCount","featureMap","schema","afterPackageInstall","install","features","options","name","description","isEqual","AbstractCliTest"],"sources":["../../../src/__tests__/implementation/FeatureInstaller.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test-utils'\nimport FeatureInstaller from '../../features/FeatureInstaller'\nimport CommandService from '../../services/CommandService'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\n\nexport default class FeatureInstallerTest extends AbstractCliTest {\n\tprotected static installer: FeatureInstaller\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tthis.installer = this.featureInstaller\n\t}\n\n\t@test()\n\tprotected static async canGetFeatureDependencies() {\n\t\tconst dependencies = this.installer.getFeatureDependencies('schema')\n\t\tassert.doesInclude(dependencies, { code: 'skill', isRequired: false })\n\t\tassert.doesInclude(dependencies, { code: 'node', isRequired: true })\n\t}\n\n\t@test()\n\tprotected static async canGetFeatureDependenciesWithOptional() {\n\t\tconst dependencies = this.installer.getFeatureDependencies('error')\n\t\tassert.doesInclude(dependencies, { code: 'skill', isRequired: false })\n\t\tassert.doesInclude(dependencies, { code: 'schema', isRequired: true })\n\t\tassert.doesInclude(dependencies, { code: 'node', isRequired: true })\n\t}\n\n\t@test()\n\tprotected static async afterPackageInstallIsCalledOncePerFeature() {\n\t\tCommandService.fakeCommand(/yarn/, {\n\t\t\tcode: 0,\n\t\t})\n\n\t\tlet hitCount = 0\n\n\t\t//@ts-ignore\n\t\tthis.installer.featureMap.schema.afterPackageInstall = () => {\n\t\t\thitCount++\n\t\t}\n\n\t\tawait this.installer.install({\n\t\t\tfeatures: [\n\t\t\t\t{\n\t\t\t\t\tcode: 'skill',\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tname: 'testing events',\n\t\t\t\t\t\tdescription: 'this too, is a great test!',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcode: 'schema',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcode: 'event',\n\t\t\t\t},\n\t\t\t],\n\t\t})\n\n\t\tassert.isEqual(hitCount, 1)\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AAEA;AACA;AAAyD;AAAA;AAAA;AAAA,IAEpCA,oBAAoB,WAQvC,IAAAC,eAAI,GAAE,UAON,IAAAA,eAAI,GAAE,UAQN,IAAAA,eAAI,GAAE;EAAA;EAAA;EAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;MAAA,gGApBP;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA;cAAA;gBAEC,IAAI,CAACC,SAAS,GAAG,IAAI,CAACC,gBAAgB;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACtC;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,+GAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAEOC,YAAY,GAAG,IAAI,CAACF,SAAS,CAACG,sBAAsB,CAAC,QAAQ,CAAC;gBACpEC,iBAAM,CAACC,WAAW,CAACH,YAAY,EAAE;kBAAEI,IAAI,EAAE,OAAO;kBAAEC,UAAU,EAAE;gBAAM,CAAC,CAAC;gBACtEH,iBAAM,CAACC,WAAW,CAACH,YAAY,EAAE;kBAAEI,IAAI,EAAE,MAAM;kBAAEC,UAAU,EAAE;gBAAK,CAAC,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACpE;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,2HAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAEOL,YAAY,GAAG,IAAI,CAACF,SAAS,CAACG,sBAAsB,CAAC,OAAO,CAAC;gBACnEC,iBAAM,CAACC,WAAW,CAACH,YAAY,EAAE;kBAAEI,IAAI,EAAE,OAAO;kBAAEC,UAAU,EAAE;gBAAM,CAAC,CAAC;gBACtEH,iBAAM,CAACC,WAAW,CAACH,YAAY,EAAE;kBAAEI,IAAI,EAAE,QAAQ;kBAAEC,UAAU,EAAE;gBAAK,CAAC,CAAC;gBACtEH,iBAAM,CAACC,WAAW,CAACH,YAAY,EAAE;kBAAEI,IAAI,EAAE,MAAM;kBAAEC,UAAU,EAAE;gBAAK,CAAC,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACpE;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,+HAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAECC,0BAAc,CAACC,WAAW,CAAC,MAAM,EAAE;kBAClCH,IAAI,EAAE;gBACP,CAAC,CAAC;gBAEEI,QAAQ,GAAG,CAAC,EAEhB;gBACA,IAAI,CAACV,SAAS,CAACW,UAAU,CAACC,MAAM,CAACC,mBAAmB,GAAG,YAAM;kBAC5DH,QAAQ,EAAE;gBACX,CAAC;gBAAA;gBAAA,OAEK,IAAI,CAACV,SAAS,CAACc,OAAO,CAAC;kBAC5BC,QAAQ,EAAE,CACT;oBACCT,IAAI,EAAE,OAAO;oBACbU,OAAO,EAAE;sBACRC,IAAI,EAAE,gBAAgB;sBACtBC,WAAW,EAAE;oBACd;kBACD,CAAC,EACD;oBACCZ,IAAI,EAAE;kBACP,CAAC,EACD;oBACCA,IAAI,EAAE;kBACP,CAAC;gBAEH,CAAC,CAAC;cAAA;gBAEFF,iBAAM,CAACe,OAAO,CAACT,QAAQ,EAAE,CAAC,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAC3B;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA,EAvDgDU,4BAAe;AAAA"}
|
|
@@ -26,30 +26,29 @@ var GlobalEmitterTest = (_dec = (0, _testUtils.test)(), (_class = /*#__PURE__*/f
|
|
|
26
26
|
return _super.apply(this, arguments);
|
|
27
27
|
}
|
|
28
28
|
(0, _createClass2["default"])(GlobalEmitterTest, null, [{
|
|
29
|
-
key: "
|
|
29
|
+
key: "globalEmitterEmitsEquentally",
|
|
30
30
|
value: function () {
|
|
31
|
-
var
|
|
32
|
-
var emitter;
|
|
31
|
+
var _globalEmitterEmitsEquentally = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
33
32
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
34
33
|
while (1) {
|
|
35
34
|
switch (_context.prev = _context.next) {
|
|
36
35
|
case 0:
|
|
37
|
-
|
|
38
|
-
_testUtils.assert.isTrue(emitter.shouldEmitSequentally);
|
|
39
|
-
case
|
|
36
|
+
//@ts-ignore
|
|
37
|
+
_testUtils.assert.isTrue(this.emitter.shouldEmitSequentally);
|
|
38
|
+
case 1:
|
|
40
39
|
case "end":
|
|
41
40
|
return _context.stop();
|
|
42
41
|
}
|
|
43
42
|
}
|
|
44
43
|
}, _callee, this);
|
|
45
44
|
}));
|
|
46
|
-
function
|
|
47
|
-
return
|
|
45
|
+
function globalEmitterEmitsEquentally() {
|
|
46
|
+
return _globalEmitterEmitsEquentally.apply(this, arguments);
|
|
48
47
|
}
|
|
49
|
-
return
|
|
48
|
+
return globalEmitterEmitsEquentally;
|
|
50
49
|
}()
|
|
51
50
|
}]);
|
|
52
51
|
return GlobalEmitterTest;
|
|
53
|
-
}(_AbstractCliTest2["default"]), ((0, _applyDecoratedDescriptor2["default"])(_class, "
|
|
52
|
+
}(_AbstractCliTest2["default"]), ((0, _applyDecoratedDescriptor2["default"])(_class, "globalEmitterEmitsEquentally", [_dec], Object.getOwnPropertyDescriptor(_class, "globalEmitterEmitsEquentally"), _class)), _class));
|
|
54
53
|
exports["default"] = GlobalEmitterTest;
|
|
55
54
|
//# sourceMappingURL=GlobalEmitter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GlobalEmitter.js","names":["GlobalEmitterTest","test","
|
|
1
|
+
{"version":3,"file":"GlobalEmitter.js","names":["GlobalEmitterTest","test","assert","isTrue","emitter","shouldEmitSequentally","AbstractCliTest"],"sources":["../../../src/__tests__/implementation/GlobalEmitter.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test-utils'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\n\nexport default class GlobalEmitterTest extends AbstractCliTest {\n\t@test()\n\tprotected static async globalEmitterEmitsEquentally() {\n\t\t//@ts-ignore\n\t\tassert.isTrue(this.emitter.shouldEmitSequentally)\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AACA;AAAyD;AAAA;AAAA;AAAA,IAEpCA,iBAAiB,WACpC,IAAAC,eAAI,GAAE;EAAA;EAAA;EAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;MAAA,kHAAP;QAAA;UAAA;YAAA;cAAA;gBAEC;gBACAC,iBAAM,CAACC,MAAM,CAAC,IAAI,CAACC,OAAO,CAACC,qBAAqB,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACjD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA,EAL6CC,4BAAe;AAAA"}
|
|
@@ -72,7 +72,7 @@ var SettingUpANodeModuleTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _test
|
|
|
72
72
|
while (1) {
|
|
73
73
|
switch (_context2.prev = _context2.next) {
|
|
74
74
|
case 0:
|
|
75
|
-
installer = this.
|
|
75
|
+
installer = this.featureInstaller;
|
|
76
76
|
_context2.next = 3;
|
|
77
77
|
return installer.isInstalled('node');
|
|
78
78
|
case 3:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettingUpANodeModule.test.js","names":["SettingUpANodeModuleTest","test","Cli","cli","assert","doesThrowAsync","installFeatures","features","code","options","err","errorAssert","assertError","installer","
|
|
1
|
+
{"version":3,"file":"SettingUpANodeModule.test.js","names":["SettingUpANodeModuleTest","test","Cli","cli","assert","doesThrowAsync","installFeatures","features","code","options","err","errorAssert","assertError","installer","featureInstaller","isInstalled","isFalse","name","description","pkgService","Service","contents","readPackage","doesInclude","version","AbstractCliTest"],"sources":["../../../src/__tests__/implementation/SettingUpANodeModule.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test-utils'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\n\nexport default class SettingUpANodeModuleTest extends AbstractCliTest {\n\t@test()\n\tprotected static async settingUpANodeModule() {\n\t\tconst cli = await this.Cli()\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: 'node',\n\t\t\t\t\t\t//@ts-ignore\n\t\t\t\t\t\toptions: {},\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 canTellIfNotInstalled() {\n\t\tconst installer = this.featureInstaller\n\t\tconst isInstalled = await installer.isInstalled('node')\n\t\tassert.isFalse(isInstalled)\n\t}\n\n\t@test()\n\tprotected static async installsNodeModuleWithCleanedUpPackageJson() {\n\t\tconst cli = await this.Cli()\n\n\t\tawait cli.installFeatures({\n\t\t\tfeatures: [\n\t\t\t\t{\n\t\t\t\t\tcode: 'node',\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tname: 'Test module',\n\t\t\t\t\t\tdescription: 'so great!',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t})\n\n\t\tconst pkgService = this.Service('pkg')\n\t\tconst contents = pkgService.readPackage()\n\n\t\tassert.doesInclude(contents, {\n\t\t\tname: 'test-module',\n\t\t\tdescription: 'so great!',\n\t\t\tversion: '0.0.1',\n\t\t})\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAEA;AAAyD;AAAA;AAAA;AAAA,IAEpCA,wBAAwB,WAC3C,IAAAC,eAAI,GAAE,UAkBN,IAAAA,eAAI,GAAE,UAON,IAAAA,eAAI,GAAE;EAAA;EAAA;EAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;MAAA,0GAzBP;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEmB,IAAI,CAACC,GAAG,EAAE;cAAA;gBAAtBC,GAAG;gBAAA;gBAAA,OACSC,iBAAM,CAACC,cAAc,CAAC;kBAAA,OACvCF,GAAG,CAACG,eAAe,CAAC;oBACnBC,QAAQ,EAAE,CACT;sBACCC,IAAI,EAAE,MAAM;sBACZ;sBACAC,OAAO,EAAE,CAAC;oBACX,CAAC;kBAEH,CAAC,CAAC;gBAAA,EACF;cAAA;gBAVKC,GAAG;gBAYTC,sBAAW,CAACC,WAAW,CAACF,GAAG,EAAE,mBAAmB,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACjD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,2GAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAEOG,SAAS,GAAG,IAAI,CAACC,gBAAgB;gBAAA;gBAAA,OACbD,SAAS,CAACE,WAAW,CAAC,MAAM,CAAC;cAAA;gBAAjDA,WAAW;gBACjBX,iBAAM,CAACY,OAAO,CAACD,WAAW,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAC3B;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,gIAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEmB,IAAI,CAACb,GAAG,EAAE;cAAA;gBAAtBC,GAAG;gBAAA;gBAAA,OAEHA,GAAG,CAACG,eAAe,CAAC;kBACzBC,QAAQ,EAAE,CACT;oBACCC,IAAI,EAAE,MAAM;oBACZC,OAAO,EAAE;sBACRQ,IAAI,EAAE,aAAa;sBACnBC,WAAW,EAAE;oBACd;kBACD,CAAC;gBAEH,CAAC,CAAC;cAAA;gBAEIC,UAAU,GAAG,IAAI,CAACC,OAAO,CAAC,KAAK,CAAC;gBAChCC,QAAQ,GAAGF,UAAU,CAACG,WAAW,EAAE;gBAEzClB,iBAAM,CAACmB,WAAW,CAACF,QAAQ,EAAE;kBAC5BJ,IAAI,EAAE,aAAa;kBACnBC,WAAW,EAAE,WAAW;kBACxBM,OAAO,EAAE;gBACV,CAAC,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACF;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA,EAlDoDC,4BAAe;AAAA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import AbstractCliTest from '../../tests/AbstractCliTest';
|
|
2
2
|
export default class SkillStoreTest extends AbstractCliTest {
|
|
3
|
-
|
|
3
|
+
private static store;
|
|
4
|
+
protected static beforeEach(): Promise<void>;
|
|
4
5
|
protected static hasRegisterMethod(): Promise<void>;
|
|
5
6
|
protected static cantRegisterIfNotInSkill(): Promise<void>;
|
|
6
7
|
protected static cantLoadcurrentSkillIfNotInSkill(): Promise<void>;
|
|
@@ -8,4 +9,5 @@ export default class SkillStoreTest extends AbstractCliTest {
|
|
|
8
9
|
protected static canGetNamespace(): Promise<void>;
|
|
9
10
|
protected static canSetNamespace(): Promise<void>;
|
|
10
11
|
protected static canRegister(): Promise<void>;
|
|
12
|
+
private static SkillStore;
|
|
11
13
|
}
|