UNPKG

@ministryofjustice/hmpps-digital-prison-reporting-frontend

Version:

The Digital Prison Reporting Frontend contains templates and code to help display data effectively in UI applications.

63 lines (54 loc) 1.83 kB
import { Response, Request } from 'express' import UserReportRequestListUtils from './utils' import type { RequestedReportService, ReportingService } from '../../../services' import { Services } from '../../../types/Services' import mockRequested from '../../../../../test-app/mocks/mockClients/store/mockRequestedUserListData' import { ReportType, RequestStatus } from '../../../types/UserReports' describe('UserReportRequestListUtils', () => { let res: Response let req: Request let requestedReportService: RequestedReportService let reportingService: ReportingService let services: Services describe('getRequestStatus', () => { beforeEach(() => { res = { locals: { user: { uuid: 'UuId', token: 'ToKeN', }, csfrToken: 'CsRfToKeN', }, } as unknown as Response req = { body: { executionId: 'executionId', status: 'SUBMITTED', type: ReportType.REPORT, }, } as unknown as Request requestedReportService = { updateStatus: jest.fn(), getReportByExecutionId: jest.fn().mockResolvedValue(mockRequested.requestedReady), } as unknown as RequestedReportService reportingService = { getAsyncReportStatus: jest.fn().mockResolvedValue({ status: RequestStatus.FINISHED, }), } as unknown as ReportingService services = { requestedReportService, reportingService, } as unknown as Services }) it('getRequestStatus', async () => { const result = await UserReportRequestListUtils.getRequestStatus({ res, req, services, }) expect(result).toEqual({ reportData: mockRequested.requestedReady, status: RequestStatus.FINISHED }) }) }) })