From 49b366fbe44a84991f34f9eeabab27b06e37be0e Mon Sep 17 00:00:00 2001 From: archipelago Date: Fri, 17 Jul 2026 11:46:38 -0400 Subject: [PATCH] test(goals): align goal-status tests with manual-step completion semantics 3aebbcbb made goal completion require walking the manual steps (running apps alone no longer finish a goal) but left the store tests asserting the old auto-complete behavior. Tests now walk the manual step and also pin the new running-but-not-walked => in-progress case. Co-Authored-By: Claude Fable 5 --- neode-ui/src/stores/__tests__/goals.test.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/neode-ui/src/stores/__tests__/goals.test.ts b/neode-ui/src/stores/__tests__/goals.test.ts index 90c99bd6..eccd9efb 100644 --- a/neode-ui/src/stores/__tests__/goals.test.ts +++ b/neode-ui/src/stores/__tests__/goals.test.ts @@ -169,11 +169,16 @@ describe('useGoalStore', () => { expect(store.getGoalStatus('accept-payments')).toBe('not-started') }) - it('returns completed when all required apps are running', () => { + it('returns completed when all required apps run AND manual steps are done', () => { mockPackages['bitcoin-knots'] = { state: 'running' } mockPackages['lnd'] = { state: 'running' } const store = useGoalStore() + // Running apps alone no longer finish a goal — manual steps must be walked + expect(store.getGoalStatus('accept-payments')).toBe('in-progress') + + store.startGoal('accept-payments') + store.completeStep('accept-payments', 'open-channel') expect(store.getGoalStatus('accept-payments')).toBe('completed') }) @@ -198,6 +203,8 @@ describe('useGoalStore', () => { mockPackages['immich-server'] = { state: 'running' } const store = useGoalStore() + store.startGoal('store-photos') + store.completeStep('store-photos', 'configure-immich') expect(store.getGoalStatus('store-photos')).toBe('completed') }) @@ -218,6 +225,8 @@ describe('useGoalStore', () => { mockPackages['lnd'] = { state: 'running' } const store = useGoalStore() + store.startGoal('accept-payments') + store.completeStep('accept-payments', 'open-channel') const statuses = store.goalStatuses expect(statuses['accept-payments']).toBe('completed')