42 lines
1.1 KiB
JavaScript
42 lines
1.1 KiB
JavaScript
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");
|
|
});
|