import { test, expect } from "bun:test" import * as db from "./database.ts" import _ from "lodash" import { randomFromArray } from "./common.ts" import { None, Ok } from "ts-results-es" test("DataBase", () => { const allTables = db.allTables() expect(allTables).toBeArray() expect(allTables).toEqual(["Users", "Boards"]) expect(db.BoardTable.count()).toBe(0) expect(db.UserTable.count()).toBe(0) }) test("Board Table", () => { const boardsNumber = 10 const rooms = ["A1", "A2"] // Try to find something empty const findEmptyByID = db.BoardTable.find(_.random(0, boardsNumber)) expect(findEmptyByID).toEqual(Ok(None)) const findEmptyByName = db.BoardTable.find("Hello") expect(findEmptyByName).toEqual(Ok(None)) const boardsArray: Array = [] for (let i = 0; i < boardsNumber; i++) { boardsArray.push({ id: _.random(0, 100), name: `Board ${i}`, room: randomFromArray(rooms), ipv4: `192.168.172.${i}`, port: _.random(0, 665535), }) } })