const assert = require("node:assert/strict"); const { checkBetaInviteCodeForRegistration, consumeBetaInviteCode, loadBetaInviteCodesFromText, normalizeBetaInviteCode, validateBetaInviteCode, } = require("../src/betaInviteCodes"); const sampleMarkdown = ` # OmniAI Internal Beta Invite Codes | # | HEX | Octal | |---|-----|-------| | 1 | A1B2C3D4E5F60718 | 120746072324712600340 | | 2 | 0011223344556677 | 000104421463210531467 | `; const codes = loadBetaInviteCodesFromText(sampleMarkdown); assert.equal(normalizeBetaInviteCode(" a1b2-c3d4 e5f60718 "), "A1B2C3D4E5F60718"); assert.equal(normalizeBetaInviteCode("120746072324712600340"), "120746072324712600340"); assert.equal(codes.has("A1B2C3D4E5F60718"), true); assert.equal(codes.has("120746072324712600340"), true); assert.equal(validateBetaInviteCode("a1b2c3d4e5f60718", codes), true); assert.equal(validateBetaInviteCode("000104421463210531467", codes), true); assert.equal(validateBetaInviteCode("", codes), false); assert.equal(validateBetaInviteCode("NOT-A-CODE", codes), false); function createInviteCodeClient() { const used = new Map(); return { used, async query(sql, params) { if (/SELECT 1 FROM beta_invite_code_uses/i.test(sql)) { return { rows: used.has(params[0]) ? [{ 1: 1 }] : [] }; } if (/INSERT INTO beta_invite_code_uses/i.test(sql)) { const [code, userId] = params; if (used.has(code)) return { rows: [] }; used.set(code, userId); return { rows: [{ code }] }; } throw new Error(`Unexpected SQL: ${sql}`); }, }; } (async () => { const client = createInviteCodeClient(); const firstCheck = await checkBetaInviteCodeForRegistration("a1b2c3d4e5f60718", client, codes); assert.equal(firstCheck.ok, true); const firstConsume = await consumeBetaInviteCode("a1b2c3d4e5f60718", 101, client, codes); assert.equal(firstConsume.ok, true); assert.equal(client.used.get("A1B2C3D4E5F60718"), 101); const secondCheck = await checkBetaInviteCodeForRegistration("A1B2C3D4E5F60718", client, codes); assert.equal(secondCheck.ok, false); assert.equal(secondCheck.status, 409); const secondConsume = await consumeBetaInviteCode("A1B2C3D4E5F60718", 102, client, codes); assert.equal(secondConsume.ok, false); assert.equal(secondConsume.status, 409); assert.equal(client.used.get("A1B2C3D4E5F60718"), 101); })().catch((error) => { console.error(error); process.exitCode = 1; });