import { Database } from "bun:sqlite"; import { expect, test } from "bun:test"; import { Instance, Prequel, Table } from "../src/index"; interface User { id: number; name: string; } interface SerializedUser { name: string; } const db = new Database(); const table = new Table(db, "Users", { id: { type: "INTEGER", primary: true, }, name: "TEXT", }); class UserInstance extends Instance { get name(): string { return this.row.name; } set name(val: string) { this.row.name = val; } serialize(): SerializedUser { return { name: this.row.name, }; } } test("setting values on an instance", () => { table.insert({ id: 1, name: "Alice", }); const alice = table.findOneByIdOrFail(1); const inst = new UserInstance(table, alice); inst.name = "Bob"; inst.save(); const bob = table.findOneByIdOrFail(1); expect(bob.name).toEqual("Bob"); });