Commit 605cebf5 authored by Bob Van Landuyt's avatar Bob Van Landuyt

Merge branch 'ag-add-stats-for-new-recent-members' into 'master'

Add a count for recently added group members

See merge request gitlab-org/gitlab!26600
parents 8013ec5b f51ca656
...@@ -19,6 +19,15 @@ module Analytics ...@@ -19,6 +19,15 @@ module Analytics
MergeRequestsFinder.new(@current_user, params).execute.count MergeRequestsFinder.new(@current_user, params).execute.count
end end
def new_members_count
@new_members_count ||=
GroupMembersFinder.new(@group, @current_user)
.execute(
include_relations: [:direct, :descendants],
params: { created_after: DURATION.ago }
).count
end
private private
def params def params
......
...@@ -64,4 +64,36 @@ describe Analytics::GroupActivityCalculator do ...@@ -64,4 +64,36 @@ describe Analytics::GroupActivityCalculator do
end end
end end
end end
context 'with members' do
it 'returns the count of recently added members' do
expect(subject.new_members_count).to eq 1 # current_user
end
context 'when there is a member who was not added recently' do
let(:old_member) { create(:user, created_at: 102.days.ago) }
before do
Timecop.freeze(100.days.ago) do
subgroup.add_developer old_member
end
end
it 'returns the count of recently added members' do
expect(subject.new_members_count).to eq 1 # current_user
end
end
context 'when user does not have access to some members' do
let(:secret_member) { create(:user) }
before do
secret_subgroup.add_developer secret_member
end
it 'does not include those members' do
expect { secret_member }.not_to change { subject.new_members_count }
end
end
end
end end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment