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,8 +28,8 @@ class SoftwareEventsBlock < Block | ||
| 28 | end | 28 | end |
| 29 | 29 | ||
| 30 | def get_events | 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 | end | 33 | end |
| 34 | 34 | ||
| 35 | def get_events_except event_slug="" | 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,9 +23,17 @@ class SoftwareEventsBlockTest < ActiveSupport::TestCase | ||
| 23 | @e3 = Event.new :name=>"Event 3", :body=>"Event 3 body", | 23 | @e3 = Event.new :name=>"Event 3", :body=>"Event 3 body", |
| 24 | :start_date=>(DateTime.now - 20.days), :end_date=>(DateTime.now - 10.days) | 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 | @community.events << @e1 | 32 | @community.events << @e1 |
| 27 | @community.events << @e2 | 33 | @community.events << @e2 |
| 28 | @community.events << @e3 | 34 | @community.events << @e3 |
| 35 | + @community.events << @e4 | ||
| 36 | + @community.events << @e5 | ||
| 29 | @community.save! | 37 | @community.save! |
| 30 | end | 38 | end |
| 31 | 39 | ||
| @@ -33,10 +41,17 @@ class SoftwareEventsBlockTest < ActiveSupport::TestCase | @@ -33,10 +41,17 @@ class SoftwareEventsBlockTest < ActiveSupport::TestCase | ||
| 33 | events = @software_events_block.get_events | 41 | events = @software_events_block.get_events |
| 34 | 42 | ||
| 35 | assert_equal false, events.include?(@e3) | 43 | assert_equal false, events.include?(@e3) |
| 44 | + assert_equal true, events.include?(@e4) | ||
| 36 | assert_equal @e2, events.first | 45 | assert_equal @e2, events.first |
| 37 | assert_equal @e1, events.last | 46 | assert_equal @e1, events.last |
| 38 | end | 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 | should "give community events except by a event with a given slug" do | 55 | should "give community events except by a event with a given slug" do |
| 41 | events = @software_events_block.get_events_except(@e1.slug) | 56 | events = @software_events_block.get_events_except(@e1.slug) |
| 42 | 57 |