TASK22211: normalize hash and metadata endpoint contracts

This commit is contained in:
2026-03-23 12:14:17 +00:00
parent cb69bbe732
commit 722ef9846a
4 changed files with 134 additions and 13 deletions
@@ -3457,6 +3457,82 @@ test("createcrmtask catch path returns CRM_TASK_CREATE_FAILED", async () => {
assert.strictEqual(res.state.jsonBody.error.code, "CRM_TASK_CREATE_FAILED");
});
test("gethash returns UNAUTHENTICATED when session missing", async () => {
const mod = loadModule("pages/api/endpoint/gethash_api.js", {
respondError: respondErrorMock,
respondSuccess: respondSuccessMock,
hashAPIPath: () => "&hash=expected",
getSession: async () => null,
nextConnect: () => {
const handler = { registeredGet: null };
handler.get = (cb) => {
handler.registeredGet = cb;
return handler;
};
return handler;
}
});
const req = { query: { path: "/api/endpoint/getportallogin_api?x=1" } };
const res = createRes();
await mod.default.registeredGet(req, res);
assert.strictEqual(res.state.statusCode, 401);
assert.strictEqual(res.state.jsonBody.error.code, "UNAUTHENTICATED");
});
test("gethash returns INVALID_HASH_PATH when path is invalid", async () => {
const mod = loadModule("pages/api/endpoint/gethash_api.js", {
respondError: respondErrorMock,
respondSuccess: respondSuccessMock,
hashAPIPath: () => "&hash=expected",
getSession: async () => ({ user: { email: "user@test.local" } }),
nextConnect: () => {
const handler = { registeredGet: null };
handler.get = (cb) => {
handler.registeredGet = cb;
return handler;
};
return handler;
}
});
const req = { query: { path: "/api/endpoint/gethash_api" } };
const res = createRes();
await mod.default.registeredGet(req, res);
assert.strictEqual(res.state.statusCode, 400);
assert.strictEqual(res.state.jsonBody.error.code, "INVALID_HASH_PATH");
});
test("getpicklists returns WHICH_FORM_REQUIRED when whichForm missing", async () => {
const mod = loadModule("pages/api/endpoint/getpicklists_api.js", {
respondError: respondErrorMock,
respondSuccess: respondSuccessMock
});
const req = { query: {} };
const res = createRes();
await mod.default(req, res);
assert.strictEqual(res.state.statusCode, 400);
assert.strictEqual(res.state.jsonBody.error.code, "WHICH_FORM_REQUIRED");
});
test("getmandatoryfields returns WHICH_FORM_REQUIRED when whichForm missing", async () => {
const mod = loadModule("pages/api/endpoint/getmandatoryfields_api.js", {
respondError: respondErrorMock,
respondSuccess: respondSuccessMock
});
const req = { query: {} };
const res = createRes();
await mod.default(req, res);
assert.strictEqual(res.state.statusCode, 400);
assert.strictEqual(res.state.jsonBody.error.code, "WHICH_FORM_REQUIRED");
});
test("getsipsmedia returns success contract", async () => {
const mod = loadModule("pages/api/endpoint/getsipsmedia_api.js", {
respondSuccess: respondSuccessMock