mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
FEATURE: add group filter for admin reports (#23381)
FEATURE: add group filter for admin reports DEV: add plugin outlet for admin dashboard tabs
This commit is contained in:
@@ -2109,4 +2109,52 @@ RSpec.describe Post do
|
||||
expect(post4.canonical_url).to eq("#{topic_url}?page=2#post_#{post4.post_number}")
|
||||
end
|
||||
end
|
||||
|
||||
describe "public_posts_count_per_day" do
|
||||
before do
|
||||
freeze_time DateTime.parse("2017-03-01 12:00")
|
||||
|
||||
Fabricate(:post)
|
||||
Fabricate(:post, created_at: 1.day.ago)
|
||||
Fabricate(:post, created_at: 1.day.ago)
|
||||
Fabricate(:post, created_at: 2.days.ago)
|
||||
Fabricate(:post, created_at: 4.days.ago)
|
||||
end
|
||||
|
||||
let(:listable_topics_count_per_day) do
|
||||
{ 1.day.ago.to_date => 2, 2.days.ago.to_date => 1, Time.now.utc.to_date => 1 }
|
||||
end
|
||||
|
||||
it "collect closed interval public post count" do
|
||||
expect(Post.public_posts_count_per_day(2.days.ago, Time.now)).to include(
|
||||
listable_topics_count_per_day,
|
||||
)
|
||||
expect(Post.public_posts_count_per_day(2.days.ago, Time.now)).not_to include(
|
||||
4.days.ago.to_date => 1,
|
||||
)
|
||||
end
|
||||
|
||||
it "returns the correct number of public posts per day when there are no public posts" do
|
||||
Fabricate(:post, post_type: Post.types[:whisper], created_at: 6.days.ago)
|
||||
Fabricate(:post, post_type: Post.types[:whisper], created_at: 7.days.ago)
|
||||
|
||||
expect(Post.public_posts_count_per_day(10.days.ago, 5.days.ago)).to be_empty
|
||||
end
|
||||
|
||||
it "returns the correct number of public posts per day with group filter" do
|
||||
user = Fabricate(:user)
|
||||
group_user = Fabricate(:user)
|
||||
group = Fabricate(:group)
|
||||
group.add(group_user)
|
||||
|
||||
Fabricate(:post, user: user, created_at: 6.days.ago)
|
||||
Fabricate(:post, user: user, created_at: 7.days.ago)
|
||||
Fabricate(:post, user: group_user, created_at: 6.days.ago)
|
||||
Fabricate(:post, user: group_user, created_at: 7.days.ago)
|
||||
|
||||
expect(
|
||||
Post.public_posts_count_per_day(10.days.ago, 5.days.ago, nil, false, [group.id]),
|
||||
).to eq(6.days.ago.to_date => 1, 7.days.ago.to_date => 1)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user