diff options
Diffstat (limited to 'spec/services/resource_events/change_milestone_service_spec.rb')
-rw-r--r-- | spec/services/resource_events/change_milestone_service_spec.rb | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/spec/services/resource_events/change_milestone_service_spec.rb b/spec/services/resource_events/change_milestone_service_spec.rb index ed234376381..425d5b19907 100644 --- a/spec/services/resource_events/change_milestone_service_spec.rb +++ b/spec/services/resource_events/change_milestone_service_spec.rb @@ -14,4 +14,35 @@ RSpec.describe ResourceEvents::ChangeMilestoneService do let_it_be(:resource) { create(issuable) } # rubocop:disable Rails/SaveBang end end + + describe 'events tracking' do + let_it_be(:user) { create(:user) } + + let(:resource) { create(resource_type, milestone: timebox, project: timebox.project) } + + subject(:service_instance) { described_class.new(resource, user, old_milestone: nil) } + + context 'when the resource is a work item' do + let(:resource_type) { :work_item } + + it 'tracks work item usage data counters' do + expect(Gitlab::UsageDataCounters::WorkItemActivityUniqueCounter) + .to receive(:track_work_item_milestone_changed_action) + .with(author: user) + + service_instance.execute + end + end + + context 'when the resource is not a work item' do + let(:resource_type) { :issue } + + it 'does not track work item usage data counters' do + expect(Gitlab::UsageDataCounters::WorkItemActivityUniqueCounter) + .not_to receive(:track_work_item_milestone_changed_action) + + service_instance.execute + end + end + end end |