/*! * @license * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import nock from 'nock'; import { BaseMock } from '../base.mock'; const fakeReportList = [ { id: 11011, name: 'Process definition heat map' }, { id: 11012, name: 'Process definition overview' }, { id: 11013, name: 'Process instances overview' }, { id: 11014, name: 'Task overview' }, { id: 11015, name: 'Task service level agreement' } ]; const fakeReportParams = { id: 11013, name: 'Process instances overview', created: '2016-12-07T13:26:40.095+0000', definition: '{"parameters":[{"id":"processDefinitionId","name":null,"nameKey":"REPORTING.DEFAULT-REPORTS.PROCESS-INSTANCES-OVERVIEW.PROCESS-DEFINITION","type":"processDefinition","value":null,"dependsOn":null},' + '{"id":"dateRange","name":null,"nameKey":"REPORTING.DEFAULT-REPORTS.PROCESS-INSTANCES-OVERVIEW.DATE-RANGE","type":"dateRange","value":null,"dependsOn":null},' + '{"id":"slowProcessInstanceInteger","name":null,"nameKey":"REPORTING.DEFAULT-REPORTS.PROCESS-INSTANCES-OVERVIEW.SLOW-PROC-INST-NUMBER","type":"integer","value":10,"dependsOn":null},' + '{"id":"status","name":null,"nameKey":"REPORTING.PROCESS-STATUS","type":"status","value":null,"dependsOn":null}' + ']}' }; const fakeChartReports = { elements: [ { id: 'id10889073739455', type: 'table', rows: [ ['__KEY_REPORTING.DEFAULT-REPORTS.PROCESS-DEFINITION-OVERVIEW.GENERAL-TABLE-TOTAL-PROCESS-DEFINITIONS', '10'], ['__KEY_REPORTING.DEFAULT-REPORTS.PROCESS-DEFINITION-OVERVIEW.GENERAL-TABLE-TOTAL-PROCESS-INSTANCES', '63'], ['__KEY_REPORTING.DEFAULT-REPORTS.PROCESS-DEFINITION-OVERVIEW.GENERAL-TABLE-ACTIVE-PROCESS-INSTANCES', '5'], ['__KEY_REPORTING.DEFAULT-REPORTS.PROCESS-DEFINITION-OVERVIEW.GENERAL-TABLE-COMPLETED-PROCESS-INSTANCES', '52'] ], collapseable: false, collapsed: false, showRowIndex: false }, { id: 'id10889073934509', type: 'pieChart', title: 'Total process instances overview', titleKey: 'REPORTING.DEFAULT-REPORTS.PROCESS-DEFINITION-OVERVIEW.PROC-INST-CHART-TITLE', values: [ { key: 'Activiti', y: 13, keyAndValue: ['Activiti', '13'] }, { key: 'Second Process', y: 5, keyAndValue: ['Second Process', '5'] }, { key: 'Process Custom Name', y: 3, keyAndValue: ['Process Custom Name', '3'] }, { key: 'Simple process', y: 29, keyAndValue: ['Simple process', '29'] }, { key: 'Third Process', y: 7, keyAndValue: ['Third Process', '7'] } ] }, { id: 'id10889074082883', type: 'table', title: 'Process definition details', titleKey: 'REPORTING.DEFAULT-REPORTS.PROCESS-DEFINITION-OVERVIEW.DETAIL-TABLE', columnNames: ['Process definition', 'Total', 'Active', 'Completed'], columnNameKeys: [ 'REPORTING.DEFAULT-REPORTS.PROCESS-DEFINITION-OVERVIEW.DETAIL-TABLE-PROCESS', 'REPORTING.DEFAULT-REPORTS.PROCESS-DEFINITION-OVERVIEW.DETAIL-TABLE-TOTAL', 'REPORTING.DEFAULT-REPORTS.PROCESS-DEFINITION-OVERVIEW.DETAIL-TABLE-ACTIVE', 'REPORTING.DEFAULT-REPORTS.PROCESS-DEFINITION-OVERVIEW.DETAIL-TABLE-COMPLETED' ], columnsCentered: [false, false, false, false], rows: [ ['Activiti', '13', '3', '10'], ['Process Custom Name', '3', '0', '3'], ['Second Process', '5', '1', '4'], ['Simple process', '29', '1', '28'], ['Third Process', '7', '0', '7'] ], collapseable: false, collapsed: false, showRowIndex: true } ] }; const fakeProcessDefinitionsNoApp: any[] = [ { id: 'Process_sid-0FF10DA3-E2BD-4E6A-9013-6D66FC8A4716:1:30004', name: 'Fake Process Name 1', description: null, key: 'Process_sid-0FF10DA3-E2BD-4E6A-9013-6D66FC8A4716', category: 'https://www.activiti.org/processdef', version: 1, deploymentId: '30001', tenantId: 'tenant_1', metaDataValues: [], hasStartForm: false }, { id: 'SecondProcess:1:15027', name: 'Fake Process Name 2', description: 'fdsdf', key: 'SecondProcess', category: 'https://www.activiti.org/processdef', version: 1, deploymentId: '15024', tenantId: 'tenant_1', metaDataValues: [], hasStartForm: false }, { id: 'Simpleprocess:15:10004', name: 'Fake Process Name 3', description: null, key: 'Simpleprocess', category: 'https://www.activiti.org/processdef', version: 15, deploymentId: '10001', tenantId: 'tenant_1', metaDataValues: [], hasStartForm: false }, { id: 'fruitorderprocess:5:42530', name: 'Fake Process Name 4', description: null, key: 'fruitorderprocess', category: 'https://www.activiti.org/processdef', version: 5, deploymentId: '42527', tenantId: 'tenant_1', metaDataValues: [], hasStartForm: false } ]; export class ReportsMock extends BaseMock { get200ResponseCreateDefaultReport(): void { nock(this.host, { encodedQueryParams: true }).post('/activiti-app/app/rest/reporting/default-reports').reply(200); } get200ResponseTasksByProcessDefinitionId(reportId: string, processDefinitionId: string): void { nock(this.host, { encodedQueryParams: true }) .get('/activiti-app/app/rest/reporting/report-params/' + reportId + '/tasks') .query({ processDefinitionId }) .reply(200, ['Fake Task 1', 'Fake Task 2', 'Fake Task 3']); } get200ResponseReportList(): void { nock(this.host, { encodedQueryParams: true }).get('/activiti-app/app/rest/reporting/reports').reply(200, fakeReportList); } get200ResponseReportParams(reportId: string): void { nock(this.host, { encodedQueryParams: true }) .get('/activiti-app/app/rest/reporting/report-params/' + reportId) .reply(200, fakeReportParams); } get200ResponseReportsByParams(reportId: string, paramsQuery: { status: string }): void { nock(this.host, { encodedQueryParams: true }) .post('/activiti-app/app/rest/reporting/report-params/' + reportId, paramsQuery) .reply(200, fakeChartReports); } get200ResponseProcessDefinitions(): void { nock(this.host, { encodedQueryParams: true }) .get('/activiti-app/app/rest/reporting/process-definitions') .reply(200, fakeProcessDefinitionsNoApp); } get200ResponseUpdateReport(reportId: string): void { nock(this.host, { encodedQueryParams: true }) .put('/activiti-app/app/rest/reporting/reports/' + reportId) .reply(200); } get200ResponseExportReport(reportId: string): void { nock(this.host, { encodedQueryParams: true }) .post('/activiti-app/app/rest/reporting/reports/' + reportId + '/export-to-csv') .reply(200, 'CSV'); } get200ResponseSaveReport(reportId: string): void { nock(this.host, { encodedQueryParams: true }) .post('/activiti-app/app/rest/reporting/reports/' + reportId) .reply(200); } get200ResponseDeleteReport(reportId: string): void { nock(this.host, { encodedQueryParams: true }) .delete('/activiti-app/app/rest/reporting/reports/' + reportId) .reply(200); } }