Files
bknd/app/__test__/data/specs/fields/BooleanField.spec.ts
dswbx 9e3c081e50 reorganized storage adapter and added test suites for adapter and fields (#124)
* 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
2025-03-27 20:41:42 +01:00

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);
});
});