Commit f86f2ce23651390652e303aa53ea1714b1b6f56f
Committed by
Lucas Moura
1 parent
28016484
Close #724. Fix event filter for software event block.
Showing
2 changed files
with
17 additions
and
2 deletions
Show diff stats
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 < 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 | ... | ... |