@sprucelabs/spruce-cli
Version:
Command line interface for building Spruce skills.
41 lines (33 loc) • 1.28 kB
text/typescript
import { diskUtil } from '@sprucelabs/spruce-skill-utils'
import { test, assert } from '@sprucelabs/test-utils'
import LintService from '../../services/LintService'
import AbstractCliTest from '../../tests/AbstractCliTest'
export default class BuildServiceTest extends AbstractCliTest {
()
protected static buildServiceExists() {
const service = this.Service('build')
assert.isTruthy(service)
}
()
protected static async canBuildSkill() {
LintService.enableLinting()
await this.installSkill('skills')
const testFile = "const testVar = 'hello world'\nconsole.log(testVar)\n"
const destination = this.resolvePath('src/test.ts')
diskUtil.writeFile(destination, testFile)
const service = this.Service('build')
await service.build()
const builtFilePath = this.resolvePath('build/test.js')
const contents = diskUtil.readFile(builtFilePath)
assert.isEqual(
contents,
`"use strict";
const testVar = 'hello world';
console.log(testVar);
//# sourceMappingURL=test.js.map`
)
}
private static async installSkill(cacheKey?: string) {
await this.FeatureFixture().installCachedFeatures(cacheKey ?? 'skills')
}
}