@sprucelabs/spruce-cli 14.28.5 → 14.29.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 +35 -0
- package/build/__tests__/behavioral/BootingWithBadFiles.test.js +26 -13
- package/build/__tests__/behavioral/BootingWithBadFiles.test.js.map +1 -1
- package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js +13 -9
- package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/SyncingEventsOnlyFromDependencies.test.d.ts +1 -1
- package/build/__tests__/behavioral/SyncingEventsOnlyFromDependencies.test.js +24 -14
- package/build/__tests__/behavioral/SyncingEventsOnlyFromDependencies.test.js.map +1 -1
- package/build/__tests__/behavioral/TestingDataStores.test.js +15 -11
- package/build/__tests__/behavioral/TestingDataStores.test.js.map +1 -1
- package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js +3 -1
- package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js.map +1 -1
- package/build/__tests__/behavioral/events/CreatingAListener.test.d.ts +2 -0
- package/build/__tests__/behavioral/events/CreatingAListener.test.js +157 -81
- package/build/__tests__/behavioral/events/CreatingAListener.test.js.map +1 -1
- package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js +1 -1
- package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js.map +1 -1
- package/build/__tests__/behavioral/events/KeepingListenersInSync.test.d.ts +7 -0
- package/build/__tests__/behavioral/events/KeepingListenersInSync.test.js +171 -0
- package/build/__tests__/behavioral/events/KeepingListenersInSync.test.js.map +1 -0
- package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.d.ts +1 -0
- package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js +53 -21
- package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js.map +1 -1
- package/build/__tests__/behavioral/skill/UpgradingASkill2.test.d.ts +1 -1
- package/build/__tests__/behavioral/skill/UpgradingASkill2.test.js +10 -20
- package/build/__tests__/behavioral/skill/UpgradingASkill2.test.js.map +1 -1
- package/build/__tests__/behavioral/skill/UpgradingWithListeners.test.d.ts +5 -0
- package/build/__tests__/behavioral/skill/UpgradingWithListeners.test.js +137 -0
- package/build/__tests__/behavioral/skill/UpgradingWithListeners.test.js.map +1 -0
- package/build/__tests__/behavioral/{CreatingADataStore.test.d.ts → stores/CreatingADataStore.test.d.ts} +2 -1
- package/build/__tests__/behavioral/{CreatingADataStore.test.js → stores/CreatingADataStore.test.js} +87 -57
- package/build/__tests__/behavioral/stores/CreatingADataStore.test.js.map +1 -0
- package/build/__tests__/behavioral/{KeepingDataStoresInSync.test.d.ts → stores/KeepingDataStoresInSync.test.d.ts} +5 -2
- package/build/__tests__/behavioral/{KeepingDataStoresInSync.test.js → stores/KeepingDataStoresInSync.test.js} +138 -49
- package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js.map +1 -0
- package/build/__tests__/behavioral/tests/CreatingATest.test.js +14 -10
- package/build/__tests__/behavioral/tests/CreatingATest.test.js.map +1 -1
- package/build/__tests__/behavioral/views/TestingViewControllers.test.d.ts +1 -0
- package/build/__tests__/behavioral/views/TestingViewControllers.test.js +67 -35
- package/build/__tests__/behavioral/views/TestingViewControllers.test.js.map +1 -1
- package/build/__tests__/implementation/AuthService.test.d.ts +1 -0
- package/build/__tests__/implementation/AuthService.test.js +8 -0
- package/build/__tests__/implementation/AuthService.test.js.map +1 -1
- package/build/__tests__/implementation/EventStore.test.js +3 -1
- package/build/__tests__/implementation/EventStore.test.js.map +1 -1
- package/build/__tests__/implementation/StoreFeature.test.d.ts +4 -0
- package/build/__tests__/implementation/StoreFeature.test.js +132 -0
- package/build/__tests__/implementation/StoreFeature.test.js.map +1 -0
- package/build/cli.d.ts +1 -1
- package/build/cli.js +1 -1
- package/build/cli.js.map +1 -1
- package/build/features/event/EventFeature.d.ts +2 -2
- package/build/features/event/EventFeature.js +53 -13
- package/build/features/event/EventFeature.js.map +1 -1
- package/build/features/event/actions/ListenAction.d.ts +1 -0
- package/build/features/event/actions/ListenAction.js +60 -31
- package/build/features/event/actions/ListenAction.js.map +1 -1
- package/build/features/event/actions/SyncListenersAction.d.ts +15 -0
- package/build/features/event/actions/SyncListenersAction.js +115 -0
- package/build/features/event/actions/SyncListenersAction.js.map +1 -0
- package/build/features/event/builders/ListenerTemplateItemBuilder.d.ts +8 -0
- package/build/features/event/builders/ListenerTemplateItemBuilder.js +65 -0
- package/build/features/event/builders/ListenerTemplateItemBuilder.js.map +1 -0
- package/build/features/event/stores/EventStore.js +2 -2
- package/build/features/event/stores/EventStore.js.map +1 -1
- package/build/features/event/stores/ListenerStore.d.ts +9 -0
- package/build/features/event/stores/ListenerStore.js +122 -0
- package/build/features/event/stores/ListenerStore.js.map +1 -0
- package/build/features/event/writers/EventWriter.d.ts +4 -1
- package/build/features/event/writers/EventWriter.js +42 -8
- package/build/features/event/writers/EventWriter.js.map +1 -1
- package/build/features/node/NodeFeature.js +6 -11
- package/build/features/node/NodeFeature.js.map +1 -1
- package/build/features/skill/SkillFeature.js +1 -1
- package/build/features/skill/SkillFeature.js.map +1 -1
- package/build/features/skill/stores/SkillStore.js +4 -8
- package/build/features/skill/stores/SkillStore.js.map +1 -1
- package/build/features/store/StoreFeature.d.ts +1 -1
- package/build/features/store/StoreFeature.js +6 -6
- package/build/features/store/StoreFeature.js.map +1 -1
- package/build/features/store/actions/SyncAction.js +11 -10
- package/build/features/store/actions/SyncAction.js.map +1 -1
- package/build/features/store/writers/StoreWriter.d.ts +6 -0
- package/build/features/store/writers/StoreWriter.js +78 -8
- package/build/features/store/writers/StoreWriter.js.map +1 -1
- package/build/services/AuthService.d.ts +4 -1
- package/build/services/AuthService.js +15 -4
- package/build/services/AuthService.js.map +1 -1
- package/build/services/LintService.d.ts +4 -1
- package/build/services/LintService.js +123 -94
- package/build/services/LintService.js.map +1 -1
- package/build/services/ServiceFactory.js +3 -3
- package/build/services/ServiceFactory.js.map +1 -1
- package/build/stores/StoreFactory.d.ts +2 -0
- package/build/stores/StoreFactory.js +4 -1
- package/build/stores/StoreFactory.js.map +1 -1
- package/build/tests/AbstractCliTest.js +3 -3
- package/build/tests/AbstractCliTest.js.map +1 -1
- package/build/writers/AbstractWriter.d.ts +0 -3
- package/build/writers/AbstractWriter.js +2 -18
- package/build/writers/AbstractWriter.js.map +1 -1
- package/package.json +30 -28
- package/src/__tests__/behavioral/BootingWithBadFiles.test.ts +8 -3
- package/src/__tests__/behavioral/SettingLogTransportsInASkill.test.ts +2 -0
- package/src/__tests__/behavioral/SyncingEventsOnlyFromDependencies.test.ts +10 -5
- package/src/__tests__/behavioral/TestingDataStores.test.ts +2 -0
- package/src/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.ts +1 -0
- package/src/__tests__/behavioral/events/CreatingAListener.test.ts +28 -9
- package/src/__tests__/behavioral/events/KeepingEventsInSync2.test.ts +1 -1
- package/src/__tests__/behavioral/events/KeepingListenersInSync.test.ts +47 -0
- package/src/__tests__/behavioral/events/SkillEmitsBootEvents.test.ts +6 -0
- package/src/__tests__/behavioral/skill/UpgradingASkill2.test.ts +1 -10
- package/src/__tests__/behavioral/skill/UpgradingWithListeners.test.ts +59 -0
- package/src/__tests__/behavioral/{CreatingADataStore.test.ts → stores/CreatingADataStore.test.ts} +13 -6
- package/src/__tests__/behavioral/{KeepingDataStoresInSync.test.ts → stores/KeepingDataStoresInSync.test.ts} +37 -8
- package/src/__tests__/behavioral/tests/CreatingATest.test.ts +2 -0
- package/src/__tests__/behavioral/views/TestingViewControllers.test.ts +6 -0
- package/src/__tests__/implementation/AuthService.test.ts +6 -0
- package/src/__tests__/implementation/EventStore.test.ts +1 -0
- package/src/__tests__/implementation/StoreFeature.test.ts +40 -0
- package/src/cli.ts +2 -2
- package/src/features/event/EventFeature.ts +21 -4
- package/src/features/event/actions/ListenAction.ts +9 -3
- package/src/features/event/actions/SyncListenersAction.ts +38 -0
- package/src/features/event/builders/ListenerTemplateItemBuilder.ts +27 -0
- package/src/features/event/stores/EventStore.ts +1 -1
- package/src/features/event/stores/ListenerStore.ts +32 -0
- package/src/features/event/writers/EventWriter.ts +19 -0
- package/src/features/node/NodeFeature.ts +0 -3
- package/src/features/skill/SkillFeature.ts +1 -1
- package/src/features/skill/stores/SkillStore.ts +4 -3
- package/src/features/store/StoreFeature.ts +3 -3
- package/src/features/store/actions/SyncAction.ts +2 -1
- package/src/features/store/writers/StoreWriter.ts +30 -0
- package/src/services/AuthService.ts +15 -5
- package/src/services/LintService.ts +19 -2
- package/src/services/ServiceFactory.ts +9 -3
- package/src/stores/StoreFactory.ts +3 -0
- package/src/tests/AbstractCliTest.ts +2 -2
- package/src/writers/AbstractWriter.ts +2 -13
- package/build/__tests__/behavioral/CreatingADataStore.test.js.map +0 -1
- package/build/__tests__/behavioral/KeepingDataStoresInSync.test.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/__tests__/behavioral/skill/UpgradingASkill2.test.ts"],"names":["UpgradingASkill2Test","originalErrorSyncExecute","SyncAction","prototype","execute","CommandService","setMockResponse","RegExp","code","clearMockResponses","FeatureFixture","installCachedFeatures","Action","dependencies","Service","get","assert","isFalsy","results","doesThrow","testUtil","assertFileByNameInGeneratedFiles","files","assertViewPluginNotWritten","events","eventDiskUtil","resolveCombinedEventsContractFile","cwd","isTrue","diskUtil","doesFileExist","UpdateDependenciesAction","Error","isTruthy","errors","doesInclude","message","wasCleanBuildCalled","wasFixLintCalled","callback","wasBuildDevCalled","plugin","getViewsPluginPath","deleteFile","isFalse","isInstalled","wasHit","disableCleanBuildAndYarnAdd","isEqual","destroyErrorPlugin","expectedContents","promise","upgradeMode","waitForInput","ui","sendInput","actualContents","readFile","nameReadable","nameCamel","disableCleanAndBuild","resolveHashSprucePath","writeFile","AbstractCliTest"],"mappings":"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","sourcesContent":["import { eventDiskUtil } from '@sprucelabs/spruce-event-utils'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport SyncAction from '../../../features/error/actions/SyncAction'\nimport UpdateDependenciesAction from '../../../features/node/actions/UpdateDependenciesAction'\nimport CommandService from '../../../services/CommandService'\nimport AbstractCliTest from '../../../tests/AbstractCliTest'\nimport testUtil from '../../../tests/utilities/test.utility'\nexport default class UpgradingASkill2Test extends AbstractCliTest {\n\tprivate static originalErrorSyncExecute: any\n\tprotected static async beforeEach() {\n\t\tif (!this.originalErrorSyncExecute) {\n\t\t\tthis.originalErrorSyncExecute = SyncAction.prototype.execute\n\t\t} else {\n\t\t\tSyncAction.prototype.execute = this.originalErrorSyncExecute\n\t\t}\n\n\t\tawait super.beforeEach()\n\t\tCommandService.setMockResponse(new RegExp(/yarn rebuild/gis), {\n\t\t\tcode: 0,\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async doesNotAddResolvePathAliasesToDependenciesAfterUpgrade() {\n\t\tCommandService.clearMockResponses()\n\t\tawait this.FeatureFixture().installCachedFeatures('views')\n\n\t\tawait this.Action('node', 'upgrade').execute({})\n\n\t\tconst dependencies = this.Service('pkg').get('dependencies')\n\n\t\tassert.isFalsy(dependencies['@sprucelabs/resolve-path-aliases'])\n\t}\n\n\t@test()\n\tprotected static async featuresNotEnabledDontInstall() {\n\t\tCommandService.clearMockResponses()\n\t\tawait this.FeatureFixture().installCachedFeatures('schemas')\n\n\t\tconst results = await this.Action('node', 'upgrade').execute({})\n\n\t\tconst dependencies = this.Service('pkg').get('dependencies')\n\n\t\tassert.isFalsy(dependencies['@sprucelabs/resolve-path-aliases'])\n\n\t\tassert.doesThrow(() =>\n\t\t\ttestUtil.assertFileByNameInGeneratedFiles(\n\t\t\t\t'events.contract.ts',\n\t\t\t\tresults.files\n\t\t\t)\n\t\t)\n\n\t\tthis.assertViewPluginNotWritten()\n\t}\n\n\t@test()\n\tprotected static async upgradingSkillSyncsEvents() {\n\t\tawait this.FeatureFixture().installCachedFeatures('events')\n\n\t\tconst results = await this.Action('node', 'upgrade').execute({})\n\t\tconst events = eventDiskUtil.resolveCombinedEventsContractFile(this.cwd)\n\n\t\tassert.isTrue(diskUtil.doesFileExist(events))\n\n\t\ttestUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'events.contract.ts',\n\t\t\tresults.files\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async upgradeCallsUpdateDependencies() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tUpdateDependenciesAction.prototype.execute = () => {\n\t\t\tthrow new Error('baaaaad')\n\t\t}\n\n\t\tconst results = await this.Action('node', 'upgrade').execute({})\n\n\t\tassert.isTruthy(results.errors)\n\t\tassert.doesInclude(results.errors[0].message, 'baaaaad')\n\t}\n\n\t@test()\n\tprotected static async callsCleanFixLintAndBuildDev() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tlet wasCleanBuildCalled = false\n\t\tUpdateDependenciesAction.prototype.execute = async () => {\n\t\t\treturn {}\n\t\t}\n\n\t\tlet wasFixLintCalled = false\n\t\tCommandService.setMockResponse('yarn clean.build', {\n\t\t\tcode: 0,\n\t\t\tcallback: () => {\n\t\t\t\twasCleanBuildCalled = true\n\t\t\t},\n\t\t})\n\n\t\tCommandService.setMockResponse('yarn fix.lint', {\n\t\t\tcode: 0,\n\t\t\tcallback: () => {\n\t\t\t\twasFixLintCalled = true\n\t\t\t},\n\t\t})\n\n\t\tlet wasBuildDevCalled = false\n\n\t\tCommandService.setMockResponse('yarn build.dev', {\n\t\t\tcode: 0,\n\t\t\tcallback: () => {\n\t\t\t\twasBuildDevCalled = true\n\t\t\t},\n\t\t})\n\n\t\tconst results = await this.Action('node', 'upgrade').execute({})\n\n\t\tassert.isFalsy(results.errors)\n\t\tassert.isTrue(wasCleanBuildCalled)\n\t\tassert.isTrue(wasBuildDevCalled)\n\t\tassert.isTrue(wasFixLintCalled)\n\t}\n\n\t@test()\n\tprotected static async writesViewPlugin() {\n\t\tawait this.FeatureFixture().installCachedFeatures('views')\n\n\t\tconst plugin = this.getViewsPluginPath()\n\t\tassert.isTrue(diskUtil.doesFileExist(plugin))\n\n\t\tdiskUtil.deleteFile(plugin)\n\n\t\tassert.isFalse(diskUtil.doesFileExist(plugin))\n\n\t\tawait this.Action('node', 'upgrade').execute({})\n\n\t\tassert.isTrue(diskUtil.doesFileExist(plugin))\n\t}\n\n\t@test('sync with errors installed')\n\t@test('sync with errors not installed', false)\n\tprotected static async upgradeSyncsErrors(isInstalled = true) {\n\t\tawait this.FeatureFixture().installCachedFeatures(\n\t\t\tisInstalled ? 'errors' : 'schemas'\n\t\t)\n\n\t\tlet wasHit = false\n\n\t\tSyncAction.prototype.execute = async () => {\n\t\t\twasHit = true\n\t\t\treturn {}\n\t\t}\n\n\t\tthis.disableCleanBuildAndYarnAdd()\n\n\t\tawait this.Action('node', 'upgrade').execute({})\n\n\t\tassert.isEqual(wasHit, isInstalled)\n\t}\n\n\t@test()\n\tprotected static async resetsErrorPluginInSkill() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tconst { plugin, expectedContents } = this.destroyErrorPlugin()\n\n\t\tawait this.disableCleanBuildAndYarnAdd()\n\n\t\tconst promise = this.Action('node', 'upgrade').execute({\n\t\t\tupgradeMode: 'askForChanged',\n\t\t})\n\n\t\tawait this.waitForInput()\n\t\tawait this.ui.sendInput('overwrite')\n\n\t\tawait promise\n\n\t\tconst actualContents = diskUtil.readFile(plugin)\n\n\t\tassert.isEqual(actualContents, expectedContents)\n\t}\n\n\t@test()\n\tprotected static async resetsErrorPluginWhenErrorInstalled() {\n\t\tawait this.FeatureFixture().installCachedFeatures('errors')\n\n\t\tawait this.Action('error', 'create').execute({\n\t\t\tnameReadable: 'Test pass',\n\t\t\tnameCamel: 'testPass',\n\t\t})\n\n\t\tconst { plugin, expectedContents } = this.destroyErrorPlugin()\n\n\t\tthis.disableCleanAndBuild()\n\n\t\tconst results = await this.Action('node', 'upgrade').execute({\n\t\t\tupgradeMode: 'askForChanged',\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\t\tconst actualContents = diskUtil.readFile(plugin)\n\n\t\tassert.isEqual(actualContents, expectedContents)\n\t}\n\n\tprivate static destroyErrorPlugin() {\n\t\tconst plugin = this.resolveHashSprucePath('errors', 'options.types.ts')\n\t\tconst expectedContents = diskUtil.readFile(plugin)\n\n\t\tdiskUtil.writeFile(plugin, 'waka')\n\t\treturn { plugin, expectedContents }\n\t}\n\n\tprivate static getViewsPluginPath() {\n\t\treturn this.resolveHashSprucePath('features', 'view.plugin.ts')\n\t}\n\n\tprotected static assertViewPluginNotWritten() {\n\t\tassert.isFalse(diskUtil.doesFileExist(this.getViewsPluginPath()))\n\t}\n\n\tprivate static disableCleanBuildAndYarnAdd() {\n\t\tthis.disableCleanAndBuild()\n\n\t\tCommandService.setMockResponse(/yarn.*?add/gis, {\n\t\t\tcode: 0,\n\t\t})\n\t}\n\n\tprivate static disableCleanAndBuild() {\n\t\tCommandService.setMockResponse('yarn clean.build', {\n\t\t\tcode: 0,\n\t\t})\n\n\t\tCommandService.setMockResponse('yarn build.dev', {\n\t\t\tcode: 0,\n\t\t})\n\t}\n}\n"],"file":"UpgradingASkill2.test.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/__tests__/behavioral/skill/UpgradingASkill2.test.ts"],"names":["UpgradingASkill2Test","originalErrorSyncExecute","SyncAction","prototype","execute","CommandService","setMockResponse","RegExp","code","clearMockResponses","FeatureFixture","installCachedFeatures","Action","dependencies","Service","get","assert","isFalsy","results","doesThrow","testUtil","assertFileByNameInGeneratedFiles","files","assertViewPluginNotWritten","events","eventDiskUtil","resolveCombinedEventsContractFile","cwd","isTrue","diskUtil","doesFileExist","UpdateDependenciesAction","Error","isTruthy","errors","doesInclude","message","wasCleanBuildCalled","callback","wasBuildDevCalled","plugin","getViewsPluginPath","deleteFile","isFalse","isInstalled","wasHit","disableCleanBuildAndYarnAdd","isEqual","destroyErrorPlugin","expectedContents","promise","upgradeMode","waitForInput","ui","sendInput","actualContents","readFile","nameReadable","nameCamel","disableCleanAndBuild","resolveHashSprucePath","writeFile","AbstractCliTest"],"mappings":"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","sourcesContent":["import { eventDiskUtil } from '@sprucelabs/spruce-event-utils'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport SyncAction from '../../../features/error/actions/SyncAction'\nimport UpdateDependenciesAction from '../../../features/node/actions/UpdateDependenciesAction'\nimport CommandService from '../../../services/CommandService'\nimport AbstractCliTest from '../../../tests/AbstractCliTest'\nimport testUtil from '../../../tests/utilities/test.utility'\nexport default class UpgradingASkill2Test extends AbstractCliTest {\n\tprivate static originalErrorSyncExecute: any\n\tprotected static async beforeEach() {\n\t\tif (!this.originalErrorSyncExecute) {\n\t\t\tthis.originalErrorSyncExecute = SyncAction.prototype.execute\n\t\t} else {\n\t\t\tSyncAction.prototype.execute = this.originalErrorSyncExecute\n\t\t}\n\n\t\tawait super.beforeEach()\n\t\tCommandService.setMockResponse(new RegExp(/yarn rebuild/gis), {\n\t\t\tcode: 0,\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async doesNotAddResolvePathAliasesToDependenciesAfterUpgrade() {\n\t\tCommandService.clearMockResponses()\n\t\tawait this.FeatureFixture().installCachedFeatures('views')\n\n\t\tawait this.Action('node', 'upgrade').execute({})\n\n\t\tconst dependencies = this.Service('pkg').get('dependencies')\n\n\t\tassert.isFalsy(dependencies['@sprucelabs/resolve-path-aliases'])\n\t}\n\n\t@test()\n\tprotected static async featuresNotEnabledDontInstall() {\n\t\tCommandService.clearMockResponses()\n\t\tawait this.FeatureFixture().installCachedFeatures('schemas')\n\n\t\tconst results = await this.Action('node', 'upgrade').execute({})\n\n\t\tconst dependencies = this.Service('pkg').get('dependencies')\n\n\t\tassert.isFalsy(dependencies['@sprucelabs/resolve-path-aliases'])\n\n\t\tassert.doesThrow(() =>\n\t\t\ttestUtil.assertFileByNameInGeneratedFiles(\n\t\t\t\t'events.contract.ts',\n\t\t\t\tresults.files\n\t\t\t)\n\t\t)\n\n\t\tthis.assertViewPluginNotWritten()\n\t}\n\n\t@test()\n\tprotected static async upgradingSkillSyncsEvents() {\n\t\tawait this.FeatureFixture().installCachedFeatures('events')\n\n\t\tconst results = await this.Action('node', 'upgrade').execute({})\n\t\tconst events = eventDiskUtil.resolveCombinedEventsContractFile(this.cwd)\n\n\t\tassert.isTrue(diskUtil.doesFileExist(events))\n\n\t\ttestUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'events.contract.ts',\n\t\t\tresults.files\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async upgradeCallsUpdateDependencies() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tUpdateDependenciesAction.prototype.execute = () => {\n\t\t\tthrow new Error('baaaaad')\n\t\t}\n\n\t\tconst results = await this.Action('node', 'upgrade').execute({})\n\n\t\tassert.isTruthy(results.errors)\n\t\tassert.doesInclude(results.errors[0].message, 'baaaaad')\n\t}\n\n\t@test()\n\tprotected static async callsCleanFixAndBuildDev() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tlet wasCleanBuildCalled = false\n\t\tUpdateDependenciesAction.prototype.execute = async () => {\n\t\t\treturn {}\n\t\t}\n\n\t\tCommandService.setMockResponse('yarn clean.build', {\n\t\t\tcode: 0,\n\t\t\tcallback: () => {\n\t\t\t\twasCleanBuildCalled = true\n\t\t\t},\n\t\t})\n\n\t\tlet wasBuildDevCalled = false\n\n\t\tCommandService.setMockResponse('yarn build.dev', {\n\t\t\tcode: 0,\n\t\t\tcallback: () => {\n\t\t\t\twasBuildDevCalled = true\n\t\t\t},\n\t\t})\n\n\t\tconst results = await this.Action('node', 'upgrade').execute({})\n\n\t\tassert.isFalsy(results.errors)\n\t\tassert.isTrue(wasCleanBuildCalled)\n\t\tassert.isTrue(wasBuildDevCalled)\n\t}\n\n\t@test()\n\tprotected static async writesViewPlugin() {\n\t\tawait this.FeatureFixture().installCachedFeatures('views')\n\n\t\tconst plugin = this.getViewsPluginPath()\n\t\tassert.isTrue(diskUtil.doesFileExist(plugin))\n\n\t\tdiskUtil.deleteFile(plugin)\n\n\t\tassert.isFalse(diskUtil.doesFileExist(plugin))\n\n\t\tawait this.Action('node', 'upgrade').execute({})\n\n\t\tassert.isTrue(diskUtil.doesFileExist(plugin))\n\t}\n\n\t@test('sync with errors installed')\n\t@test('sync with errors not installed', false)\n\tprotected static async upgradeSyncsErrors(isInstalled = true) {\n\t\tawait this.FeatureFixture().installCachedFeatures(\n\t\t\tisInstalled ? 'errors' : 'schemas'\n\t\t)\n\n\t\tlet wasHit = false\n\n\t\tSyncAction.prototype.execute = async () => {\n\t\t\twasHit = true\n\t\t\treturn {}\n\t\t}\n\n\t\tthis.disableCleanBuildAndYarnAdd()\n\n\t\tawait this.Action('node', 'upgrade').execute({})\n\n\t\tassert.isEqual(wasHit, isInstalled)\n\t}\n\n\t@test()\n\tprotected static async resetsErrorPluginInSkill() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tconst { plugin, expectedContents } = this.destroyErrorPlugin()\n\n\t\tawait this.disableCleanBuildAndYarnAdd()\n\n\t\tconst promise = this.Action('node', 'upgrade').execute({\n\t\t\tupgradeMode: 'askForChanged',\n\t\t})\n\n\t\tawait this.waitForInput()\n\t\tawait this.ui.sendInput('overwrite')\n\n\t\tawait promise\n\n\t\tconst actualContents = diskUtil.readFile(plugin)\n\n\t\tassert.isEqual(actualContents, expectedContents)\n\t}\n\n\t@test()\n\tprotected static async resetsErrorPluginWhenErrorInstalled() {\n\t\tawait this.FeatureFixture().installCachedFeatures('errors')\n\n\t\tawait this.Action('error', 'create').execute({\n\t\t\tnameReadable: 'Test pass',\n\t\t\tnameCamel: 'testPass',\n\t\t})\n\n\t\tconst { plugin, expectedContents } = this.destroyErrorPlugin()\n\n\t\tthis.disableCleanAndBuild()\n\n\t\tconst results = await this.Action('node', 'upgrade').execute({\n\t\t\tupgradeMode: 'askForChanged',\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\t\tconst actualContents = diskUtil.readFile(plugin)\n\n\t\tassert.isEqual(actualContents, expectedContents)\n\t}\n\n\tprivate static destroyErrorPlugin() {\n\t\tconst plugin = this.resolveHashSprucePath('errors', 'options.types.ts')\n\t\tconst expectedContents = diskUtil.readFile(plugin)\n\n\t\tdiskUtil.writeFile(plugin, 'waka')\n\t\treturn { plugin, expectedContents }\n\t}\n\n\tprivate static getViewsPluginPath() {\n\t\treturn this.resolveHashSprucePath('features', 'view.plugin.ts')\n\t}\n\n\tprotected static assertViewPluginNotWritten() {\n\t\tassert.isFalse(diskUtil.doesFileExist(this.getViewsPluginPath()))\n\t}\n\n\tprivate static disableCleanBuildAndYarnAdd() {\n\t\tthis.disableCleanAndBuild()\n\n\t\tCommandService.setMockResponse(/yarn.*?add/gis, {\n\t\t\tcode: 0,\n\t\t})\n\t}\n\n\tprivate static disableCleanAndBuild() {\n\t\tCommandService.setMockResponse('yarn clean.build', {\n\t\t\tcode: 0,\n\t\t})\n\n\t\tCommandService.setMockResponse('yarn build.dev', {\n\t\t\tcode: 0,\n\t\t})\n\t}\n}\n"],"file":"UpgradingASkill2.test.js"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { FeatureCode } from '../../../features/features.types';
|
|
2
|
+
import AbstractCliTest from '../../../tests/AbstractCliTest';
|
|
3
|
+
export default class UpgradingWithListeners extends AbstractCliTest {
|
|
4
|
+
protected static upgradingSyncsListeners(featureCode: FeatureCode, shouldHit: boolean, actionCode?: string): Promise<void>;
|
|
5
|
+
}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
|
|
10
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
+
|
|
12
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
|
+
|
|
14
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
15
|
+
|
|
16
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
17
|
+
|
|
18
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
19
|
+
|
|
20
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
21
|
+
|
|
22
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
23
|
+
|
|
24
|
+
var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor"));
|
|
25
|
+
|
|
26
|
+
var _spruceEventUtils = require("@sprucelabs/spruce-event-utils");
|
|
27
|
+
|
|
28
|
+
var _test = require("@sprucelabs/test");
|
|
29
|
+
|
|
30
|
+
var _SpruceError = _interopRequireDefault(require("../../../errors/SpruceError"));
|
|
31
|
+
|
|
32
|
+
var _CommandService = _interopRequireDefault(require("../../../services/CommandService"));
|
|
33
|
+
|
|
34
|
+
var _AbstractCliTest2 = _interopRequireDefault(require("../../../tests/AbstractCliTest"));
|
|
35
|
+
|
|
36
|
+
var _dec, _dec2, _dec3, _dec4, _class;
|
|
37
|
+
|
|
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); }; }
|
|
39
|
+
|
|
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; } }
|
|
41
|
+
|
|
42
|
+
var UpgradingWithListeners = (_dec = (0, _test.test)('should sync listeners when installed', 'events', true), _dec2 = (0, _test.test)('should not sync listeners when not installed', 'skills', false), _dec3 = (0, _test.test)('should not sync listeners when creating node when not installed', 'testsInNodeModule', false, 'create'), _dec4 = (0, _test.test)('should not sync listeners when creating node when installed', 'events', false, 'create'), (_class = /*#__PURE__*/function (_AbstractCliTest) {
|
|
43
|
+
(0, _inherits2["default"])(UpgradingWithListeners, _AbstractCliTest);
|
|
44
|
+
|
|
45
|
+
var _super = _createSuper(UpgradingWithListeners);
|
|
46
|
+
|
|
47
|
+
function UpgradingWithListeners() {
|
|
48
|
+
(0, _classCallCheck2["default"])(this, UpgradingWithListeners);
|
|
49
|
+
return _super.apply(this, arguments);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
(0, _createClass2["default"])(UpgradingWithListeners, null, [{
|
|
53
|
+
key: "upgradingSyncsListeners",
|
|
54
|
+
value: function () {
|
|
55
|
+
var _upgradingSyncsListeners = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(featureCode, shouldHit) {
|
|
56
|
+
var actionCode,
|
|
57
|
+
wasHit,
|
|
58
|
+
results,
|
|
59
|
+
_eventResponseUtil$ge,
|
|
60
|
+
errors,
|
|
61
|
+
_args2 = arguments;
|
|
62
|
+
|
|
63
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
64
|
+
while (1) {
|
|
65
|
+
switch (_context2.prev = _context2.next) {
|
|
66
|
+
case 0:
|
|
67
|
+
actionCode = _args2.length > 2 && _args2[2] !== undefined ? _args2[2] : 'upgrade';
|
|
68
|
+
_context2.next = 3;
|
|
69
|
+
return this.FeatureFixture().installCachedFeatures(featureCode);
|
|
70
|
+
|
|
71
|
+
case 3:
|
|
72
|
+
_CommandService["default"].setMockResponse(new RegExp(/yarn/), {
|
|
73
|
+
code: 0
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
wasHit = false;
|
|
77
|
+
_context2.next = 7;
|
|
78
|
+
return this.getEmitter().on('feature.will-execute', /*#__PURE__*/function () {
|
|
79
|
+
var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(_ref) {
|
|
80
|
+
var featureCode, actionCode;
|
|
81
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
82
|
+
while (1) {
|
|
83
|
+
switch (_context.prev = _context.next) {
|
|
84
|
+
case 0:
|
|
85
|
+
featureCode = _ref.featureCode, actionCode = _ref.actionCode;
|
|
86
|
+
|
|
87
|
+
if (featureCode === 'event' && actionCode === 'sync.listeners') {
|
|
88
|
+
wasHit = true;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
case 2:
|
|
92
|
+
case "end":
|
|
93
|
+
return _context.stop();
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}, _callee);
|
|
97
|
+
}));
|
|
98
|
+
|
|
99
|
+
return function (_x3) {
|
|
100
|
+
return _ref2.apply(this, arguments);
|
|
101
|
+
};
|
|
102
|
+
}());
|
|
103
|
+
|
|
104
|
+
case 7:
|
|
105
|
+
_context2.next = 9;
|
|
106
|
+
return this.getEmitter().emit('feature.will-execute', {
|
|
107
|
+
featureCode: 'node',
|
|
108
|
+
actionCode: actionCode
|
|
109
|
+
});
|
|
110
|
+
|
|
111
|
+
case 9:
|
|
112
|
+
results = _context2.sent;
|
|
113
|
+
_eventResponseUtil$ge = _spruceEventUtils.eventResponseUtil.getAllResponsePayloadsAndErrors(results, _SpruceError["default"]), errors = _eventResponseUtil$ge.errors;
|
|
114
|
+
|
|
115
|
+
_test.assert.isFalsy(errors);
|
|
116
|
+
|
|
117
|
+
_test.assert.isEqual(wasHit, shouldHit);
|
|
118
|
+
|
|
119
|
+
case 13:
|
|
120
|
+
case "end":
|
|
121
|
+
return _context2.stop();
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}, _callee2, this);
|
|
125
|
+
}));
|
|
126
|
+
|
|
127
|
+
function upgradingSyncsListeners(_x, _x2) {
|
|
128
|
+
return _upgradingSyncsListeners.apply(this, arguments);
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
return upgradingSyncsListeners;
|
|
132
|
+
}()
|
|
133
|
+
}]);
|
|
134
|
+
return UpgradingWithListeners;
|
|
135
|
+
}(_AbstractCliTest2["default"]), ((0, _applyDecoratedDescriptor2["default"])(_class, "upgradingSyncsListeners", [_dec, _dec2, _dec3, _dec4], Object.getOwnPropertyDescriptor(_class, "upgradingSyncsListeners"), _class)), _class));
|
|
136
|
+
exports["default"] = UpgradingWithListeners;
|
|
137
|
+
//# sourceMappingURL=UpgradingWithListeners.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/__tests__/behavioral/skill/UpgradingWithListeners.test.ts"],"names":["UpgradingWithListeners","featureCode","shouldHit","actionCode","FeatureFixture","installCachedFeatures","CommandService","setMockResponse","RegExp","code","wasHit","getEmitter","on","emit","results","eventResponseUtil","getAllResponsePayloadsAndErrors","SpruceError","errors","assert","isFalsy","isEqual","AbstractCliTest"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;;;;;;;IAEqBA,sB,WACnB,gBAAK,sCAAL,EAA6C,QAA7C,EAAuD,IAAvD,C,UACA,gBAAK,8CAAL,EAAqD,QAArD,EAA+D,KAA/D,C,UACA,gBACA,iEADA,EAEA,mBAFA,EAGA,KAHA,EAIA,QAJA,C,UAMA,gBACA,6DADA,EAEA,QAFA,EAGA,KAHA,EAIA,QAJA,C;;;;;;;;;;;;;mHARD,kBAeCC,WAfD,EAgBCC,SAhBD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAiBCC,gBAAAA,UAjBD,8DAiBc,SAjBd;AAAA;AAAA,uBAmBO,KAAKC,cAAL,GAAsBC,qBAAtB,CAA4CJ,WAA5C,CAnBP;;AAAA;AAqBCK,2CAAeC,eAAf,CAA+B,IAAIC,MAAJ,CAAW,MAAX,CAA/B,EAAmD;AAClDC,kBAAAA,IAAI,EAAE;AAD4C,iBAAnD;;AAIIC,gBAAAA,MAzBL,GAyBc,KAzBd;AAAA;AAAA,uBA2BO,KAAKC,UAAL,GAAkBC,EAAlB,CACL,sBADK;AAAA,4GAEL;AAAA;AAAA;AAAA;AAAA;AAAA;AAASX,4BAAAA,WAAT,QAASA,WAAT,EAAsBE,UAAtB,QAAsBA,UAAtB;;AACC,gCAAIF,WAAW,KAAK,OAAhB,IAA2BE,UAAU,KAAK,gBAA9C,EAAgE;AAC/DO,8BAAAA,MAAM,GAAG,IAAT;AACA;;AAHF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAFK;;AAAA;AAAA;AAAA;AAAA,oBA3BP;;AAAA;AAAA;AAAA,uBAoCuB,KAAKC,UAAL,GAAkBE,IAAlB,CAAuB,sBAAvB,EAA+C;AACpEZ,kBAAAA,WAAW,EAAE,MADuD;AAEpEE,kBAAAA,UAAU,EAAVA;AAFoE,iBAA/C,CApCvB;;AAAA;AAoCOW,gBAAAA,OApCP;AAAA,wCAyCoBC,oCAAkBC,+BAAlB,CAClBF,OADkB,EAElBG,uBAFkB,CAzCpB,EAyCSC,MAzCT,yBAyCSA,MAzCT;;AA8CCC,6BAAOC,OAAP,CAAeF,MAAf;;AAEAC,6BAAOE,OAAP,CAAeX,MAAf,EAAuBR,SAAvB;;AAhDD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EADmDoB,4B","sourcesContent":["import { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport SpruceError from '../../../errors/SpruceError'\nimport { FeatureCode } from '../../../features/features.types'\nimport CommandService from '../../../services/CommandService'\nimport AbstractCliTest from '../../../tests/AbstractCliTest'\n\nexport default class UpgradingWithListeners extends AbstractCliTest {\n\t@test('should sync listeners when installed', 'events', true)\n\t@test('should not sync listeners when not installed', 'skills', false)\n\t@test(\n\t\t'should not sync listeners when creating node when not installed',\n\t\t'testsInNodeModule',\n\t\tfalse,\n\t\t'create'\n\t)\n\t@test(\n\t\t'should not sync listeners when creating node when installed',\n\t\t'events',\n\t\tfalse,\n\t\t'create'\n\t)\n\tprotected static async upgradingSyncsListeners(\n\t\tfeatureCode: FeatureCode,\n\t\tshouldHit: boolean,\n\t\tactionCode = 'upgrade'\n\t) {\n\t\tawait this.FeatureFixture().installCachedFeatures(featureCode)\n\n\t\tCommandService.setMockResponse(new RegExp(/yarn/), {\n\t\t\tcode: 0,\n\t\t})\n\n\t\tlet wasHit = false\n\n\t\tawait this.getEmitter().on(\n\t\t\t'feature.will-execute',\n\t\t\tasync ({ featureCode, actionCode }) => {\n\t\t\t\tif (featureCode === 'event' && actionCode === 'sync.listeners') {\n\t\t\t\t\twasHit = true\n\t\t\t\t}\n\t\t\t}\n\t\t)\n\n\t\tconst results = await this.getEmitter().emit('feature.will-execute', {\n\t\t\tfeatureCode: 'node',\n\t\t\tactionCode,\n\t\t})\n\n\t\tconst { errors } = eventResponseUtil.getAllResponsePayloadsAndErrors(\n\t\t\tresults,\n\t\t\tSpruceError\n\t\t)\n\n\t\tassert.isFalsy(errors)\n\n\t\tassert.isEqual(wasHit, shouldHit)\n\t}\n}\n"],"file":"UpgradingWithListeners.test.js"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import '@sprucelabs/spruce-store-plugin';
|
|
2
|
-
import AbstractSkillTest from '
|
|
2
|
+
import AbstractSkillTest from '../../../tests/AbstractSkillTest';
|
|
3
3
|
export default class CreatingDataStoresTest extends AbstractSkillTest {
|
|
4
4
|
protected static skillCacheKey: string;
|
|
5
5
|
protected static hasCreateStoreAction(): Promise<void>;
|
|
6
6
|
protected static getsNoStoresBackFromHealthCheck(): Promise<void>;
|
|
7
7
|
protected static generatesValidStoreFile(): Promise<void>;
|
|
8
|
+
protected static generatesAMapFile(): Promise<void>;
|
|
8
9
|
protected static getsOneStoresBackFromHealthCheck(): Promise<void>;
|
|
9
10
|
protected static canGenerateASecondStoreFile(): Promise<void>;
|
|
10
11
|
protected static getsSecondStoresBackFromHealthCheck(): Promise<void>;
|
package/build/__tests__/behavioral/{CreatingADataStore.test.js → stores/CreatingADataStore.test.js}
RENAMED
|
@@ -33,19 +33,19 @@ var _testUtils = require("@sprucelabs/test-utils");
|
|
|
33
33
|
|
|
34
34
|
require("@sprucelabs/spruce-store-plugin");
|
|
35
35
|
|
|
36
|
-
var _CommandService = _interopRequireDefault(require("
|
|
36
|
+
var _CommandService = _interopRequireDefault(require("../../../services/CommandService"));
|
|
37
37
|
|
|
38
|
-
var _AbstractSkillTest2 = _interopRequireDefault(require("
|
|
38
|
+
var _AbstractSkillTest2 = _interopRequireDefault(require("../../../tests/AbstractSkillTest"));
|
|
39
39
|
|
|
40
|
-
var _test2 = _interopRequireDefault(require("
|
|
40
|
+
var _test2 = _interopRequireDefault(require("../../../tests/utilities/test.utility"));
|
|
41
41
|
|
|
42
|
-
var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _class, _class2, _temp;
|
|
42
|
+
var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _class, _class2, _temp;
|
|
43
43
|
|
|
44
44
|
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
45
|
|
|
46
46
|
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; } }
|
|
47
47
|
|
|
48
|
-
var CreatingDataStoresTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(), _dec3 = (0, _test.test)(), _dec4 = (0, _test.test)(), _dec5 = (0, _test.test)(), _dec6 = (0, _test.test)(), _dec7 = (0, _test.test)(), _dec8 = (0, _test.test)(), _dec9 = (0, _test.test)(), _dec10 = (0, _test.test)(), (_class = (_temp = _class2 = /*#__PURE__*/function (_AbstractSkillTest) {
|
|
48
|
+
var CreatingDataStoresTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(), _dec3 = (0, _test.test)(), _dec4 = (0, _test.test)(), _dec5 = (0, _test.test)(), _dec6 = (0, _test.test)(), _dec7 = (0, _test.test)(), _dec8 = (0, _test.test)(), _dec9 = (0, _test.test)(), _dec10 = (0, _test.test)(), _dec11 = (0, _test.test)(), (_class = (_temp = _class2 = /*#__PURE__*/function (_AbstractSkillTest) {
|
|
49
49
|
(0, _inherits2["default"])(CreatingDataStoresTest, _AbstractSkillTest);
|
|
50
50
|
|
|
51
51
|
var _super = _createSuper(CreatingDataStoresTest);
|
|
@@ -90,7 +90,7 @@ var CreatingDataStoresTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(
|
|
|
90
90
|
case 0:
|
|
91
91
|
_context2.next = 2;
|
|
92
92
|
return this.cli.checkHealth({
|
|
93
|
-
|
|
93
|
+
shouldRunOnSourceFiles: true
|
|
94
94
|
});
|
|
95
95
|
|
|
96
96
|
case 2:
|
|
@@ -160,21 +160,51 @@ var CreatingDataStoresTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(
|
|
|
160
160
|
return generatesValidStoreFile;
|
|
161
161
|
}()
|
|
162
162
|
}, {
|
|
163
|
-
key: "
|
|
163
|
+
key: "generatesAMapFile",
|
|
164
164
|
value: function () {
|
|
165
|
-
var
|
|
166
|
-
var
|
|
165
|
+
var _generatesAMapFile = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
|
|
166
|
+
var file;
|
|
167
167
|
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
168
168
|
while (1) {
|
|
169
169
|
switch (_context4.prev = _context4.next) {
|
|
170
170
|
case 0:
|
|
171
|
-
|
|
171
|
+
file = this.resolveHashSprucePath('stores', 'stores.ts');
|
|
172
|
+
|
|
173
|
+
_test.assert.isTrue(_spruceSkillUtils.diskUtil.doesFileExist(file));
|
|
174
|
+
|
|
175
|
+
_context4.next = 4;
|
|
176
|
+
return this.Service('typeChecker').check(file);
|
|
177
|
+
|
|
178
|
+
case 4:
|
|
179
|
+
case "end":
|
|
180
|
+
return _context4.stop();
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}, _callee4, this);
|
|
184
|
+
}));
|
|
185
|
+
|
|
186
|
+
function generatesAMapFile() {
|
|
187
|
+
return _generatesAMapFile.apply(this, arguments);
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
return generatesAMapFile;
|
|
191
|
+
}()
|
|
192
|
+
}, {
|
|
193
|
+
key: "getsOneStoresBackFromHealthCheck",
|
|
194
|
+
value: function () {
|
|
195
|
+
var _getsOneStoresBackFromHealthCheck = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
|
|
196
|
+
var health;
|
|
197
|
+
return _regenerator["default"].wrap(function _callee5$(_context5) {
|
|
198
|
+
while (1) {
|
|
199
|
+
switch (_context5.prev = _context5.next) {
|
|
200
|
+
case 0:
|
|
201
|
+
_context5.next = 2;
|
|
172
202
|
return this.cli.checkHealth({
|
|
173
|
-
|
|
203
|
+
shouldRunOnSourceFiles: true
|
|
174
204
|
});
|
|
175
205
|
|
|
176
206
|
case 2:
|
|
177
|
-
health =
|
|
207
|
+
health = _context5.sent;
|
|
178
208
|
|
|
179
209
|
_test.assert.isTruthy(health.store);
|
|
180
210
|
|
|
@@ -186,10 +216,10 @@ var CreatingDataStoresTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(
|
|
|
186
216
|
|
|
187
217
|
case 7:
|
|
188
218
|
case "end":
|
|
189
|
-
return
|
|
219
|
+
return _context5.stop();
|
|
190
220
|
}
|
|
191
221
|
}
|
|
192
|
-
},
|
|
222
|
+
}, _callee5, this);
|
|
193
223
|
}));
|
|
194
224
|
|
|
195
225
|
function getsOneStoresBackFromHealthCheck() {
|
|
@@ -201,13 +231,13 @@ var CreatingDataStoresTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(
|
|
|
201
231
|
}, {
|
|
202
232
|
key: "canGenerateASecondStoreFile",
|
|
203
233
|
value: function () {
|
|
204
|
-
var _canGenerateASecondStoreFile = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
234
|
+
var _canGenerateASecondStoreFile = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
|
|
205
235
|
var results, path;
|
|
206
|
-
return _regenerator["default"].wrap(function
|
|
236
|
+
return _regenerator["default"].wrap(function _callee6$(_context6) {
|
|
207
237
|
while (1) {
|
|
208
|
-
switch (
|
|
238
|
+
switch (_context6.prev = _context6.next) {
|
|
209
239
|
case 0:
|
|
210
|
-
|
|
240
|
+
_context6.next = 2;
|
|
211
241
|
return this.Action('store', 'create').execute({
|
|
212
242
|
nameReadable: 'Bid',
|
|
213
243
|
nameReadablePlural: 'Bids',
|
|
@@ -215,20 +245,20 @@ var CreatingDataStoresTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(
|
|
|
215
245
|
});
|
|
216
246
|
|
|
217
247
|
case 2:
|
|
218
|
-
results =
|
|
248
|
+
results = _context6.sent;
|
|
219
249
|
|
|
220
250
|
_test.assert.isFalsy(results.errors);
|
|
221
251
|
|
|
222
252
|
path = _test2["default"].assertFileByNameInGeneratedFiles('Bids.store.ts', results.files);
|
|
223
|
-
|
|
253
|
+
_context6.next = 7;
|
|
224
254
|
return this.Service('typeChecker').check(path);
|
|
225
255
|
|
|
226
256
|
case 7:
|
|
227
257
|
case "end":
|
|
228
|
-
return
|
|
258
|
+
return _context6.stop();
|
|
229
259
|
}
|
|
230
260
|
}
|
|
231
|
-
},
|
|
261
|
+
}, _callee6, this);
|
|
232
262
|
}));
|
|
233
263
|
|
|
234
264
|
function canGenerateASecondStoreFile() {
|
|
@@ -240,19 +270,19 @@ var CreatingDataStoresTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(
|
|
|
240
270
|
}, {
|
|
241
271
|
key: "getsSecondStoresBackFromHealthCheck",
|
|
242
272
|
value: function () {
|
|
243
|
-
var _getsSecondStoresBackFromHealthCheck = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
273
|
+
var _getsSecondStoresBackFromHealthCheck = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7() {
|
|
244
274
|
var health;
|
|
245
|
-
return _regenerator["default"].wrap(function
|
|
275
|
+
return _regenerator["default"].wrap(function _callee7$(_context7) {
|
|
246
276
|
while (1) {
|
|
247
|
-
switch (
|
|
277
|
+
switch (_context7.prev = _context7.next) {
|
|
248
278
|
case 0:
|
|
249
|
-
|
|
279
|
+
_context7.next = 2;
|
|
250
280
|
return this.cli.checkHealth({
|
|
251
|
-
|
|
281
|
+
shouldRunOnSourceFiles: true
|
|
252
282
|
});
|
|
253
283
|
|
|
254
284
|
case 2:
|
|
255
|
-
health =
|
|
285
|
+
health = _context7.sent;
|
|
256
286
|
|
|
257
287
|
_test.assert.isTruthy(health.store);
|
|
258
288
|
|
|
@@ -266,10 +296,10 @@ var CreatingDataStoresTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(
|
|
|
266
296
|
|
|
267
297
|
case 8:
|
|
268
298
|
case "end":
|
|
269
|
-
return
|
|
299
|
+
return _context7.stop();
|
|
270
300
|
}
|
|
271
301
|
}
|
|
272
|
-
},
|
|
302
|
+
}, _callee7, this);
|
|
273
303
|
}));
|
|
274
304
|
|
|
275
305
|
function getsSecondStoresBackFromHealthCheck() {
|
|
@@ -281,13 +311,13 @@ var CreatingDataStoresTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(
|
|
|
281
311
|
}, {
|
|
282
312
|
key: "errorsWhenGeneratingAStoreWithTheSameName",
|
|
283
313
|
value: function () {
|
|
284
|
-
var _errorsWhenGeneratingAStoreWithTheSameName = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
314
|
+
var _errorsWhenGeneratingAStoreWithTheSameName = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee8() {
|
|
285
315
|
var results;
|
|
286
|
-
return _regenerator["default"].wrap(function
|
|
316
|
+
return _regenerator["default"].wrap(function _callee8$(_context8) {
|
|
287
317
|
while (1) {
|
|
288
|
-
switch (
|
|
318
|
+
switch (_context8.prev = _context8.next) {
|
|
289
319
|
case 0:
|
|
290
|
-
|
|
320
|
+
_context8.next = 2;
|
|
291
321
|
return this.Action('store', 'create').execute({
|
|
292
322
|
nameReadable: 'Bid',
|
|
293
323
|
nameReadablePlural: 'Bids',
|
|
@@ -295,7 +325,7 @@ var CreatingDataStoresTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(
|
|
|
295
325
|
});
|
|
296
326
|
|
|
297
327
|
case 2:
|
|
298
|
-
results =
|
|
328
|
+
results = _context8.sent;
|
|
299
329
|
|
|
300
330
|
_test.assert.isTruthy(results.errors);
|
|
301
331
|
|
|
@@ -303,10 +333,10 @@ var CreatingDataStoresTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(
|
|
|
303
333
|
|
|
304
334
|
case 5:
|
|
305
335
|
case "end":
|
|
306
|
-
return
|
|
336
|
+
return _context8.stop();
|
|
307
337
|
}
|
|
308
338
|
}
|
|
309
|
-
},
|
|
339
|
+
}, _callee8, this);
|
|
310
340
|
}));
|
|
311
341
|
|
|
312
342
|
function errorsWhenGeneratingAStoreWithTheSameName() {
|
|
@@ -318,13 +348,13 @@ var CreatingDataStoresTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(
|
|
|
318
348
|
}, {
|
|
319
349
|
key: "storeFactoryAndStoresAreTyped",
|
|
320
350
|
value: function () {
|
|
321
|
-
var _storeFactoryAndStoresAreTyped = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
351
|
+
var _storeFactoryAndStoresAreTyped = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee9() {
|
|
322
352
|
var results, path, storeContents, testFile, testContents, dest;
|
|
323
|
-
return _regenerator["default"].wrap(function
|
|
353
|
+
return _regenerator["default"].wrap(function _callee9$(_context9) {
|
|
324
354
|
while (1) {
|
|
325
|
-
switch (
|
|
355
|
+
switch (_context9.prev = _context9.next) {
|
|
326
356
|
case 0:
|
|
327
|
-
|
|
357
|
+
_context9.next = 2;
|
|
328
358
|
return this.Action('store', 'create').execute({
|
|
329
359
|
nameReadable: 'Product',
|
|
330
360
|
nameReadablePlural: 'Products',
|
|
@@ -332,7 +362,7 @@ var CreatingDataStoresTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(
|
|
|
332
362
|
});
|
|
333
363
|
|
|
334
364
|
case 2:
|
|
335
|
-
results =
|
|
365
|
+
results = _context9.sent;
|
|
336
366
|
path = _test2["default"].assertFileByNameInGeneratedFiles('Products.store.ts', results.files);
|
|
337
367
|
storeContents = _spruceSkillUtils.diskUtil.readFile(path).replace('type ProductsStoreOptions = UniversalStoreOptions', 'type ProductsStoreOptions = UniversalStoreOptions & {hello: string}');
|
|
338
368
|
|
|
@@ -344,15 +374,15 @@ var CreatingDataStoresTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(
|
|
|
344
374
|
|
|
345
375
|
_spruceSkillUtils.diskUtil.writeFile(dest, testContents);
|
|
346
376
|
|
|
347
|
-
|
|
377
|
+
_context9.next = 12;
|
|
348
378
|
return this.Service('typeChecker').check(dest);
|
|
349
379
|
|
|
350
380
|
case 12:
|
|
351
381
|
case "end":
|
|
352
|
-
return
|
|
382
|
+
return _context9.stop();
|
|
353
383
|
}
|
|
354
384
|
}
|
|
355
|
-
},
|
|
385
|
+
}, _callee9, this);
|
|
356
386
|
}));
|
|
357
387
|
|
|
358
388
|
function storeFactoryAndStoresAreTyped() {
|
|
@@ -364,19 +394,19 @@ var CreatingDataStoresTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(
|
|
|
364
394
|
}, {
|
|
365
395
|
key: "doesNotCreateAbstractTestFileBecauseTestIsNotInstalled",
|
|
366
396
|
value: function () {
|
|
367
|
-
var _doesNotCreateAbstractTestFileBecauseTestIsNotInstalled = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
368
|
-
return _regenerator["default"].wrap(function
|
|
397
|
+
var _doesNotCreateAbstractTestFileBecauseTestIsNotInstalled = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee10() {
|
|
398
|
+
return _regenerator["default"].wrap(function _callee10$(_context10) {
|
|
369
399
|
while (1) {
|
|
370
|
-
switch (
|
|
400
|
+
switch (_context10.prev = _context10.next) {
|
|
371
401
|
case 0:
|
|
372
402
|
_test.assert.isFalse(_spruceSkillUtils.diskUtil.doesFileExist(CreatingDataStoresTest.getAbstractTestPath()));
|
|
373
403
|
|
|
374
404
|
case 1:
|
|
375
405
|
case "end":
|
|
376
|
-
return
|
|
406
|
+
return _context10.stop();
|
|
377
407
|
}
|
|
378
408
|
}
|
|
379
|
-
},
|
|
409
|
+
}, _callee10);
|
|
380
410
|
}));
|
|
381
411
|
|
|
382
412
|
function doesNotCreateAbstractTestFileBecauseTestIsNotInstalled() {
|
|
@@ -388,11 +418,11 @@ var CreatingDataStoresTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(
|
|
|
388
418
|
}, {
|
|
389
419
|
key: "upgradeRestoresDataStoreTypes",
|
|
390
420
|
value: function () {
|
|
391
|
-
var _upgradeRestoresDataStoreTypes = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
421
|
+
var _upgradeRestoresDataStoreTypes = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee11() {
|
|
392
422
|
var storesFile;
|
|
393
|
-
return _regenerator["default"].wrap(function
|
|
423
|
+
return _regenerator["default"].wrap(function _callee11$(_context11) {
|
|
394
424
|
while (1) {
|
|
395
|
-
switch (
|
|
425
|
+
switch (_context11.prev = _context11.next) {
|
|
396
426
|
case 0:
|
|
397
427
|
_CommandService["default"].setMockResponse('yarn rebuild', {
|
|
398
428
|
code: 0
|
|
@@ -406,7 +436,7 @@ var CreatingDataStoresTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(
|
|
|
406
436
|
|
|
407
437
|
_spruceSkillUtils.diskUtil.deleteFile(storesFile);
|
|
408
438
|
|
|
409
|
-
|
|
439
|
+
_context11.next = 6;
|
|
410
440
|
return this.Action('node', 'upgrade').execute({});
|
|
411
441
|
|
|
412
442
|
case 6:
|
|
@@ -414,10 +444,10 @@ var CreatingDataStoresTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(
|
|
|
414
444
|
|
|
415
445
|
case 7:
|
|
416
446
|
case "end":
|
|
417
|
-
return
|
|
447
|
+
return _context11.stop();
|
|
418
448
|
}
|
|
419
449
|
}
|
|
420
|
-
},
|
|
450
|
+
}, _callee11, this);
|
|
421
451
|
}));
|
|
422
452
|
|
|
423
453
|
function upgradeRestoresDataStoreTypes() {
|
|
@@ -433,6 +463,6 @@ var CreatingDataStoresTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(
|
|
|
433
463
|
}
|
|
434
464
|
}]);
|
|
435
465
|
return CreatingDataStoresTest;
|
|
436
|
-
}(_AbstractSkillTest2["default"]), (0, _defineProperty2["default"])(_class2, "skillCacheKey", 'stores'), _temp), ((0, _applyDecoratedDescriptor2["default"])(_class, "hasCreateStoreAction", [_dec], Object.getOwnPropertyDescriptor(_class, "hasCreateStoreAction"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "getsNoStoresBackFromHealthCheck", [_dec2], Object.getOwnPropertyDescriptor(_class, "getsNoStoresBackFromHealthCheck"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "generatesValidStoreFile", [_dec3], Object.getOwnPropertyDescriptor(_class, "generatesValidStoreFile"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "
|
|
466
|
+
}(_AbstractSkillTest2["default"]), (0, _defineProperty2["default"])(_class2, "skillCacheKey", 'stores'), _temp), ((0, _applyDecoratedDescriptor2["default"])(_class, "hasCreateStoreAction", [_dec], Object.getOwnPropertyDescriptor(_class, "hasCreateStoreAction"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "getsNoStoresBackFromHealthCheck", [_dec2], Object.getOwnPropertyDescriptor(_class, "getsNoStoresBackFromHealthCheck"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "generatesValidStoreFile", [_dec3], Object.getOwnPropertyDescriptor(_class, "generatesValidStoreFile"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "generatesAMapFile", [_dec4], Object.getOwnPropertyDescriptor(_class, "generatesAMapFile"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "getsOneStoresBackFromHealthCheck", [_dec5], Object.getOwnPropertyDescriptor(_class, "getsOneStoresBackFromHealthCheck"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "canGenerateASecondStoreFile", [_dec6], Object.getOwnPropertyDescriptor(_class, "canGenerateASecondStoreFile"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "getsSecondStoresBackFromHealthCheck", [_dec7], Object.getOwnPropertyDescriptor(_class, "getsSecondStoresBackFromHealthCheck"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "errorsWhenGeneratingAStoreWithTheSameName", [_dec8], Object.getOwnPropertyDescriptor(_class, "errorsWhenGeneratingAStoreWithTheSameName"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "storeFactoryAndStoresAreTyped", [_dec9], Object.getOwnPropertyDescriptor(_class, "storeFactoryAndStoresAreTyped"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "doesNotCreateAbstractTestFileBecauseTestIsNotInstalled", [_dec10], Object.getOwnPropertyDescriptor(_class, "doesNotCreateAbstractTestFileBecauseTestIsNotInstalled"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "upgradeRestoresDataStoreTypes", [_dec11], Object.getOwnPropertyDescriptor(_class, "upgradeRestoresDataStoreTypes"), _class)), _class));
|
|
437
467
|
exports["default"] = CreatingDataStoresTest;
|
|
438
468
|
//# sourceMappingURL=CreatingADataStore.test.js.map
|
|
@@ -0,0 +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\tassert.isTruthy(health.store)\n\t\tassert.isFalsy(health.store.errors)\n\t\tassert.isArray(health.store.stores)\n\t\tassert.isLength(health.store.stores, 0)\n\t}\n\n\t@test()\n\tprotected static async generatesValidStoreFile() {\n\t\tconst results = await this.Action('store', 'create').execute({\n\t\t\tnameReadable: 'Person',\n\t\t\tnameReadablePlural: 'People',\n\t\t\tnamePascal: 'Person',\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst path = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'People.store.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tawait this.Service('typeChecker').check(path)\n\t}\n\n\t@test()\n\tprotected static async 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\tassert.isTruthy(health.store)\n\t\tassert.isFalsy(health.store.errors)\n\t\tassert.isLength(health.store.stores, 1)\n\t\tassert.isEqual(health.store.stores[0].name, 'People')\n\t}\n\n\t@test()\n\tprotected static async canGenerateASecondStoreFile() {\n\t\tconst results = await this.Action('store', 'create').execute({\n\t\t\tnameReadable: 'Bid',\n\t\t\tnameReadablePlural: 'Bids',\n\t\t\tnamePascal: 'Bid',\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst path = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'Bids.store.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tawait this.Service('typeChecker').check(path)\n\t}\n\n\t@test()\n\tprotected static async getsSecondStoresBackFromHealthCheck() {\n\t\tconst health = await this.cli.checkHealth({ shouldRunOnSourceFiles: true })\n\n\t\tassert.isTruthy(health.store)\n\t\tassert.isFalsy(health.store.errors)\n\t\tassert.isLength(health.store.stores, 2)\n\t\tassert.isEqual(health.store.stores[0].name, 'Bids')\n\t\tassert.isEqual(health.store.stores[1].name, 'People')\n\t}\n\n\t@test()\n\tprotected static async errorsWhenGeneratingAStoreWithTheSameName() {\n\t\tconst results = await this.Action('store', 'create').execute({\n\t\t\tnameReadable: 'Bid',\n\t\t\tnameReadablePlural: 'Bids',\n\t\t\tnamePascal: 'Bid',\n\t\t})\n\n\t\tassert.isTruthy(results.errors)\n\t\terrorAssertUtil.assertError(results.errors[0], 'STORE_EXISTS')\n\t}\n\n\t@test()\n\tprotected static async storeFactoryAndStoresAreTyped() {\n\t\tconst results = await this.Action('store', 'create').execute({\n\t\t\tnameReadable: 'Product',\n\t\t\tnameReadablePlural: 'Products',\n\t\t\tnamePascal: 'Product',\n\t\t})\n\n\t\tconst path = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'Products.store.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tconst storeContents = diskUtil\n\t\t\t.readFile(path)\n\t\t\t.replace(\n\t\t\t\t'type ProductsStoreOptions = UniversalStoreOptions',\n\t\t\t\t'type ProductsStoreOptions = UniversalStoreOptions & {hello: string}'\n\t\t\t)\n\n\t\tdiskUtil.writeFile(path, storeContents)\n\n\t\tconst testFile = this.resolveTestPath('store-test.ts.hbs')\n\t\tconst testContents = diskUtil.readFile(testFile)\n\n\t\tconst dest = this.resolvePath('src', 'test.ts')\n\t\tdiskUtil.writeFile(dest, testContents)\n\n\t\tawait this.Service('typeChecker').check(dest)\n\t}\n\n\t@test()\n\tprotected static async doesNotCreateAbstractTestFileBecauseTestIsNotInstalled() {\n\t\tassert.isFalse(\n\t\t\tdiskUtil.doesFileExist(CreatingDataStoresTest.getAbstractTestPath())\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async upgradeRestoresDataStoreTypes() {\n\t\tCommandService.setMockResponse('yarn rebuild', {\n\t\t\tcode: 0,\n\t\t})\n\n\t\tCommandService.setMockResponse(/yarn add/gis, {\n\t\t\tcode: 0,\n\t\t})\n\n\t\tconst storesFile = this.resolveHashSprucePath('stores/stores.types.ts')\n\t\tdiskUtil.deleteFile(storesFile)\n\t\tawait this.Action('node', 'upgrade').execute({})\n\t\tassert.isTrue(diskUtil.doesFileExist(storesFile))\n\t}\n\n\tprivate static getAbstractTestPath(): string {\n\t\treturn this.resolvePath('src', 'tests', 'AbstractDataStoreTest.ts')\n\t}\n}\n"],"file":"CreatingADataStore.test.js"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import AbstractSkillTest from '
|
|
1
|
+
import AbstractSkillTest from '../../../tests/AbstractSkillTest';
|
|
2
2
|
export default class KeepingDataStoresInSyncTest extends AbstractSkillTest {
|
|
3
3
|
protected static skillCacheKey: string;
|
|
4
4
|
protected static badStoreDest: string;
|
|
@@ -6,7 +6,10 @@ export default class KeepingDataStoresInSyncTest extends AbstractSkillTest {
|
|
|
6
6
|
protected static beforeEach(): Promise<void>;
|
|
7
7
|
protected static hasSyncAction(): Promise<void>;
|
|
8
8
|
protected static syncsNothingToStart(): Promise<void>;
|
|
9
|
-
private static syncStores;
|
|
10
9
|
protected static badFileReturnsError(): Promise<void>;
|
|
11
10
|
protected static generatesValidTypeFile(): Promise<void>;
|
|
11
|
+
protected static fileIsValidAfterSync(): Promise<void>;
|
|
12
|
+
protected static canAddSecondStore(): Promise<void>;
|
|
13
|
+
private static validateFiles;
|
|
14
|
+
private static syncStores;
|
|
12
15
|
}
|