fix(finale): live-verification fixes — session sync on start, honest vote form, reveal panel polish
All checks were successful
Build and Push Docker Image / build (push) Successful in 10m43s
All checks were successful
Build and Push Docker Image / build (push) Successful in 10m43s
Found by driving the full ceremony end-to-end in the browser: - live.start + startPresentation sync LiveVotingSession (status/currentProjectId) — jury votes silently failed when the admin never used sendToScreens - LiveVotingForm no longer shows 'submitted' on a failed mutation; pages re-key on votedAt so async vote data renders the right state after refresh - reveal compose prefers DELIB_LOCKED deliberation results over jury score order (listSessions now includes results); Arm unlocks right after save - deliberation jury page review cards re-key on revision Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -160,6 +160,19 @@ describe('voting session sync', () => {
|
||||
expect(updated.currentProjectId).toBe(p1.id)
|
||||
expect(updated.status).toBe('IN_PROGRESS')
|
||||
})
|
||||
|
||||
it('startPresentation re-syncs a session that drifted out of band', async () => {
|
||||
await prisma.liveVotingSession.update({
|
||||
where: { roundId: round.id },
|
||||
data: { status: 'NOT_STARTED', currentProjectId: null },
|
||||
})
|
||||
await adminCaller.startPresentation({ roundId: round.id, durationSeconds: 60 })
|
||||
const updated = await prisma.liveVotingSession.findUniqueOrThrow({
|
||||
where: { roundId: round.id },
|
||||
})
|
||||
expect(updated.currentProjectId).toBe(p1.id)
|
||||
expect(updated.status).toBe('IN_PROGRESS')
|
||||
})
|
||||
})
|
||||
|
||||
describe('juror notes', () => {
|
||||
|
||||
Reference in New Issue
Block a user