mirror of
https://github.com/shishantbiswas/bknd.git
synced 2026-03-16 20:37:21 +00:00
* reorganized storage adapter and added test suites for adapter and fields * added build command in ci pipeline * updated workflow to also run node tests * updated workflow: try with separate tasks * updated workflow: try with separate tasks * updated workflow: added tsx as dev dependency * updated workflow: try with find instead of glob
30 lines
1.3 KiB
TypeScript
30 lines
1.3 KiB
TypeScript
import { describe, expect, test } from "bun:test";
|
|
import { BooleanField } from "../../../../src/data";
|
|
import { fieldTestSuite, transformPersist } from "data/fields/field-test-suite";
|
|
|
|
describe("[data] BooleanField", async () => {
|
|
fieldTestSuite({ expect, test }, BooleanField, { defaultValue: true, schemaType: "boolean" });
|
|
|
|
test("transformRetrieve", async () => {
|
|
const field = new BooleanField("test");
|
|
expect(field.transformRetrieve(1)).toBe(true);
|
|
expect(field.transformRetrieve(0)).toBe(false);
|
|
expect(field.transformRetrieve("1")).toBe(true);
|
|
expect(field.transformRetrieve("0")).toBe(false);
|
|
expect(field.transformRetrieve(true)).toBe(true);
|
|
expect(field.transformRetrieve(false)).toBe(false);
|
|
expect(field.transformRetrieve(null)).toBe(null);
|
|
expect(field.transformRetrieve(undefined)).toBe(null);
|
|
});
|
|
|
|
test("transformPersist (specific)", async () => {
|
|
const field = new BooleanField("test");
|
|
expect(transformPersist(field, 1)).resolves.toBe(true);
|
|
expect(transformPersist(field, 0)).resolves.toBe(false);
|
|
expect(transformPersist(field, "1")).rejects.toThrow();
|
|
expect(transformPersist(field, "0")).rejects.toThrow();
|
|
expect(transformPersist(field, true)).resolves.toBe(true);
|
|
expect(transformPersist(field, false)).resolves.toBe(false);
|
|
});
|
|
});
|