mirror of
https://github.com/discourse/discourse.git
synced 2025-05-29 01:17:36 +08:00
Add specs for inactive users report
This commit is contained in:
@ -423,4 +423,55 @@ describe Report do
|
||||
expect(r.data[0][:y]).to eq(1)
|
||||
end
|
||||
end
|
||||
|
||||
describe "inactive users" do
|
||||
context "no activity" do
|
||||
it "returns an empty report" do
|
||||
report = Report.find('inactive_users')
|
||||
expect(report.data).to be_blank
|
||||
end
|
||||
end
|
||||
|
||||
context "with different users/visits" do
|
||||
before do
|
||||
freeze_time
|
||||
|
||||
@arpit = Fabricate(:user, created_at: 200.days.ago)
|
||||
@sam = Fabricate(:user, created_at: 200.days.ago)
|
||||
@robin = Fabricate(:user, created_at: 200.days.ago)
|
||||
@michael = Fabricate(:user, created_at: 200.days.ago)
|
||||
@gerhard = Fabricate(:user, created_at: 200.days.ago)
|
||||
end
|
||||
|
||||
it "returns all users as inactive" do
|
||||
report = Report.find('inactive_users')
|
||||
expect(report.data.first[:y]).to eq(5)
|
||||
expect(report.data.last[:y]).to eq(5)
|
||||
end
|
||||
|
||||
it "correctly returns inactive users" do
|
||||
@arpit.user_visits.create(visited_at: 100.days.ago)
|
||||
@sam.user_visits.create(visited_at: 100.days.ago)
|
||||
report = Report.find('inactive_users')
|
||||
expect(report.data.first[:y]).to eq(3)
|
||||
expect(report.data.last[:y]).to eq(5)
|
||||
|
||||
@arpit.user_visits.create(visited_at: 80.days.ago)
|
||||
report = Report.find('inactive_users')
|
||||
expect(report.data.first[:y]).to eq(3)
|
||||
expect(report.data.last[:y]).to eq(4)
|
||||
|
||||
@sam.user_visits.create(visited_at: 55.days.ago)
|
||||
@robin.user_visits.create(visited_at: 50.days.ago)
|
||||
report = Report.find('inactive_users')
|
||||
expect(report.data.first[:y]).to eq(2)
|
||||
expect(report.data.last[:y]).to eq(2)
|
||||
|
||||
Fabricate(:incoming_email, user: @michael, created_at: 20.days.ago, post: Fabricate(:post, user: @michael))
|
||||
report = Report.find('inactive_users')
|
||||
expect(report.data.first[:y]).to eq(2)
|
||||
expect(report.data.last[:y]).to eq(1)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
Reference in New Issue
Block a user