diff options
Diffstat (limited to 'spec/support/shared_examples/analytics/cycle_analytics/request_params_examples.rb')
-rw-r--r-- | spec/support/shared_examples/analytics/cycle_analytics/request_params_examples.rb | 32 |
1 files changed, 29 insertions, 3 deletions
diff --git a/spec/support/shared_examples/analytics/cycle_analytics/request_params_examples.rb b/spec/support/shared_examples/analytics/cycle_analytics/request_params_examples.rb index ef9830fbce8..0e7b909fce9 100644 --- a/spec/support/shared_examples/analytics/cycle_analytics/request_params_examples.rb +++ b/spec/support/shared_examples/analytics/cycle_analytics/request_params_examples.rb @@ -11,7 +11,9 @@ RSpec.shared_examples 'unlicensed cycle analytics request params' do } end - subject { described_class.new(params) } + let(:request_params) { described_class.new(params) } + + subject { request_params } before do root_group.add_owner(user) @@ -114,13 +116,13 @@ RSpec.shared_examples 'unlicensed cycle analytics request params' do end describe 'use_aggregated_data_collector param' do - subject(:value) { described_class.new(params).to_data_collector_params[:use_aggregated_data_collector] } + subject(:value) { request_params.to_data_collector_params[:use_aggregated_data_collector] } it { is_expected.to eq(false) } end describe 'feature availablity data attributes' do - subject(:value) { described_class.new(params).to_data_attributes } + subject(:value) { request_params.to_data_attributes } it 'disables all paid features' do is_expected.to match(a_hash_including(enable_tasks_by_type_chart: 'false', @@ -128,4 +130,28 @@ RSpec.shared_examples 'unlicensed cycle analytics request params' do enable_projects_filter: 'false')) end end + + describe '#to_data_collector_params' do + context 'when adding licensed parameters' do + subject(:data_collector_params) { request_params.to_data_collector_params } + + before do + params.merge!( + weight: 1, + epic_id: 2, + iteration_id: 3, + my_reaction_emoji: 'thumbsup', + not: { assignee_username: 'test' } + ) + end + + it 'excludes the attributes from the data collector params' do + expect(data_collector_params).to exclude(:weight) + expect(data_collector_params).to exclude(:epic_id) + expect(data_collector_params).to exclude(:iteration_id) + expect(data_collector_params).to exclude(:my_reaction_emoji) + expect(data_collector_params).to exclude(:not) + end + end + end end |