import assert from "node:assert/strict"; import test from "node:test"; import { buildUsersQueryParams } from "../lib/users-query.js"; test("builds query without empty optional filters", () => { const params = buildUsersQueryParams({ page: 1, pageSize: 20, search: "", role: "", active: undefined, sortBy: "created_at", sortOrder: "desc" }); assert.equal(params.toString(), "page=1&page_size=20&sort_by=created_at&sort_order=desc"); }); test("builds query with active filters", () => { const activeParams = buildUsersQueryParams({ page: 1, pageSize: 20, search: " Admin ", role: "admin", active: true, sortBy: "created_at", sortOrder: "desc" }); const inactiveParams = buildUsersQueryParams({ page: 1, pageSize: 20, search: "", role: "", active: false, sortBy: "created_at", sortOrder: "desc" }); assert.equal(activeParams.toString(), "page=1&page_size=20&sort_by=created_at&sort_order=desc&search=Admin&role=admin&active=true"); assert.equal(inactiveParams.toString(), "page=1&page_size=20&sort_by=created_at&sort_order=desc&active=false"); });