diff --git a/__tests__/actions/sprint-dates.test.ts b/__tests__/actions/sprint-dates.test.ts index 875ab1d..6adb153 100644 --- a/__tests__/actions/sprint-dates.test.ts +++ b/__tests__/actions/sprint-dates.test.ts @@ -1,7 +1,7 @@ import { describe, it, expect, vi, beforeEach } from 'vitest' vi.mock('next/cache', () => ({ revalidatePath: vi.fn() })) -vi.mock('next/headers', () => ({ cookies: vi.fn().mockResolvedValue({}) })) +vi.mock('next/headers', () => ({ cookies: vi.fn().mockResolvedValue({ set: vi.fn(), get: vi.fn(), delete: vi.fn() }) })) vi.mock('iron-session', () => ({ getIronSession: vi.fn().mockResolvedValue({ userId: 'user-1', isDemo: false }), })) diff --git a/actions/sprints.ts b/actions/sprints.ts index dc5d55e..a431ced 100644 --- a/actions/sprints.ts +++ b/actions/sprints.ts @@ -72,6 +72,7 @@ export async function createSprintAction(_prevState: unknown, formData: FormData }), ) + await setActiveSprintCookie(parsed.data.productId, sprint.id) revalidatePath(`/products/${parsed.data.productId}`) return { success: true, sprintId: sprint.id } } diff --git a/components/sprint/start-sprint-button.tsx b/components/sprint/start-sprint-button.tsx index 2889c48..9d3ab18 100644 --- a/components/sprint/start-sprint-button.tsx +++ b/components/sprint/start-sprint-button.tsx @@ -51,7 +51,7 @@ export function StartSprintButton({ productId, isDemo = false }: StartSprintButt if (result?.success) { setOpen(false) setDirty(false) - router.push(`/products/${productId}/sprint`) + router.refresh() } else if (result?.code !== 422 && result?.error) { // Toast handled by caller; here we just keep the form open }