@sprucelabs/spruce-cli
Version:
Command line interface for building Spruce skills.
56 lines (40 loc) • 1.71 kB
text/typescript
import { test, assert } from '@sprucelabs/test-utils'
import AbstractCliTest from '../../tests/AbstractCliTest'
import testUtil from '../../tests/utilities/test.utility'
export default class SettingUpVscodeTest extends AbstractCliTest {
protected static async hasSetupAction() {
assert.isFunction(this.Action('vscode', 'setup').execute)
}
.skip('Cant run on machine without vscode installed')
protected static async settingUpAsksAboutExtensonsAndSetsUpDebug() {
await this.FeatureFixture().installCachedFeatures('skills')
const promise = this.Action('vscode', 'setup').execute({})
await this.waitForInput()
assert.isEqualDeep(this.ui.getLastInvocation(), {
command: 'confirm',
options: 'Want me to setup debugging for you?',
})
await this.ui.sendInput('y')
await this.waitForInput()
assert.isEqualDeep(this.ui.getLastInvocation(), {
command: 'confirm',
options:
'Want me to setup vscode settings for building, testing and linting on save?',
})
await this.ui.sendInput('y')
await this.waitForInput()
assert.isEqualDeep(this.ui.getLastInvocation(), {
command: 'confirm',
options: 'Want me to setup tasks for building and testing?',
})
await this.ui.sendInput('y')
const results = await promise
assert.isFalsy(results.errors)
const match = testUtil.assertFileByNameInGeneratedFiles(
'launch.json',
results.files ?? []
)
assert.isEqual(match, this.resolvePath('.vscode/launch.json'))
}
}