FactuGES_ERP/packages/rdx-criteria/src/criteria-to-sequelize-converter.test.ts
2026-08-31 20:51:27 +02:00

39 lines
1020 B
TypeScript

import assert from "node:assert/strict";
import test from "node:test";
import { Op } from "sequelize";
import { Criteria } from "./critera";
import { CriteriaToSequelizeConverter } from "./criteria-to-sequelize-converter";
test("mantiene operadores de rango al reconstruir criterios serializados", () => {
const criteria = Criteria.fromPrimitives(
[
{
field: "proforma_date",
operator: "GREATER_THAN_OR_EQUAL",
value: "2026-01-01",
},
{
field: "proforma_date",
operator: "LOWER_THAN_OR_EQUAL",
value: "2026-08-29",
},
],
"proforma_date",
"DESC",
50,
0
);
const options = new CriteriaToSequelizeConverter().convert(criteria, {
sortableFields: ["proforma_date"],
});
const where = options.where as { [Op.and]: Array<Record<string, Record<symbol, string>>> };
assert.deepEqual(where[Op.and], [
{ proforma_date: { [Op.gte]: "2026-01-01" } },
{ proforma_date: { [Op.lte]: "2026-08-29" } },
]);
});