Files

24 lines
874 B
TypeScript
Raw Permalink Normal View History

2026-08-10 21:18:45 -07:00
import { describe, expect, it } from 'vitest'
2026-08-13 00:36:22 +08:00
import InvariantRegistry from '@deepseek-ai/dsh-invariants'
2026-08-10 21:18:45 -07:00
import * as MessageFeedbackInvariant from '../src/invariant.ts'
import { setupHarness } from './helpers.ts'
describe('message-feedback invariant companion', () => {
it('removes its registry contribution when its fiber is disposed (HMR safety)', async () => {
const harness = await setupHarness()
try {
2026-08-13 00:36:22 +08:00
await harness.ctx.plugin(InvariantRegistry)
2026-08-10 21:18:45 -07:00
const fiber = await harness.ctx.plugin(MessageFeedbackInvariant)
expect(() => {
harness.ctx.invariants.register('@deepseek-ai/dsh-message-feedback', () => {})
}).toThrow(/already registered/u)
await fiber.dispose()
await expect(harness.ctx.plugin(MessageFeedbackInvariant).await()).resolves.toBeDefined()
} finally {
await harness.dispose()
}
})
})