diff --git a/app/models/pitch.rb b/app/models/pitch.rb index 6e6109641..a6537d20c 100644 --- a/app/models/pitch.rb +++ b/app/models/pitch.rb @@ -112,7 +112,7 @@ def unapproved after_save :check_if_funded_state, :dispatch_fact_checker named_scope :most_funded, :order => 'news_items.current_funding DESC' - named_scope :featured, :conditions => {:feature => true} + named_scope :featured, :conditions => {:feature => true}, :order => 'RAND()' named_scope :almost_funded, :select => "news_items.*, case when news_items.status = 'active' then (1.0 - (news_items.current_funding / news_items.requested_amount)) else news_items.created_at end as sort_value", :order => "sort_value ASC" named_scope :sorted, lambda {|direction| { :order => "news_items.created_at #{direction}" } } named_scope :without_a_story, :conditions => 'news_items.id NOT IN (SELECT news_item_id FROM news_items WHERE news_items.type = "Story" AND news_items.status = "published")' diff --git a/spec/models/pitch_spec.rb b/spec/models/pitch_spec.rb index 204d953c2..4cb62eb2e 100644 --- a/spec/models/pitch_spec.rb +++ b/spec/models/pitch_spec.rb @@ -221,6 +221,12 @@ end end + describe "featured" do + it "should be randomized" do + Pitch.featured.proxy_options[:order].should match(/rand\(\)/i) + end + end + describe "almost funded" do before(:each) do @p = active_pitch(:requested_amount => 50, :current_funding => 20) #40 %