import { describe, it, expect } from 'vitest'; import { given } from '@shared/testing/machine'; import { expectTag } from '@shared/testing/expect-tag'; import { hasProgress, initial, reduce } from './intake.machine'; const intake = given(reduce, initial); describe('intake hasProgress', () => { it('is false for a fresh questionnaire', () => { expect(hasProgress(expectTag(initial, 'Answering'))).toBe(false); }); it('is true once an answer is given or the user advances', () => { const answered = expectTag( intake({ tag: 'SetAnswer', key: 'buitenlandGewerkt', value: 'ja' }), 'Answering', ); expect(hasProgress(answered)).toBe(true); const advanced = expectTag( intake({ tag: 'SetAnswer', key: 'buitenlandGewerkt', value: 'nee' }, { tag: 'Next' }), 'Answering', ); expect(hasProgress(advanced)).toBe(true); }); });