Files
bknd/app/__test__/data/specs/fields/FieldIndex.spec.ts
T
dswbx a55eca75d0 fix imports in test files
reorganize imports to use "@sinclair/typebox" directly, replacing local utility references, and add missing "override" keywords in test classes.
2025-04-11 12:02:20 +02:00

33 lines
948 B
TypeScript

import { describe, expect, test } from "bun:test";
import { Type } from "@sinclair/typebox";
import { Entity, EntityIndex, Field } from "../../../../src/data";
class TestField extends Field {
protected getSchema(): any {
return Type.Any();
}
override schema() {
return undefined as any;
}
}
describe("FieldIndex", async () => {
const entity = new Entity("test", []);
test("it constructs", async () => {
const field = new TestField("name");
const index = new EntityIndex(entity, [field]);
expect(index.fields).toEqual([field]);
expect(index.name).toEqual("idx_test_name");
expect(index.unique).toEqual(false);
});
test("it fails on non-unique", async () => {
const field = new TestField("name", { required: false });
expect(() => new EntityIndex(entity, [field], true)).toThrowError();
expect(() => new EntityIndex(entity, [field])).toBeDefined();
});
});