Loading...
Loading...
Three-layer Vitest-BDD Skill for DashPlayer. Use this when developers want business-readable BDD scenarios without coupling scenario writing to code implementation details. Trigger keywords: "Three-layer BDD", "Behavioral Testing Layering", "Given-When-Then", "Vitest BDD", "Avoid writing implementations in scenarios".
npx skill4agent add solidspoon/dashplayer vitest-bdd-3layersettingssrc/backend/application/services/__tests__/Xxx.bdd.test.tsgiven/when/thennew Servicevi.spyOnstore.set/getsrc/backend/application/services/__tests__/bdd/xxx.steps.tsgiven* / when* / then*src/backend/application/services/__tests__/bdd/xxx.fixture.tssrc/test/bdd.tsthenimport bdd from '@/test/bdd'
const { scenario, given, when, then } = bddGiven <precondition>, When <trigger action>, Then <business result>givenInvalidProviderValues()whenQueryEngineSelection()thenProvidersNormalizedToNone()given*when*then*fs.existsSyncsetValue/getValuescenario('Settings: Engine Selection Behavior', () => {
it('Given invalid provider values, when querying engine selection, then should normalize to none', async () => {
await given('Given: invalid provider values', () => steps.givenInvalidProviderValues())
await when('When: query engine selection', () => steps.whenQueryEngineSelection())
await then('Then: should normalize to none', () => steps.thenProvidersNormalizedToNone())
})
})given/when/thenyarn test:bddyarn test:bdd
yarn test:bdd:watchxxx.bdd.test.tsbdd/xxx.steps.tsbdd/xxx.fixture.tssrc/test/bdd.ts