From 9534d7157d777b2c313abc142d7eef8bb6638eea Mon Sep 17 00:00:00 2001 From: Shivam Mishra Date: Tue, 3 Mar 2026 18:11:16 +0530 Subject: [PATCH] fix: pass summary dimension type to rollup-backed builders --- .../api/v2/accounts/summary_reports_controller.rb | 11 ++++++----- .../accounts/summary_reports_controller_spec.rb | 15 ++++++++++++--- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/app/controllers/api/v2/accounts/summary_reports_controller.rb b/app/controllers/api/v2/accounts/summary_reports_controller.rb index 98b3f05d7..40d5947b9 100644 --- a/app/controllers/api/v2/accounts/summary_reports_controller.rb +++ b/app/controllers/api/v2/accounts/summary_reports_controller.rb @@ -3,15 +3,15 @@ class Api::V2::Accounts::SummaryReportsController < Api::V1::Accounts::BaseContr before_action :prepare_builder_params, only: [:agent, :team, :inbox, :label, :channel] def agent - render_report_with(V2::Reports::AgentSummaryBuilder) + render_report_with(V2::Reports::AgentSummaryBuilder, type: :agent) end def team - render_report_with(V2::Reports::TeamSummaryBuilder) + render_report_with(V2::Reports::TeamSummaryBuilder, type: :team) end def inbox - render_report_with(V2::Reports::InboxSummaryBuilder) + render_report_with(V2::Reports::InboxSummaryBuilder, type: :inbox) end def label @@ -38,8 +38,9 @@ class Api::V2::Accounts::SummaryReportsController < Api::V1::Accounts::BaseContr } end - def render_report_with(builder_class) - builder = builder_class.new(account: Current.account, params: @builder_params) + def render_report_with(builder_class, type: nil) + builder_params = type.present? ? @builder_params.merge(type: type) : @builder_params + builder = builder_class.new(account: Current.account, params: builder_params) render json: builder.build end diff --git a/spec/controllers/api/v2/accounts/summary_reports_controller_spec.rb b/spec/controllers/api/v2/accounts/summary_reports_controller_spec.rb index 38c66eeb0..696e1f53e 100644 --- a/spec/controllers/api/v2/accounts/summary_reports_controller_spec.rb +++ b/spec/controllers/api/v2/accounts/summary_reports_controller_spec.rb @@ -45,7 +45,10 @@ RSpec.describe 'Summary Reports API', type: :request do headers: admin.create_new_auth_token, as: :json - expect(V2::Reports::AgentSummaryBuilder).to have_received(:new).with(account: account, params: params) + expect(V2::Reports::AgentSummaryBuilder).to have_received(:new).with( + account: account, + params: params.merge(type: :agent) + ) expect(agent_summary_builder).to have_received(:build) expect(response).to have_http_status(:success) @@ -96,7 +99,10 @@ RSpec.describe 'Summary Reports API', type: :request do headers: admin.create_new_auth_token, as: :json - expect(V2::Reports::InboxSummaryBuilder).to have_received(:new).with(account: account, params: params) + expect(V2::Reports::InboxSummaryBuilder).to have_received(:new).with( + account: account, + params: params.merge(type: :inbox) + ) expect(inbox_summary_builder).to have_received(:build) expect(response).to have_http_status(:success) @@ -147,7 +153,10 @@ RSpec.describe 'Summary Reports API', type: :request do headers: admin.create_new_auth_token, as: :json - expect(V2::Reports::TeamSummaryBuilder).to have_received(:new).with(account: account, params: params) + expect(V2::Reports::TeamSummaryBuilder).to have_received(:new).with( + account: account, + params: params.merge(type: :team) + ) expect(team_summary_builder).to have_received(:build) expect(response).to have_http_status(:success)