Skip to content

Commit

Permalink
feat(ui): show dataset used in pdf report (#152)
Browse files Browse the repository at this point in the history
  • Loading branch information
rbenyoussef authored Aug 16, 2024
1 parent c1b793a commit 0198859
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 8 deletions.
23 changes: 18 additions & 5 deletions chutney/ui/src/app/core/services/campaign-report.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,16 @@ export class CampaignReportService {
pdf.setFontSize(pdfFontSize - 4);
pdf.text(docRecap, 148, 30, { align: 'center' });

const dataHeader = [["id", "Scenario", "Status", "error"]];
const dataBody = report.scenarioExecutionReports.map(s => [s.scenarioId.toString(), s.testCaseTitle, s.status, s.error.toString()]);
let dataHeader, dataBody;
const hasDataset = report.scenarioExecutionReports.some(s => s.dataset);
if(hasDataset){
dataHeader = [["id", "Scenario", "Status", "Dataset", "error"]];
dataBody = report.scenarioExecutionReports.map(s => [s.scenarioId.toString(), s.testCaseTitle, s.status, s.dataset, s.error.toString()]);
} else {
dataHeader = [["id", "Scenario", "Status", "error"]];
dataBody = report.scenarioExecutionReports.map(s => [s.scenarioId.toString(), s.testCaseTitle, s.status, s.error.toString()]);
}

pdf.setFontSize(pdfFontSize - 2);
autoTable(pdf, {
body: dataBody,
Expand Down Expand Up @@ -83,17 +91,22 @@ export class CampaignReportService {
const scenarioReportHeader = [["step", "Status", "error"]];

report.scenarioExecutionReports
.map(s => this.buildExecutionReport(s))
.forEach((r, index) => {
.forEach((s, index) => {
let startY = 30;
if (index){
pdf.addPage();
}
let r = this.buildExecutionReport(s);
pdf.text(r.scenarioName, 15, 25);
if(s.dataset) {
pdf.text(`${this.translate.instant('scenarios.execution.dataset.title')}: ${s.dataset}`, 15, startY);
startY += 5;
}
const scenarioReportBody = r.report.steps.map(step => [step.name, step.status, this.buildErrorMessage(step)]);
autoTable(pdf, {
body: scenarioReportBody,
head: scenarioReportHeader,
startY: 30,
startY: startY,
theme: 'striped',
useCss: true,
didParseCell(data) {
Expand Down
11 changes: 8 additions & 3 deletions chutney/ui/src/app/core/services/campaign.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import { Injectable } from '@angular/core';
import { Observable } from 'rxjs';
import { map } from 'rxjs/operators';
import { environment } from '@env/environment';
import { Campaign, CampaignExecutionFullReport, CampaignExecutionReport, ScenarioIndex } from '@model';
import { Campaign, CampaignExecutionFullReport, CampaignExecutionReport, Execution, ScenarioIndex } from '@model';
import { HttpClient } from '@angular/common/http';
import { distinct } from '@shared/tools';

Expand Down Expand Up @@ -74,8 +74,13 @@ export class CampaignService {
}

findExecution(id: number): Observable<CampaignExecutionFullReport> {
return this.http.get<CampaignExecutionFullReport>(environment.backend + `${this.resourceUrl}/execution/${id}`)
;
return this.http.get<CampaignExecutionFullReport>(`${environment.backend}${this.resourceUrl}/execution/${id}`)
.pipe(
map(campaignExecutionFullReport => ({
...campaignExecutionFullReport,
scenarioExecutionReports: Execution.deserializeExecutions(campaignExecutionFullReport.scenarioExecutionReports)
}))
);
}

create(campaign: Campaign): Observable<Campaign> {
Expand Down

0 comments on commit 0198859

Please sign in to comment.