@sprucelabs/spruce-cli
Version:
Command line interface for building Spruce skills.
41 lines (33 loc) • 1.15 kB
text/typescript
import { test, assert } from '@sprucelabs/test-utils'
import CommandServiceImpl from '../../services/CommandService'
import AbstractCliTest from '../../tests/AbstractCliTest'
export default class StoreFeatureTest extends AbstractCliTest {
()
protected static async syncsOnWillExecute() {
await this.FeatureFixture().installCachedFeatures('stores')
CommandServiceImpl.fakeCommand(/yarn/, {
code: 0,
})
let hitCount = 0
const emitter = this.emitter
await emitter.on(
'feature.will-execute',
async ({ featureCode, actionCode }) => {
if (featureCode === 'store' && actionCode === 'sync') {
hitCount++
}
}
)
await emitter.emit('feature.will-execute', {
featureCode: 'node',
actionCode: 'upgrade',
})
assert.isEqual(hitCount, 0)
await emitter.emit('feature.did-execute', {
featureCode: 'node',
actionCode: 'upgrade',
results: {},
})
assert.isEqual(hitCount, 1)
}
}