import { describe, expect, test } from "bun:test";
import { ReadonlyOpenLimiter } from "./room-throttle";
describe("ReadonlyOpenLimiter", () => {
test("caps opens per socket per window and resets after it", () => {
const limiter = new ReadonlyOpenLimiter();
const socket = {};
const other = {};
const limit = 30;
for (let index = 0; index < limit; index++) expect(limiter.allow(socket, 1000)).toBe(true);
expect(limiter.allow(socket, 1000)).toBe(false);
expect(limiter.allow(other, 1000)).toBe(true);
expect(limiter.allow(socket, 1000 + 61_000)).toBe(true);
});
});