Merge branch 'feature/#43691-count-diff-note-calendar-activity' into 'master'
#43691: DiffNotes not counted by ContributionsCalendar Closes #43691 See merge request gitlab-org/gitlab-ce!17418
This commit is contained in:
commit
df23494cd9
3 changed files with 16 additions and 5 deletions
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: Count comments on diffs as contributions for the contributions calendar
|
||||
merge_request: 17418
|
||||
author: Riccardo Padovani
|
||||
type: fixed
|
|
@ -23,7 +23,7 @@ module Gitlab
|
|||
mr_events = event_counts(date_from, :merge_requests)
|
||||
.having(action: [Event::MERGED, Event::CREATED, Event::CLOSED], target_type: "MergeRequest")
|
||||
note_events = event_counts(date_from, :merge_requests)
|
||||
.having(action: [Event::COMMENTED], target_type: "Note")
|
||||
.having(action: [Event::COMMENTED], target_type: %w(Note DiffNote))
|
||||
|
||||
union = Gitlab::SQL::Union.new([repo_events, issue_events, mr_events, note_events])
|
||||
events = Event.find_by_sql(union.to_sql).map(&:attributes)
|
||||
|
|
|
@ -11,7 +11,7 @@ describe Gitlab::ContributionsCalendar do
|
|||
end
|
||||
|
||||
let(:public_project) do
|
||||
create(:project, :public) do |project|
|
||||
create(:project, :public, :repository) do |project|
|
||||
create(:project_member, user: contributor, project: project)
|
||||
end
|
||||
end
|
||||
|
@ -40,13 +40,13 @@ describe Gitlab::ContributionsCalendar do
|
|||
described_class.new(contributor, current_user)
|
||||
end
|
||||
|
||||
def create_event(project, day, hour = 0)
|
||||
def create_event(project, day, hour = 0, action = Event::CREATED, target_symbol = :issue)
|
||||
@targets ||= {}
|
||||
@targets[project] ||= create(:issue, project: project, author: contributor)
|
||||
@targets[project] ||= create(target_symbol, project: project, author: contributor)
|
||||
|
||||
Event.create!(
|
||||
project: project,
|
||||
action: Event::CREATED,
|
||||
action: action,
|
||||
target: @targets[project],
|
||||
author: contributor,
|
||||
created_at: DateTime.new(day.year, day.month, day.day, hour)
|
||||
|
@ -71,6 +71,12 @@ describe Gitlab::ContributionsCalendar do
|
|||
expect(calendar(contributor).activity_dates[today]).to eq(2)
|
||||
end
|
||||
|
||||
it "counts the diff notes on merge request" do
|
||||
create_event(public_project, today, 0, Event::COMMENTED, :diff_note_on_merge_request)
|
||||
|
||||
expect(calendar(contributor).activity_dates[today]).to eq(1)
|
||||
end
|
||||
|
||||
context "when events fall under different dates depending on the time zone" do
|
||||
before do
|
||||
create_event(public_project, today, 1)
|
||||
|
|
Loading…
Reference in a new issue