import { expect } from "bun:test"; import { forEachDb } from "./helpers"; import { aclRepo } from "../src"; forEachDb("aclRepo lists ACL rows and detects authors", async (db) => { await db.sql`INSERT INTO course_acl (course_id, principal_type, principal_id) VALUES ('c', 'user', 'u1'), ('c', 'group', 'g1'), ('d', 'user', 'u2')`; await db.sql`INSERT INTO course_authors (course_id, user_id) VALUES ('c', 'a1')`; const r = aclRepo(db); expect(await r.listForCourse("c")).toEqual([ { principal_type: "group", principal_id: "g1" }, { principal_type: "user", principal_id: "u1" }, ]); expect(await r.listForCourse("none")).toEqual([]); expect(await r.isAuthor("c", "a1")).toBe(true); expect(await r.isAuthor("c", "u1")).toBe(false); expect(await r.isAuthor("d", "a1")).toBe(false); });