Files
chatwoot/spec/policies/csat_survey_response_policy_spec.rb
Sojan Jose 3548948c92 fix: Allow users with report_manage permission to access CSAT reports (#11625)
- Extended CsatSurveyResponsePolicy to support report_manage permission
- Added enterprise extension module following existing pattern
- Users with report_manage custom role can now access CSAT index,
metrics, and download
- Added comprehensive tests for both base and enterprise policy behavior
2025-05-29 12:09:03 -06:00

26 lines
934 B
Ruby

# frozen_string_literal: true
require 'rails_helper'
RSpec.describe CsatSurveyResponsePolicy, type: :policy do
subject(:csat_policy) { described_class }
let(:account) { create(:account) }
let(:administrator) { create(:user, :administrator, account: account) }
let(:agent) { create(:user, account: account) }
let(:csat_survey_response) { create(:csat_survey_response, account: account) }
let(:administrator_context) { { user: administrator, account: account, account_user: account.account_users.first } }
let(:agent_context) { { user: agent, account: account, account_user: account.account_users.last } }
permissions :index?, :metrics?, :download? do
context 'when administrator' do
it { expect(csat_policy).to permit(administrator_context, csat_survey_response) }
end
context 'when agent' do
it { expect(csat_policy).not_to permit(agent_context, csat_survey_response) }
end
end
end