dal/client/__test__/builder.test.ts

66 lines
1.4 KiB
TypeScript
Raw Permalink Normal View History

import { test, expect } from "bun:test";
import { DAL } from "..";
const options = {
database: "test.sqlite",
url: "http://localhost:8111",
};
class DTO {
id: number = 0;
name: string = "";
data: string = "";
age: number | undefined;
}
test("Rows iter, no format", async () => {
const dal = new DAL(options);
const rows = dal
.In("test t")
.Find({
id: 1,
})
.Rows<any[]>();
for await (const result of rows) {
const [row, error] = result;
expect(row.length).toBe(3);
}
expect(true).toBe(true);
});
test("Rows iter, format", async () => {
const dal = new DAL(options);
2024-08-22 18:03:46 +00:00
const rows = dal.In("test t").Find({}).As(DTO).Rows();
for await (const row of rows) {
//console.log(row);
2024-08-22 18:03:46 +00:00
//expect(row.id).toBe(1);
}
expect(true).toBe(true);
});
test("Query format", async () => {
const dal = new DAL(options);
const rows = await dal
.In("test t")
.Find({
id: 1,
})
.As(DTO)
.Query();
for (const row of rows) {
expect(row.id).toBeDefined();
expect(row.age).toBeUndefined();
}
expect(true).toBe(true);
});
2024-08-16 18:10:34 +00:00
test("Query raw", async () => {
const dal = new DAL(options);
2024-08-21 01:28:40 +00:00
const rows = await dal.Raw("SELECT * FROM test WHERE id = 1").As(DTO).Query();
2024-08-16 18:10:34 +00:00
for (const row of rows) {
expect(row.id).toBeDefined();
expect(row.age).toBeUndefined();
}
expect(true).toBe(true);
});