chat, little buggy

This commit is contained in:
Devin Zuczek
2026-07-21 01:17:20 -04:00
parent 64bfc9f851
commit 08cf44991d
10 changed files with 2435 additions and 8 deletions
+34
View File
@@ -9,6 +9,40 @@ export default defineConfig({
bindings: {
ENVIRONMENT: 'VITEST',
},
// The worker's RECFLARE_NOTIFICATIONS_HUB binding points at the `notify`
// worker's DO (script_name: "notify"). That worker isn't part of this
// isolated test, so provide a minimal stub exposing the same NotificationsHub
// RPC surface. This one also records what it was sent and hands it back via
// `takeSent`, so tests can assert on the ChatMessageReceived fan-out.
workers: [
{
name: 'notify',
modules: true,
compatibilityDate: '2026-06-16',
compatibilityFlags: ['nodejs_compat'],
durableObjects: { RECFLARE_NOTIFICATIONS_HUB: 'NotificationsHub' },
script: `
import { DurableObject } from 'cloudflare:workers'
export class NotificationsHub extends DurableObject {
constructor(ctx, env) {
super(ctx, env)
this.sent = []
}
async notifyPlayer(playerId, notificationType, data) {
this.sent.push({ playerId, notificationType, data })
return { delivered: 1, queued: false }
}
async broadcast() { return { delivered: 0 } }
async takeSent() {
const sent = this.sent
this.sent = []
return sent
}
}
export default { fetch() { return new Response('ok') } }
`,
},
],
},
}),
],