Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spec/models/resource_state_event_spec.rb')
-rw-r--r--spec/models/resource_state_event_spec.rb42
1 files changed, 35 insertions, 7 deletions
diff --git a/spec/models/resource_state_event_spec.rb b/spec/models/resource_state_event_spec.rb
index 2b4898b750a..f84634bd220 100644
--- a/spec/models/resource_state_event_spec.rb
+++ b/spec/models/resource_state_event_spec.rb
@@ -42,16 +42,44 @@ RSpec.describe ResourceStateEvent, type: :model do
context 'callbacks' do
describe '#issue_usage_metrics' do
- it 'tracks closed issues' do
- expect(Gitlab::UsageDataCounters::IssueActivityUniqueCounter).to receive(:track_issue_closed_action)
-
- create(described_class.name.underscore.to_sym, issue: issue, state: described_class.states[:closed])
+ describe 'when an issue is closed' do
+ subject(:close_issue) do
+ create(described_class.name.underscore.to_sym, issue: issue,
+ state: described_class.states[:closed])
+ end
+
+ it 'tracks closed issues' do
+ expect(Gitlab::UsageDataCounters::IssueActivityUniqueCounter).to receive(:track_issue_closed_action)
+
+ close_issue
+ end
+
+ it_behaves_like 'issue_edit snowplow tracking' do
+ let(:property) { Gitlab::UsageDataCounters::IssueActivityUniqueCounter::ISSUE_CLOSED }
+ let(:project) { issue.project }
+ let(:user) { issue.author }
+ subject(:service_action) { close_issue }
+ end
end
- it 'tracks reopened issues' do
- expect(Gitlab::UsageDataCounters::IssueActivityUniqueCounter).to receive(:track_issue_reopened_action)
+ describe 'when an issue is reopened' do
+ subject(:reopen_issue) do
+ create(described_class.name.underscore.to_sym, issue: issue,
+ state: described_class.states[:reopened])
+ end
+
+ it 'tracks reopened issues' do
+ expect(Gitlab::UsageDataCounters::IssueActivityUniqueCounter).to receive(:track_issue_reopened_action)
+
+ reopen_issue
+ end
- create(described_class.name.underscore.to_sym, issue: issue, state: described_class.states[:reopened])
+ it_behaves_like 'issue_edit snowplow tracking' do
+ let(:property) { Gitlab::UsageDataCounters::IssueActivityUniqueCounter::ISSUE_REOPENED }
+ let(:project) { issue.project }
+ let(:user) { issue.author }
+ subject(:service_action) { reopen_issue }
+ end
end
it 'does not track merge requests' do