TASK22269: add signed request client and migrate portal deleteWatchedCases pilot
This commit is contained in:
@@ -134,6 +134,27 @@ test("portal/sendRepCompleteMessage rejects when hash signing fails before reque
|
||||
assert.strictEqual(logger.calls.length, 0);
|
||||
});
|
||||
|
||||
test("portal/deleteWatchedCases logs and returns undefined when signed delete fails", async () => {
|
||||
const axios = createAxiosMock();
|
||||
const logger = createLoggerMock();
|
||||
const error = createAxiosError(401, "Unauthorized");
|
||||
|
||||
const portal = loadServiceModule("portalDirectService.js", {
|
||||
axios,
|
||||
BASE_URL: "",
|
||||
consoleLogger: logger.consoleLogger,
|
||||
deleteSignedJson: async () => {
|
||||
throw error;
|
||||
}
|
||||
});
|
||||
|
||||
const result = await portal.deleteWatchedCases("watch-2");
|
||||
|
||||
assert.strictEqual(result, undefined);
|
||||
assert.strictEqual(logger.calls.length, 1);
|
||||
assert.strictEqual(logger.calls[0], error);
|
||||
});
|
||||
|
||||
const run = async () => {
|
||||
let passed = 0;
|
||||
|
||||
|
||||
@@ -126,6 +126,18 @@ const loadServiceModule = (fileName, injected = {}) => {
|
||||
});
|
||||
};
|
||||
|
||||
const defaultDeleteSignedJson = async (queryUrl, config = {}) => {
|
||||
const hashedUrl = await (
|
||||
injected.buildHashedQueryUrl || defaultBuildHashedQueryUrl
|
||||
)(queryUrl);
|
||||
|
||||
return (injected.requestJson || defaultRequestJson)({
|
||||
method: "delete",
|
||||
url: hashedUrl,
|
||||
...config
|
||||
});
|
||||
};
|
||||
|
||||
const defaultBuildFileQuery = (pathValue, params = {}, options = {}) => {
|
||||
const { encode = false } = options;
|
||||
const entries = Object.entries(params).filter(([, value]) => {
|
||||
@@ -172,6 +184,7 @@ const loadServiceModule = (fileName, injected = {}) => {
|
||||
getSignedFileJson:
|
||||
injected.getSignedFileJson || defaultGetSignedFileJson,
|
||||
downloadFileBlob: injected.downloadFileBlob || defaultDownloadFileBlob,
|
||||
deleteSignedJson: injected.deleteSignedJson || defaultDeleteSignedJson,
|
||||
buildHashedQueryUrl:
|
||||
injected.buildHashedQueryUrl || defaultBuildHashedQueryUrl,
|
||||
buildFileQuery: injected.buildFileQuery || defaultBuildFileQuery,
|
||||
|
||||
Reference in New Issue
Block a user