mirror of
https://github.com/codeninjasllc/discourse.git
synced 2024-11-27 17:46:05 -05:00
add tests for ListController.best_period_for
This commit is contained in:
parent
5b7f2b4488
commit
363fabd3e7
2 changed files with 29 additions and 2 deletions
|
@ -302,7 +302,7 @@ class ListController < ApplicationController
|
||||||
topic_query = TopicQuery.new(current_user, options)
|
topic_query = TopicQuery.new(current_user, options)
|
||||||
|
|
||||||
if current_user.present?
|
if current_user.present?
|
||||||
periods = [best_period_for(current_user.previous_visit_at)]
|
periods = [ListController.best_period_for(current_user.previous_visit_at)]
|
||||||
else
|
else
|
||||||
periods = TopTopic.periods
|
periods = TopTopic.periods
|
||||||
end
|
end
|
||||||
|
@ -312,7 +312,7 @@ class ListController < ApplicationController
|
||||||
top
|
top
|
||||||
end
|
end
|
||||||
|
|
||||||
def best_period_for(date)
|
def self.best_period_for(date)
|
||||||
date ||= 1.year.ago
|
date ||= 1.year.ago
|
||||||
return :yearly if date < 180.days.ago
|
return :yearly if date < 180.days.ago
|
||||||
return :monthly if date < 35.days.ago
|
return :monthly if date < 35.days.ago
|
||||||
|
|
|
@ -215,4 +215,31 @@ describe ListController do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe "best_period_for" do
|
||||||
|
|
||||||
|
it "returns yearly for more than 180 days" do
|
||||||
|
ListController.best_period_for(nil).should == :yearly
|
||||||
|
ListController.best_period_for(180.days.ago).should == :yearly
|
||||||
|
end
|
||||||
|
|
||||||
|
it "returns monthly when less than 180 days and more than 35 days" do
|
||||||
|
(35...180).each do |date|
|
||||||
|
ListController.best_period_for(date.days.ago).should == :monthly
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
it "returns weekly when less than 35 days and more than 8 days" do
|
||||||
|
(8...35).each do |date|
|
||||||
|
ListController.best_period_for(date.days.ago).should == :weekly
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
it "returns daily when less than 8 days" do
|
||||||
|
(0...8).each do |date|
|
||||||
|
ListController.best_period_for(date.days.ago).should == :daily
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue