package chatd import ( "context" "time" ) // WaitUntilIdleForTest waits for background chat work tracked by the server to // finish without shutting the server down. Tests use this to assert final // database state only after asynchronous chat processing has completed. // Close waits for the same tracked work, but also stops the server. func WaitUntilIdleForTest(server *Server) { if server.chatWorker != nil { ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) defer cancel() _ = server.chatWorker.WaitIdle(ctx) } server.drainInflight() }