| 12345678910111213141516171819202122 |
- /** assertPlan: provide keys must name roster rows. */
- import { describe, expect, it } from 'vitest'
- import { assertPlan } from '../src/assembly/roster.ts'
- import { ClientRoster } from '../src/assembly/roster.ts'
- const roster = ClientRoster.of([
- { name: 'a', inject: [], immediately: false },
- { name: 'b', inject: [], immediately: false },
- ])
- const plugin = { apply: () => {} }
- describe('assertPlan', () => {
- it('accepts a bare roster and provided roster rows', () => {
- expect(() => { assertPlan({ roster }) }).not.toThrow()
- expect(() => { assertPlan({ roster, provide: { a: plugin, b: plugin } }) }).not.toThrow()
- })
- it('rejects provide keys outside the roster and lists the roster', () => {
- expect(() => { assertPlan({ roster, provide: { a: plugin, zz: plugin, yy: plugin } }) })
- .toThrow('provide names rows outside the roster: zz, yy; roster: a, b')
- })
- })
|