From ac3bce393201d211b7c972a052e81981255600e5 Mon Sep 17 00:00:00 2001 From: Shivam Mishra Date: Thu, 12 Jun 2025 17:58:56 +0530 Subject: [PATCH] fix: missing metrics and labels from label summary (#11718) --- app/builders/v2/reports/label_summary_builder.rb | 6 ++++-- app/views/api/v2/accounts/reports/labels.csv.erb | 4 +++- config/locales/en.yml | 2 ++ spec/builders/v2/reports/label_summary_builder_spec.rb | 2 +- 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/app/builders/v2/reports/label_summary_builder.rb b/app/builders/v2/reports/label_summary_builder.rb index abc68b26b..caa5a04d8 100644 --- a/app/builders/v2/reports/label_summary_builder.rb +++ b/app/builders/v2/reports/label_summary_builder.rb @@ -31,7 +31,7 @@ class V2::Reports::LabelSummaryBuilder < V2::Reports::BaseSummaryBuilder resolved_counts: fetch_resolved_counts(conversation_filter), resolution_metrics: fetch_metrics(conversation_filter, 'conversation_resolved', use_business_hours), first_response_metrics: fetch_metrics(conversation_filter, 'first_response', use_business_hours), - reply_metrics: fetch_metrics(conversation_filter, 'reply', use_business_hours) + reply_metrics: fetch_metrics(conversation_filter, 'reply_time', use_business_hours) } end @@ -63,7 +63,9 @@ class V2::Reports::LabelSummaryBuilder < V2::Reports::BaseSummaryBuilder end def fetch_resolved_counts(conversation_filter) - fetch_counts(conversation_filter.merge(status: :resolved)) + # since the base query is ActsAsTaggableOn, + # the status :resolved won't automatically be converted to integer status + fetch_counts(conversation_filter.merge(status: Conversation.statuses[:resolved])) end def fetch_counts(conversation_filter) diff --git a/app/views/api/v2/accounts/reports/labels.csv.erb b/app/views/api/v2/accounts/reports/labels.csv.erb index fdf578415..a9d420155 100644 --- a/app/views/api/v2/accounts/reports/labels.csv.erb +++ b/app/views/api/v2/accounts/reports/labels.csv.erb @@ -4,7 +4,9 @@ I18n.t('reports.label_csv.label_title'), I18n.t('reports.label_csv.conversations_count'), I18n.t('reports.label_csv.avg_first_response_time'), - I18n.t('reports.label_csv.avg_resolution_time') + I18n.t('reports.label_csv.avg_resolution_time'), + I18n.t('reports.label_csv.avg_reply_time'), + I18n.t('reports.label_csv.resolution_count'), ] %> <%= CSVSafe.generate_line headers -%> diff --git a/config/locales/en.yml b/config/locales/en.yml index 463aa713e..20c1391cc 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -105,6 +105,8 @@ en: conversations_count: No. of conversations avg_first_response_time: Avg first response time avg_resolution_time: Avg resolution time + avg_reply_time: Avg reply time + resolution_count: Resolution Count team_csv: team_name: Team name conversations_count: Conversations count diff --git a/spec/builders/v2/reports/label_summary_builder_spec.rb b/spec/builders/v2/reports/label_summary_builder_spec.rb index 7a5a589dd..1560008a1 100644 --- a/spec/builders/v2/reports/label_summary_builder_spec.rb +++ b/spec/builders/v2/reports/label_summary_builder_spec.rb @@ -140,7 +140,7 @@ RSpec.describe V2::Reports::LabelSummaryBuilder do create(:reporting_event, account: account, conversation: conv, - name: 'reply', + name: 'reply_time', value: (15 + (idx * 5)) * 60, value_in_business_hours: (10 + (idx * 3)) * 60, created_at: Time.zone.today)