import { fieldTypeToParamEnumFunc, ibFormat, ibFormation, ibNew, into, set, } from "../src"; import { QueryBuilderBaseParamEnum } from "../src/enums"; describe("Test insert query builder", () => { test("insert single", async (done) => { const qbconf = ibNew(); const qb = ibFormation({ format: ibFormat, into, set, }, qbconf); qb.into("user"); qb.set({ name: "name", type: QueryBuilderBaseParamEnum.String, val: "a name", }); qb.set({...{ name: "registered", type: QueryBuilderBaseParamEnum.Boolean, }, ...{val: true}}); qb.set({ name: "birthdate", type: QueryBuilderBaseParamEnum.String, val: null, }); const result = qb.format(); expect(result).toEqual({ parameters: [ { name: "p0", value: { stringValue: "a name", }, }, { name: "p1", value: { booleanValue: true, }, }, { name: "p2", value: { isNull: true, }, }, ], sql: "INSERT INTO user (name,registered,birthdate) VALUES (:p0,:p1,:p2);", }); done(); }); });