Commit a6d54e0600e0a5f4d1e100267a9f2e8fbe6c0cd5

Authored by Arthur Esposte
1 parent 80473b34

Close #724. Fix event filter for software event block.

src/noosfero-spb/software_communities/lib/software_events_block.rb
... ... @@ -28,8 +28,8 @@ class SoftwareEventsBlock < Block
28 28 end
29 29  
30 30 def get_events
31   - today = DateTime.now.beginning_of_day
32   - self.owner.events.where("end_date >= ?", today).order(:start_date)
  31 + yesterday = DateTime.yesterday.end_of_day
  32 + self.owner.events.where("end_date > ? OR end_date IS NULL", yesterday).order(:start_date)
33 33 end
34 34  
35 35 def get_events_except event_slug=""
... ...
src/noosfero-spb/software_communities/test/unit/software_events_block_test.rb
... ... @@ -23,9 +23,17 @@ class SoftwareEventsBlockTest < ActiveSupport::TestCase
23 23 @e3 = Event.new :name=>"Event 3", :body=>"Event 3 body",
24 24 :start_date=>(DateTime.now - 20.days), :end_date=>(DateTime.now - 10.days)
25 25  
  26 + @e4 = Event.new :name=>"Event 4", :body=>"Event 4 body",
  27 + :start_date=>(DateTime.now), :end_date=>(DateTime.now)
  28 +
  29 + @e5 = Event.new :name=>"Event 5", :body=>"Event 5 body",
  30 + :start_date=>(DateTime.now - 5.days)
  31 +
26 32 @community.events << @e1
27 33 @community.events << @e2
28 34 @community.events << @e3
  35 + @community.events << @e4
  36 + @community.events << @e5
29 37 @community.save!
30 38 end
31 39  
... ... @@ -33,10 +41,17 @@ class SoftwareEventsBlockTest &lt; ActiveSupport::TestCase
33 41 events = @software_events_block.get_events
34 42  
35 43 assert_equal false, events.include?(@e3)
  44 + assert_equal true, events.include?(@e4)
36 45 assert_equal @e2, events.first
37 46 assert_equal @e1, events.last
38 47 end
39 48  
  49 + should "include community events that have no end date" do
  50 + events = @software_events_block.get_events
  51 +
  52 + assert_equal true, events.include?(@e5)
  53 + end
  54 +
40 55 should "give community events except by a event with a given slug" do
41 56 events = @software_events_block.get_events_except(@e1.slug)
42 57  
... ...