Commit a6d54e0600e0a5f4d1e100267a9f2e8fbe6c0cd5
1 parent
80473b34
Exists in
master
and in
7 other branches
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 | ... | ... |