From 5a8b864056bffbb40e7c7337da2d9298ce11065b Mon Sep 17 00:00:00 2001 From: Alejandro Peralta Date: Wed, 6 Nov 2024 14:18:35 +0100 Subject: [PATCH] fix(api): Return the correct total count for WidgetChartData --- .../infrastructure/postgres-survey-answers.repository.ts | 4 ++-- api/test/e2e/widgets/base-widgets.spec.ts | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/api/src/infrastructure/postgres-survey-answers.repository.ts b/api/src/infrastructure/postgres-survey-answers.repository.ts index dedb2709..4340135f 100644 --- a/api/src/infrastructure/postgres-survey-answers.repository.ts +++ b/api/src/infrastructure/postgres-survey-answers.repository.ts @@ -123,13 +123,13 @@ export class PostgresSurveyAnswerRepository ): Promise { const totalsSql = `SELECT answer as "key", count(answer)::integer as "count", SUM(COUNT(answer)) OVER ()::integer AS total FROM ${this.answersTable} ${this.sqlAdapter.appendExpressionToFilterClause(filterClause, `question_indicator = '${widget.indicator}'`)} GROUP BY answer ORDER BY answer`; - const totalsResult: { key: string; count: number }[] = + const totalsResult: { key: string; count: number; total: number }[] = await this.dataSource.query(totalsSql); const arr: WidgetChartData = []; for (let rowIdx = 0; rowIdx < totalsResult.length; rowIdx++) { const res = totalsResult[rowIdx]; - arr.push({ label: res.key, value: res.count, total: res.count }); + arr.push({ label: res.key, value: res.count, total: res.total }); } widget.data.chart = arr; diff --git a/api/test/e2e/widgets/base-widgets.spec.ts b/api/test/e2e/widgets/base-widgets.spec.ts index 7bba67b9..2908f2e3 100644 --- a/api/test/e2e/widgets/base-widgets.spec.ts +++ b/api/test/e2e/widgets/base-widgets.spec.ts @@ -190,17 +190,17 @@ describe('Base Widgets', () => { { label: 'N/A', value: 1, - total: 1, + total: 5, }, { label: 'No', value: 2, - total: 2, + total: 5, }, { label: 'Yes', value: 2, - total: 2, + total: 5, }, ], },