diff --git a/src/modules/case.js b/src/modules/case.js index 787fcf1..331a4bc 100644 --- a/src/modules/case.js +++ b/src/modules/case.js @@ -37,11 +37,12 @@ export const createCase = (http) => (caseTypeId) => (eventId) => async (payload * * @param {httpClient} http Configured, ready-to-use HTTP client * @param {string|number} caseId 16-digit unique case identifier + * @param {object} - request parameters for the get request * @return {Promise} Promise resolved with the case for the given identifier. */ -export const fetchCase = (http) => (caseId) => async () => { +export const fetchCase = (http) => (caseId, params) => async () => { const url = `/cases/${caseId}`; - const res = await http.get(url); + const res = await http.get(url, params); return res.data; }; diff --git a/src/modules/case.test.js b/src/modules/case.test.js index 38c5089..7cca0c4 100644 --- a/src/modules/case.test.js +++ b/src/modules/case.test.js @@ -26,6 +26,24 @@ describe('fetchCase', () => { const actualData = await fetchCase(httpStub)(caseId)(); expect(actualData).toEqual(resData); }); + + test('should fetch case by id with request parameters', async () => { + const caseId = '1234123412341238'; + const resData = { + id: caseId, + data: {}, + }; + const httpStub = { + get: (url, params) => { + expect(url).toEqual(`/cases/${caseId}`); + expect(params).toEqual({field: 'field1'}); + return Promise.resolve({data: resData}); + }, + }; + + const actualData = await fetchCase(httpStub)(caseId, {field: 'field1'})(); + expect(actualData).toEqual(resData); + }); }); describe('fieldExtractor', () => {