Commit fdf745228a50447a5fd3e22d1f76b5b131c94873
Exists in
master
and in
6 other branches
Merge branch 'article_datetime' into 'master'
Put start and end dates as datetime for articles change the start_date and end_date from date to datetime See merge request !634
Showing
22 changed files
with
205 additions
and
183 deletions
Show diff stats
app/controllers/public/search_controller.rb
... | ... | @@ -92,10 +92,10 @@ class SearchController < PublicController |
92 | 92 | |
93 | 93 | def events |
94 | 94 | if params[:year].blank? && params[:year].blank? && params[:day].blank? |
95 | - @date = Date.today | |
95 | + @date = DateTime.now | |
96 | 96 | else |
97 | - year = (params[:year] ? params[:year].to_i : Date.today.year) | |
98 | - month = (params[:month] ? params[:month].to_i : Date.today.month) | |
97 | + year = (params[:year] ? params[:year].to_i : DateTime.now.year) | |
98 | + month = (params[:month] ? params[:month].to_i : DateTime.now.month) | |
99 | 99 | day = (params[:day] ? params[:day].to_i : 1) |
100 | 100 | @date = build_date(year, month, day) |
101 | 101 | end |
... | ... | @@ -106,9 +106,7 @@ class SearchController < PublicController |
106 | 106 | @events = @category ? |
107 | 107 | environment.events.by_day(@date).in_category(Category.find(@category_id)).paginate(:per_page => per_page, :page => params[:page]) : |
108 | 108 | environment.events.by_day(@date).paginate(:per_page => per_page, :page => params[:page]) |
109 | - end | |
110 | - | |
111 | - if params[:year] || params[:month] | |
109 | + elsif params[:year] || params[:month] | |
112 | 110 | @events = @category ? |
113 | 111 | environment.events.by_month(@date).in_category(Category.find(@category_id)).paginate(:per_page => per_page, :page => params[:page]) : |
114 | 112 | environment.events.by_month(@date).paginate(:per_page => per_page, :page => params[:page]) | ... | ... |
app/helpers/content_viewer_helper.rb
... | ... | @@ -51,7 +51,7 @@ module ContentViewerHelper |
51 | 51 | elsif date_format == 'past_time' |
52 | 52 | left_time = true |
53 | 53 | end |
54 | - content_tag('span', show_date(article.published_at, use_numbers , year, left_time), :class => 'date') | |
54 | + content_tag('span', show_time(article.published_at, use_numbers , year, left_time), :class => 'date') | |
55 | 55 | end |
56 | 56 | |
57 | 57 | def link_to_comments(article, args = {}) | ... | ... |
app/helpers/dates_helper.rb
... | ... | @@ -43,9 +43,14 @@ module DatesHelper |
43 | 43 | end |
44 | 44 | |
45 | 45 | # formats a datetime for displaying. |
46 | - def show_time(time) | |
47 | - if time | |
48 | - _('%{day} %{month} %{year}, %{hour}:%{minutes}') % { :year => time.year, :month => month_name(time.month), :day => time.day, :hour => time.hour, :minutes => time.strftime("%M") } | |
46 | + def show_time(time, use_numbers = false, year = true, left_time = false) | |
47 | + if time && use_numbers | |
48 | + _('%{month}/%{day}/%{year}, %{hour}:%{minutes}') % { :year => (year ? time.year : ''), :month => time.month, :day => time.day, :hour => time.hour, :minutes => time.strftime("%M") } | |
49 | + elsif time && left_time | |
50 | + date_format = time_ago_in_words(time) | |
51 | + elsif time | |
52 | + date_format = year ? _('%{month_name} %{day}, %{year} %{hour}:%{minutes}') : _('%{month_name} %{day} %{hour}:%{minutes}') | |
53 | + date_format % { :day => time.day, :month_name => month_name(time.month), :year => time.year, :hour => time.hour, :minutes => time.strftime("%M") } | |
49 | 54 | else |
50 | 55 | '' |
51 | 56 | end |
... | ... | @@ -53,7 +58,7 @@ module DatesHelper |
53 | 58 | |
54 | 59 | def show_period(date1, date2 = nil, use_numbers = false) |
55 | 60 | if (date1 == date2) || (date2.nil?) |
56 | - show_date(date1, use_numbers) | |
61 | + show_time(date1, use_numbers) | |
57 | 62 | else |
58 | 63 | if date1.year == date2.year |
59 | 64 | if date1.month == date2.month |
... | ... | @@ -72,8 +77,8 @@ module DatesHelper |
72 | 77 | end |
73 | 78 | else |
74 | 79 | _('from %{date1} to %{date2}') % { |
75 | - :date1 => show_date(date1, use_numbers), | |
76 | - :date2 => show_date(date2, use_numbers) | |
80 | + :date1 => show_time(date1, use_numbers), | |
81 | + :date2 => show_time(date2, use_numbers) | |
77 | 82 | } |
78 | 83 | end |
79 | 84 | end |
... | ... | @@ -106,18 +111,18 @@ module DatesHelper |
106 | 111 | |
107 | 112 | def build_date(year, month, day = 1) |
108 | 113 | if year.blank? and month.blank? and day.blank? |
109 | - Date.today | |
114 | + DateTime.now | |
110 | 115 | else |
111 | 116 | if year.blank? |
112 | - year = Date.today.year | |
117 | + year = DateTime.now.year | |
113 | 118 | end |
114 | 119 | if month.blank? |
115 | - month = Date.today.month | |
120 | + month = DateTime.now.month | |
116 | 121 | end |
117 | 122 | if day.blank? |
118 | 123 | day = 1 |
119 | 124 | end |
120 | - Date.new(year.to_i, month.to_i, day.to_i) | |
125 | + DateTime.new(year.to_i, month.to_i, day.to_i) | |
121 | 126 | end |
122 | 127 | end |
123 | 128 | ... | ... |
app/helpers/events_helper.rb
... | ... | @@ -16,7 +16,7 @@ module EventsHelper |
16 | 16 | |
17 | 17 | content_tag( 'tr', |
18 | 18 | content_tag('td', |
19 | - content_tag('div', show_date(article.start_date) + ( article.end_date.nil? ? '' : (_(" to ") + show_date(article.end_date))),:class => 'event-date' ) + | |
19 | + content_tag('div', show_time(article.start_date) + ( article.end_date.nil? ? '' : (_(" to ") + show_time(article.end_date))),:class => 'event-date' ) + | |
20 | 20 | content_tag('div',link_to(article.name,article.url),:class => 'event-title') + |
21 | 21 | content_tag('div',(article.address.nil? or article.address == '') ? '' : (_('Place: ') + article.address),:class => 'event-place') |
22 | 22 | ) | ... | ... |
app/helpers/forms_helper.rb
... | ... | @@ -151,7 +151,7 @@ module FormsHelper |
151 | 151 | datepicker_options[:close_text] ||= _('Done') |
152 | 152 | datepicker_options[:constrain_input] ||= true |
153 | 153 | datepicker_options[:current_text] ||= _('Today') |
154 | - datepicker_options[:date_format] ||= 'mm/dd/yy' | |
154 | + datepicker_options[:date_format] ||= 'yy/mm/dd' | |
155 | 155 | datepicker_options[:day_names] ||= [_('Sunday'), _('Monday'), _('Tuesday'), _('Wednesday'), _('Thursday'), _('Friday'), _('Saturday')] |
156 | 156 | datepicker_options[:day_names_min] ||= [_('Su'), _('Mo'), _('Tu'), _('We'), _('Th'), _('Fr'), _('Sa')] |
157 | 157 | datepicker_options[:day_names_short] ||= [_('Sun'), _('Mon'), _('Tue'), _('Wed'), _('Thu'), _('Fri'), _('Sat')] |
... | ... | @@ -236,7 +236,7 @@ module FormsHelper |
236 | 236 | weekHeader: #{datepicker_options[:week_header].to_json}, |
237 | 237 | yearRange: #{datepicker_options[:year_range].to_json}, |
238 | 238 | yearSuffix: #{datepicker_options[:year_suffix].to_json} |
239 | - }) | |
239 | + }).datepicker('setDate', new Date('#{value}')) | |
240 | 240 | </script> |
241 | 241 | ".html_safe |
242 | 242 | result | ... | ... |
app/models/event.rb
... | ... | @@ -23,7 +23,7 @@ class Event < Article |
23 | 23 | |
24 | 24 | def initialize(*args) |
25 | 25 | super(*args) |
26 | - self.start_date ||= Date.today | |
26 | + self.start_date ||= DateTime.now | |
27 | 27 | end |
28 | 28 | |
29 | 29 | validates_presence_of :title, :start_date |
... | ... | @@ -35,7 +35,7 @@ class Event < Article |
35 | 35 | end |
36 | 36 | |
37 | 37 | scope :by_day, lambda { |date| |
38 | - { :conditions => ['start_date = :date AND end_date IS NULL OR (start_date <= :date AND end_date >= :date)', {:date => date}], | |
38 | + { :conditions => [' start_date >= :start_date AND start_date <= :end_date AND end_date IS NULL OR (start_date <= :end_date AND end_date >= :start_date)', {:start_date => date.beginning_of_day, :end_date => date.end_of_day}], | |
39 | 39 | :order => 'start_date ASC' |
40 | 40 | } |
41 | 41 | } |
... | ... | @@ -80,7 +80,7 @@ class Event < Article |
80 | 80 | |
81 | 81 | def self.date_range(year, month) |
82 | 82 | if year.nil? || month.nil? |
83 | - today = Date.today | |
83 | + today = DateTime.now | |
84 | 84 | year = today.year |
85 | 85 | month = today.month |
86 | 86 | else |
... | ... | @@ -88,7 +88,7 @@ class Event < Article |
88 | 88 | month = month.to_i |
89 | 89 | end |
90 | 90 | |
91 | - first_day = Date.new(year, month, 1) | |
91 | + first_day = DateTime.new(year, month, 1) | |
92 | 92 | last_day = first_day + 1.month - 1.day |
93 | 93 | |
94 | 94 | first_day..last_day |
... | ... | @@ -114,7 +114,7 @@ class Event < Article |
114 | 114 | end |
115 | 115 | |
116 | 116 | def duration |
117 | - ((self.end_date || self.start_date) - self.start_date).to_i | |
117 | + (((self.end_date || self.start_date) - self.start_date).to_i/60/60/24) | |
118 | 118 | end |
119 | 119 | |
120 | 120 | alias_method :article_lead, :lead | ... | ... |
app/views/cms/_event.html.erb
... | ... | @@ -8,9 +8,8 @@ |
8 | 8 | <%= render :partial => 'general_fields' %> |
9 | 9 | <%= render :partial => 'translatable' %> |
10 | 10 | |
11 | -<%= labelled_form_field(_('Start date'), pick_date(:article, :start_date)) %> | |
11 | +<%= date_range_field('article[start_date]', 'article[end_date]', @article.start_date, @article.end_date, _('%Y-%m-%d %H:%M'), {:time => true}, {:id => 'article_start_date'} ) %> | |
12 | 12 | |
13 | -<%= labelled_form_field(_('End date'), pick_date(:article, :end_date)) %> | |
14 | 13 | |
15 | 14 | <%= labelled_form_field(_('Event website:'), text_field(:article, :link)) %> |
16 | 15 | ... | ... |
app/views/content_viewer/_publishing_info.html.erb
db/migrate/20150722042714_change_article_date_to_datetime.rb
0 → 100644
... | ... | @@ -0,0 +1,27 @@ |
1 | +class ChangeArticleDateToDatetime < ActiveRecord::Migration | |
2 | + | |
3 | + def up | |
4 | + change_table :articles do |t| | |
5 | + t.change :start_date, :datetime | |
6 | + t.change :end_date, :datetime | |
7 | + end | |
8 | + | |
9 | + change_table :article_versions do |t| | |
10 | + t.change :start_date, :datetime | |
11 | + t.change :end_date, :datetime | |
12 | + end | |
13 | + end | |
14 | + | |
15 | + def down | |
16 | + change_table :articles do |t| | |
17 | + t.change :start_date, :date | |
18 | + t.change :end_date, :date | |
19 | + end | |
20 | + | |
21 | + change_table :article_versions do |t| | |
22 | + t.change :start_date, :date | |
23 | + t.change :end_date, :date | |
24 | + end | |
25 | + end | |
26 | + | |
27 | +end | ... | ... |
plugins/community_track/lib/community_track_plugin/step.rb
... | ... | @@ -29,8 +29,8 @@ class CommunityTrackPlugin::Step < Folder |
29 | 29 | |
30 | 30 | def initialize(*args) |
31 | 31 | super(*args) |
32 | - self.start_date ||= Date.today | |
33 | - self.end_date ||= Date.today + 1.day | |
32 | + self.start_date ||= DateTime.now | |
33 | + self.end_date ||= DateTime.now + 1.day | |
34 | 34 | end |
35 | 35 | |
36 | 36 | def set_hidden_position |
... | ... | @@ -72,20 +72,20 @@ class CommunityTrackPlugin::Step < Folder |
72 | 72 | end |
73 | 73 | |
74 | 74 | def active? |
75 | - (start_date..end_date).include?(Date.today) | |
75 | + (start_date..end_date).cover?(DateTime.now) | |
76 | 76 | end |
77 | 77 | |
78 | 78 | def finished? |
79 | - Date.today > end_date | |
79 | + DateTime.now > end_date | |
80 | 80 | end |
81 | 81 | |
82 | 82 | def waiting? |
83 | - Date.today < start_date | |
83 | + DateTime.now < start_date | |
84 | 84 | end |
85 | 85 | |
86 | 86 | def schedule_activation |
87 | 87 | return if !changes['start_date'] && !changes['end_date'] |
88 | - if Date.today <= end_date || accept_comments | |
88 | + if DateTime.now <= end_date || accept_comments | |
89 | 89 | schedule_date = !accept_comments ? start_date : end_date + 1.day |
90 | 90 | CommunityTrackPlugin::ActivationJob.find(id).destroy_all |
91 | 91 | Delayed::Job.enqueue(CommunityTrackPlugin::ActivationJob.new(self.id), :run_at => schedule_date) | ... | ... |
plugins/community_track/test/functional/community_track_plugin_content_viewer_controller_test.rb
... | ... | @@ -6,7 +6,7 @@ class ContentViewerControllerTest < ActionController::TestCase |
6 | 6 | def setup |
7 | 7 | @profile = Community.create!(:name => 'Sample community', :identifier => 'sample-community') |
8 | 8 | @track = create_track('track', @profile) |
9 | - @step = CommunityTrackPlugin::Step.create!(:name => 'step1', :body => 'body', :profile => @profile, :parent => @track, :published => false, :end_date => Date.today, :start_date => Date.today, :tool_type => TinyMceArticle.name) | |
9 | + @step = CommunityTrackPlugin::Step.create!(:name => 'step1', :body => 'body', :profile => @profile, :parent => @track, :published => false, :end_date => DateTime.now.end_of_day, :start_date => DateTime.now.beginning_of_day, :tool_type => TinyMceArticle.name) | |
10 | 10 | |
11 | 11 | user = create_user('testinguser') |
12 | 12 | login_as(user.login) | ... | ... |
plugins/community_track/test/unit/community_track_plugin/step_test.rb
... | ... | @@ -9,7 +9,7 @@ class StepTest < ActiveSupport::TestCase |
9 | 9 | @track.add_category(@category) |
10 | 10 | @track.save! |
11 | 11 | |
12 | - @step = CommunityTrackPlugin::Step.new(:name => 'Step', :body => 'body', :profile => @profile, :parent => @track, :published => false, :end_date => Date.today, :start_date => Date.today) | |
12 | + @step = CommunityTrackPlugin::Step.new(:name => 'Step', :body => 'body', :profile => @profile, :parent => @track, :published => false, :end_date => DateTime.now.end_of_day, :start_date => DateTime.now.beginning_of_day - 1.day) | |
13 | 13 | Delayed::Job.destroy_all |
14 | 14 | end |
15 | 15 | |
... | ... | @@ -22,39 +22,39 @@ class StepTest < ActiveSupport::TestCase |
22 | 22 | end |
23 | 23 | |
24 | 24 | should 'set accept_comments to false on create' do |
25 | - today = Date.today | |
25 | + today = DateTime.now | |
26 | 26 | step = CommunityTrackPlugin::Step.create(:name => 'Step', :body => 'body', :profile => @profile, :parent => @track, :start_date => today, :end_date => today, :published => true) |
27 | 27 | refute step.accept_comments |
28 | 28 | end |
29 | 29 | |
30 | 30 | should 'do not allow step creation with a parent that is not a track' do |
31 | - today = Date.today | |
31 | + today = DateTime.now | |
32 | 32 | blog = fast_create(Blog) |
33 | 33 | step = CommunityTrackPlugin::Step.new(:name => 'Step', :body => 'body', :profile => @profile, :parent => blog, :start_date => today, :end_date => today, :published => true) |
34 | 34 | refute step.save |
35 | 35 | end |
36 | 36 | |
37 | 37 | should 'do not allow step creation without a parent' do |
38 | - today = Date.today | |
38 | + today = DateTime.now | |
39 | 39 | step = CommunityTrackPlugin::Step.new(:name => 'Step', :body => 'body', :profile => @profile, :parent => nil, :start_date => today, :end_date => today, :published => true) |
40 | 40 | refute step.save |
41 | 41 | end |
42 | 42 | |
43 | 43 | should 'create step if end date is equal to start date' do |
44 | - @step.start_date = Date.today | |
45 | - @step.end_date = Date.today | |
44 | + @step.start_date = DateTime.now | |
45 | + @step.end_date = DateTime.now | |
46 | 46 | assert @step.save |
47 | 47 | end |
48 | 48 | |
49 | 49 | should 'create step if end date is after start date' do |
50 | - @step.start_date = Date.today | |
51 | - @step.end_date = Date.today + 1.day | |
50 | + @step.start_date = DateTime.now | |
51 | + @step.end_date = DateTime.now + 1.day | |
52 | 52 | assert @step.save |
53 | 53 | end |
54 | 54 | |
55 | 55 | should 'do not create step if end date is before start date' do |
56 | - @step.start_date = Date.today | |
57 | - @step.end_date = Date.today - 1.day | |
56 | + @step.start_date = DateTime.now | |
57 | + @step.end_date = DateTime.now - 1.day | |
58 | 58 | refute @step.save |
59 | 59 | end |
60 | 60 | |
... | ... | @@ -71,20 +71,20 @@ class StepTest < ActiveSupport::TestCase |
71 | 71 | end |
72 | 72 | |
73 | 73 | should 'be active if today is between start and end dates' do |
74 | - @step.start_date = Date.today | |
75 | - @step.end_date = Date.today + 1.day | |
74 | + @step.start_date = DateTime.now | |
75 | + @step.end_date = DateTime.now + 1.day | |
76 | 76 | assert @step.active? |
77 | 77 | end |
78 | 78 | |
79 | 79 | should 'be finished if today is after the end date' do |
80 | - @step.start_date = Date.today - 2.day | |
81 | - @step.end_date = Date.today - 1.day | |
80 | + @step.start_date = DateTime.now - 2.day | |
81 | + @step.end_date = DateTime.now - 1.day | |
82 | 82 | assert @step.finished? |
83 | 83 | end |
84 | 84 | |
85 | 85 | should 'be waiting if today is before the end date' do |
86 | - @step.start_date = Date.today + 1.day | |
87 | - @step.end_date = Date.today + 2.day | |
86 | + @step.start_date = DateTime.now + 1.day | |
87 | + @step.end_date = DateTime.now + 2.day | |
88 | 88 | assert @step.waiting? |
89 | 89 | end |
90 | 90 | |
... | ... | @@ -95,17 +95,17 @@ class StepTest < ActiveSupport::TestCase |
95 | 95 | end |
96 | 96 | |
97 | 97 | should 'create delayed job' do |
98 | - @step.start_date = Date.today | |
99 | - @step.end_date = Date.today | |
98 | + @step.start_date = DateTime.now.beginning_of_day | |
99 | + @step.end_date = DateTime.now.end_of_day | |
100 | 100 | @step.accept_comments = false |
101 | 101 | @step.schedule_activation |
102 | 102 | assert_equal 1, Delayed::Job.count |
103 | - assert_equal @step.start_date, Delayed::Job.first.run_at.to_date | |
103 | + assert_equal @step.start_date, Delayed::Job.first.run_at | |
104 | 104 | end |
105 | 105 | |
106 | 106 | should 'do not duplicate delayed job' do |
107 | - @step.start_date = Date.today | |
108 | - @step.end_date = Date.today | |
107 | + @step.start_date = DateTime.now | |
108 | + @step.end_date = DateTime.now | |
109 | 109 | @step.schedule_activation |
110 | 110 | assert_equal 1, Delayed::Job.count |
111 | 111 | @step.schedule_activation |
... | ... | @@ -113,30 +113,30 @@ class StepTest < ActiveSupport::TestCase |
113 | 113 | end |
114 | 114 | |
115 | 115 | should 'create delayed job when a step is saved' do |
116 | - @step.start_date = Date.today | |
117 | - @step.end_date = Date.today | |
116 | + @step.start_date = DateTime.now.beginning_of_day | |
117 | + @step.end_date = DateTime.now.end_of_day | |
118 | 118 | @step.save! |
119 | - assert_equal @step.start_date, Delayed::Job.first.run_at.to_date | |
119 | + assert_equal @step.start_date, Delayed::Job.first.run_at | |
120 | 120 | end |
121 | 121 | |
122 | 122 | should 'create delayed job even if start date has passed' do |
123 | - @step.start_date = Date.today - 2.days | |
124 | - @step.end_date = Date.today | |
123 | + @step.start_date = DateTime.now - 2.days | |
124 | + @step.end_date = DateTime.now.end_of_day | |
125 | 125 | @step.accept_comments = false |
126 | 126 | @step.schedule_activation |
127 | - assert_equal @step.start_date, Delayed::Job.first.run_at.to_date | |
127 | + assert_equal @step.start_date, Delayed::Job.first.run_at | |
128 | 128 | end |
129 | 129 | |
130 | 130 | should 'create delayed job if end date has passed' do |
131 | - @step.start_date = Date.today - 5.days | |
132 | - @step.end_date = Date.today - 2.days | |
131 | + @step.start_date = DateTime.now - 5.days | |
132 | + @step.end_date = DateTime.now - 2.days | |
133 | 133 | @step.schedule_activation |
134 | - assert_equal @step.end_date + 1.day, Delayed::Job.first.run_at.to_date | |
134 | + assert_equal @step.end_date + 1.day, Delayed::Job.first.run_at | |
135 | 135 | end |
136 | 136 | |
137 | 137 | should 'do not schedule delayed job if save but do not modify date fields' do |
138 | - @step.start_date = Date.today | |
139 | - @step.end_date = Date.today | |
138 | + @step.start_date = DateTime.now | |
139 | + @step.end_date = DateTime.now.end_of_day | |
140 | 140 | @step.save! |
141 | 141 | assert_equal 1, Delayed::Job.count |
142 | 142 | Delayed::Job.destroy_all |
... | ... | @@ -149,13 +149,13 @@ class StepTest < ActiveSupport::TestCase |
149 | 149 | refute @step.position |
150 | 150 | @step.save! |
151 | 151 | assert_equal 1, @step.position |
152 | - step2 = CommunityTrackPlugin::Step.new(:name => 'Step2', :body => 'body', :profile => @profile, :parent => @track, :published => false, :end_date => Date.today, :start_date => Date.today) | |
152 | + step2 = CommunityTrackPlugin::Step.new(:name => 'Step2', :body => 'body', :profile => @profile, :parent => @track, :published => false, :end_date => DateTime.now.end_of_day, :start_date => DateTime.now.beginning_of_day) | |
153 | 153 | step2.save! |
154 | 154 | assert_equal 2, step2.position |
155 | 155 | end |
156 | 156 | |
157 | 157 | should 'accept comments if step is active' do |
158 | - @step.start_date = Date.today | |
158 | + @step.start_date = DateTime.now | |
159 | 159 | @step.save! |
160 | 160 | refute @step.accept_comments |
161 | 161 | @step.toggle_activation |
... | ... | @@ -164,8 +164,8 @@ class StepTest < ActiveSupport::TestCase |
164 | 164 | end |
165 | 165 | |
166 | 166 | should 'do not accept comments if step is not active' do |
167 | - @step.start_date = Date.today + 2.days | |
168 | - @step.end_date = Date.today + 3.days | |
167 | + @step.start_date = DateTime.now + 2.days | |
168 | + @step.end_date = DateTime.now + 3.days | |
169 | 169 | @step.save! |
170 | 170 | refute @step.published |
171 | 171 | @step.toggle_activation |
... | ... | @@ -174,14 +174,14 @@ class StepTest < ActiveSupport::TestCase |
174 | 174 | end |
175 | 175 | |
176 | 176 | should 'do not accept comments if step is not active anymore' do |
177 | - @step.start_date = Date.today | |
177 | + @step.end_date = DateTime.now.end_of_day | |
178 | 178 | @step.save! |
179 | 179 | @step.toggle_activation |
180 | 180 | @step.reload |
181 | 181 | assert @step.accept_comments |
182 | 182 | |
183 | - @step.start_date = Date.today - 2.days | |
184 | - @step.end_date = Date.today - 1.day | |
183 | + @step.start_date = DateTime.now - 2.days | |
184 | + @step.end_date = DateTime.now - 1.day | |
185 | 185 | @step.save! |
186 | 186 | @step.toggle_activation |
187 | 187 | @step.reload |
... | ... | @@ -203,7 +203,7 @@ class StepTest < ActiveSupport::TestCase |
203 | 203 | end |
204 | 204 | |
205 | 205 | should 'change position to botton if a hidden step becomes visible' do |
206 | - step1 = CommunityTrackPlugin::Step.new(:name => 'Step1', :body => 'body', :profile => @profile, :parent => @track, :published => false, :end_date => Date.today, :start_date => Date.today) | |
206 | + step1 = CommunityTrackPlugin::Step.new(:name => 'Step1', :body => 'body', :profile => @profile, :parent => @track, :published => false, :end_date => DateTime.now.end_of_day, :start_date => DateTime.now.beginning_of_day) | |
207 | 207 | step1.save! |
208 | 208 | @step.hidden = true |
209 | 209 | @step.save! |
... | ... | @@ -215,7 +215,7 @@ class StepTest < ActiveSupport::TestCase |
215 | 215 | |
216 | 216 | should 'decrement lower items positions if a step becomes hidden' do |
217 | 217 | @step.save! |
218 | - step1 = CommunityTrackPlugin::Step.new(:name => 'Step1', :body => 'body', :profile => @profile, :parent => @track, :published => false, :end_date => Date.today, :start_date => Date.today) | |
218 | + step1 = CommunityTrackPlugin::Step.new(:name => 'Step1', :body => 'body', :profile => @profile, :parent => @track, :published => false, :end_date => DateTime.now.end_of_day, :start_date => DateTime.now.beginning_of_day) | |
219 | 219 | step1.save! |
220 | 220 | assert_equal 2, step1.position |
221 | 221 | @step.hidden = true |
... | ... | @@ -225,7 +225,7 @@ class StepTest < ActiveSupport::TestCase |
225 | 225 | end |
226 | 226 | |
227 | 227 | should 'do not publish a hidden step' do |
228 | - @step.start_date = Date.today | |
228 | + @step.start_date = DateTime.now | |
229 | 229 | @step.hidden = true |
230 | 230 | @step.save! |
231 | 231 | refute @step.published |
... | ... | @@ -266,7 +266,7 @@ class StepTest < ActiveSupport::TestCase |
266 | 266 | end |
267 | 267 | |
268 | 268 | should 'enable comments on children when step is activated' do |
269 | - @step.start_date = Date.today | |
269 | + @step.start_date = DateTime.now | |
270 | 270 | @step.save! |
271 | 271 | refute @step.accept_comments |
272 | 272 | article = fast_create(Article, :parent_id => @step.id, :profile_id => @step.profile.id, :accept_comments => false) |
... | ... | @@ -276,8 +276,7 @@ class StepTest < ActiveSupport::TestCase |
276 | 276 | end |
277 | 277 | |
278 | 278 | should 'enable comments on children when step is active' do |
279 | - @step.start_date = Date.today | |
280 | - @step.start_date = Date.today | |
279 | + @step.start_date = DateTime.now | |
281 | 280 | @step.save! |
282 | 281 | refute @step.accept_comments |
283 | 282 | @step.toggle_activation | ... | ... |
plugins/event/lib/event_plugin/event_block.rb
... | ... | @@ -30,13 +30,13 @@ class EventPlugin::EventBlock < Block |
30 | 30 | events = user.nil? ? events.public : events.display_filter(user,nil) |
31 | 31 | |
32 | 32 | if future_only |
33 | - events = events.where('start_date >= ?', Date.today) | |
33 | + events = events.where('start_date >= ?', DateTime.now.beginning_of_day) | |
34 | 34 | end |
35 | 35 | |
36 | 36 | if date_distance_limit > 0 |
37 | 37 | events = events.by_range([ |
38 | - Date.today - date_distance_limit, | |
39 | - Date.today + date_distance_limit | |
38 | + DateTime.now.beginning_of_day - date_distance_limit, | |
39 | + DateTime.now.beginning_of_day + date_distance_limit | |
40 | 40 | ]) |
41 | 41 | end |
42 | 42 | ... | ... |
plugins/event/test/functional/event_block_test.rb
1 | 1 | require File.dirname(__FILE__) + '/../../../../test/test_helper' |
2 | 2 | |
3 | + | |
3 | 4 | # Re-raise errors caught by the controller. |
4 | 5 | class HomeController |
5 | - #append_view_path File.join(File.dirname(__FILE__) + '/../../views') | |
6 | + append_view_path File.join(File.dirname(__FILE__) + '/../../views') | |
6 | 7 | def rescue_action(e) |
7 | 8 | raise e |
8 | 9 | end |
... | ... | @@ -15,7 +16,7 @@ class HomeControllerTest < ActionController::TestCase |
15 | 16 | @env.enable_plugin('EventPlugin') |
16 | 17 | |
17 | 18 | @p1 = fast_create(Person, :environment_id => @env.id) |
18 | - @e1a = fast_create(Event, :name=>'Event p1 A', :profile_id=>@p1.id) | |
19 | + @e1a = Event.create!(:name=>'Event p1 A', :profile =>@p1) | |
19 | 20 | |
20 | 21 | box = Box.create!(:owner => @env) |
21 | 22 | @block = EventPlugin::EventBlock.create!(:box => box) |
... | ... | @@ -27,6 +28,7 @@ class HomeControllerTest < ActionController::TestCase |
27 | 28 | |
28 | 29 | should 'see events microdata sturcture' do |
29 | 30 | get :index |
31 | +#raise response.body.inspect | |
30 | 32 | assert_select '.event-plugin_event-block ul.events' |
31 | 33 | assert_select ev |
32 | 34 | assert_select ev + 'a[itemprop="url"]' |
... | ... | @@ -41,15 +43,15 @@ class HomeControllerTest < ActionController::TestCase |
41 | 43 | |
42 | 44 | should 'see event duration' do |
43 | 45 | @e1a.slug = 'event1a' |
44 | - @e1a.start_date = Date.today | |
45 | - @e1a.end_date = Date.today + 1.day | |
46 | + @e1a.start_date = DateTime.now | |
47 | + @e1a.end_date = DateTime.now + 1.day | |
46 | 48 | @e1a.save! |
47 | 49 | get :index |
48 | 50 | assert_select ev + 'time.duration[itemprop="endDate"]', /1 day/ |
49 | 51 | |
50 | 52 | @e1a.slug = 'event1a' |
51 | - @e1a.start_date = Date.today | |
52 | - @e1a.end_date = Date.today + 2.day | |
53 | + @e1a.start_date = DateTime.now | |
54 | + @e1a.end_date = DateTime.now + 2.day | |
53 | 55 | @e1a.save! |
54 | 56 | get :index |
55 | 57 | assert_select ev + 'time.duration[itemprop="endDate"]', /2 days/ |
... | ... | @@ -60,8 +62,8 @@ class HomeControllerTest < ActionController::TestCase |
60 | 62 | assert_select ev + 'time.duration[itemprop="endDate"]', false |
61 | 63 | |
62 | 64 | @e1a.slug = 'event1a' |
63 | - @e1a.start_date = Date.today | |
64 | - @e1a.end_date = Date.today | |
65 | + @e1a.start_date = DateTime.now | |
66 | + @e1a.end_date = DateTime.now | |
65 | 67 | @e1a.save! |
66 | 68 | get :index |
67 | 69 | assert_select ev + 'time.duration[itemprop="endDate"]', false | ... | ... |
plugins/event/views/blocks/event.html.erb
... | ... | @@ -2,7 +2,7 @@ |
2 | 2 | |
3 | 3 | <ul class="events"> |
4 | 4 | <% block.events(user).map do |event| %> |
5 | - <% days_left = ( event.start_date - Date.today ).round %> | |
5 | + <% days_left = ( (event.start_date - DateTime.now)/60/60/24 ).round %> | |
6 | 6 | <li itemscope="itemscope" itemtype="http://data-vocabulary.org/Event" class="event"> |
7 | 7 | <%= render( |
8 | 8 | :file => 'event_plugin/event_block_item', | ... | ... |
public/designs/themes/base/style.scss
... | ... | @@ -1505,7 +1505,8 @@ table#recaptcha_table tr:hover td { |
1505 | 1505 | |
1506 | 1506 | .event-date { |
1507 | 1507 | background: url('/images/calendar_date_select/calendar-icon.png') no-repeat left center; |
1508 | - padding: 5px; | |
1508 | + padding: 2px; | |
1509 | + padding-left: 15px; | |
1509 | 1510 | } |
1510 | 1511 | |
1511 | 1512 | .event-link { | ... | ... |
test/functional/events_controller_test.rb
... | ... | @@ -8,12 +8,12 @@ class EventsControllerTest < ActionController::TestCase |
8 | 8 | attr_reader :profile |
9 | 9 | |
10 | 10 | should 'list today events by default' do |
11 | - profile.events << Event.new(:name => 'Joao Birthday', :start_date => Date.today) | |
12 | - profile.events << Event.new(:name => 'Maria Birthday', :start_date => Date.today) | |
11 | + profile.events << Event.new(:name => 'Joao Birthday', :start_date => DateTime.now) | |
12 | + profile.events << Event.new(:name => 'Maria Birthday', :start_date => DateTime.now) | |
13 | 13 | |
14 | 14 | get :events, :profile => profile.identifier |
15 | 15 | |
16 | - today = Date.today.strftime("%B %d, %Y") | |
16 | + today = DateTime.now.strftime("%B %d, %Y") | |
17 | 17 | assert_tag :tag => 'div', :attributes => {:id => "agenda-items"}, |
18 | 18 | :descendant => {:tag => 'h3', :content => "Events for #{today}"}, |
19 | 19 | :descendant => {:tag => 'tr', :content => "Joao Birthday"}, |
... | ... | @@ -23,15 +23,15 @@ class EventsControllerTest < ActionController::TestCase |
23 | 23 | should 'display calendar of current month' do |
24 | 24 | get :events, :profile => profile.identifier |
25 | 25 | |
26 | - month = Date.today.strftime("%B %Y") | |
26 | + month = DateTime.now.strftime("%B %Y") | |
27 | 27 | assert_tag :tag => 'table', :attributes => {:class => /current-month/}, :descendant => {:tag => 'caption', :content => /#{month}/} |
28 | 28 | end |
29 | 29 | |
30 | 30 | should 'display links to previous and next month' do |
31 | 31 | get :events, :profile => profile.identifier |
32 | 32 | |
33 | - prev_month = Date.today - 1.month | |
34 | - next_month = Date.today + 1.month | |
33 | + prev_month = DateTime.now - 1.month | |
34 | + next_month = DateTime.now + 1.month | |
35 | 35 | prev_month_name = prev_month.strftime("%B") |
36 | 36 | next_month_name = next_month.strftime("%B") |
37 | 37 | assert_tag :tag =>'a', :attributes => {:href => "/profile/#{profile.identifier}/events/#{prev_month.year}/#{prev_month.month}"}, :content => prev_month_name |
... | ... | @@ -40,14 +40,14 @@ class EventsControllerTest < ActionController::TestCase |
40 | 40 | |
41 | 41 | should 'see the events paginated' do |
42 | 42 | 30.times do |i| |
43 | - profile.events << Event.new(:name => "Lesson #{i}", :start_date => Date.today) | |
43 | + profile.events << Event.new(:name => "Lesson #{i}", :start_date => DateTime.now) | |
44 | 44 | end |
45 | 45 | get :events, :profile => profile.identifier |
46 | 46 | assert_equal 20, assigns(:events).size |
47 | 47 | end |
48 | 48 | |
49 | 49 | should 'show events of specific day' do |
50 | - profile.events << Event.new(:name => 'Joao Birthday', :start_date => Date.new(2009, 10, 28)) | |
50 | + profile.events << Event.new(:name => 'Joao Birthday', :start_date => DateTime.new(2009, 10, 28)) | |
51 | 51 | |
52 | 52 | get :events_by_day, :profile => profile.identifier, :year => 2009, :month => 10, :day => 28 |
53 | 53 | ... | ... |
test/functional/search_controller_test.rb
... | ... | @@ -305,7 +305,7 @@ class SearchControllerTest < ActionController::TestCase |
305 | 305 | |
306 | 306 | should 'search for events' do |
307 | 307 | person = create_user('teste').person |
308 | - event = create_event(person, :name => 'an event to be found', :start_date => Date.today) | |
308 | + event = create_event(person, :name => 'an event to be found', :start_date => DateTime.now) | |
309 | 309 | |
310 | 310 | get :events, :query => 'event to be found' |
311 | 311 | |
... | ... | @@ -314,10 +314,10 @@ class SearchControllerTest < ActionController::TestCase |
314 | 314 | |
315 | 315 | should 'return events of the day' do |
316 | 316 | person = create_user('someone').person |
317 | - ten_days_ago = Date.today - 10.day | |
317 | + ten_days_ago = DateTime.now - 10.day | |
318 | 318 | |
319 | 319 | ev1 = create_event(person, :name => 'event 1', :category_ids => [@category.id], :start_date => ten_days_ago) |
320 | - ev2 = create_event(person, :name => 'event 2', :category_ids => [@category.id], :start_date => Date.today - 2.month) | |
320 | + ev2 = create_event(person, :name => 'event 2', :category_ids => [@category.id], :start_date => DateTime.now - 2.month) | |
321 | 321 | |
322 | 322 | get :events, :day => ten_days_ago.day, :month => ten_days_ago.month, :year => ten_days_ago.year |
323 | 323 | assert_equal [ev1], assigns(:events) |
... | ... | @@ -325,9 +325,11 @@ class SearchControllerTest < ActionController::TestCase |
325 | 325 | |
326 | 326 | should 'return events of the day with category' do |
327 | 327 | person = create_user('someone').person |
328 | - ten_days_ago = Date.today - 10.day | |
328 | + ten_days_ago = DateTime.now - 10.day | |
329 | 329 | |
330 | - ev1 = create_event(person, :name => 'event 1', :category_ids => [@category.id], :start_date => ten_days_ago) | |
330 | + ev1 = create_event(person, :name => 'event 1', :start_date => ten_days_ago) | |
331 | + ev1.categories = [@category] | |
332 | + | |
331 | 333 | ev2 = create_event(person, :name => 'event 2', :start_date => ten_days_ago) |
332 | 334 | |
333 | 335 | get :events, :day => ten_days_ago.day, :month => ten_days_ago.month, :year => ten_days_ago.year, :category_path => @category.path.split('/') |
... | ... | @@ -337,8 +339,8 @@ class SearchControllerTest < ActionController::TestCase |
337 | 339 | |
338 | 340 | should 'return events of today when no date specified' do |
339 | 341 | person = create_user('someone').person |
340 | - ev1 = create_event(person, :name => 'event 1', :category_ids => [@category.id], :start_date => Date.today) | |
341 | - ev2 = create_event(person, :name => 'event 2', :category_ids => [@category.id], :start_date => Date.today - 2.month) | |
342 | + ev1 = create_event(person, :name => 'event 1', :category_ids => [@category.id], :start_date => DateTime.now) | |
343 | + ev2 = create_event(person, :name => 'event 2', :category_ids => [@category.id], :start_date => DateTime.now - 2.month) | |
342 | 344 | |
343 | 345 | get :events |
344 | 346 | |
... | ... | @@ -349,9 +351,9 @@ class SearchControllerTest < ActionController::TestCase |
349 | 351 | person = create_user('someone').person |
350 | 352 | |
351 | 353 | ev1 = create_event(person, :name => 'event 1', :category_ids => [@category.id], |
352 | - :start_date => Date.today + 2.month) | |
354 | + :start_date => DateTime.now + 2.month) | |
353 | 355 | ev2 = create_event(person, :name => 'event 2', :category_ids => [@category.id], |
354 | - :start_date => Date.today + 2.day) | |
356 | + :start_date => DateTime.now + 2.day) | |
355 | 357 | |
356 | 358 | get :events |
357 | 359 | |
... | ... | @@ -362,8 +364,8 @@ class SearchControllerTest < ActionController::TestCase |
362 | 364 | should 'list events for a given month' do |
363 | 365 | person = create_user('testuser').person |
364 | 366 | |
365 | - create_event(person, :name => 'upcoming event 1', :category_ids => [@category.id], :start_date => Date.new(2008, 1, 25)) | |
366 | - create_event(person, :name => 'upcoming event 2', :category_ids => [@category.id], :start_date => Date.new(2008, 4, 27)) | |
367 | + create_event(person, :name => 'upcoming event 1', :category_ids => [@category.id], :start_date => DateTime.new(2008, 1, 25)) | |
368 | + create_event(person, :name => 'upcoming event 2', :category_ids => [@category.id], :start_date => DateTime.new(2008, 4, 27)) | |
367 | 369 | |
368 | 370 | get :events, :year => '2008', :month => '1' |
369 | 371 | |
... | ... | @@ -373,7 +375,7 @@ class SearchControllerTest < ActionController::TestCase |
373 | 375 | should 'see the events paginated' do |
374 | 376 | person = create_user('testuser').person |
375 | 377 | 30.times do |i| |
376 | - create_event(person, :name => "Event #{i}", :start_date => Date.today) | |
378 | + create_event(person, :name => "Event #{i}", :start_date => DateTime.now) | |
377 | 379 | end |
378 | 380 | get :events |
379 | 381 | assert_equal 20, assigns(:events).size |
... | ... | @@ -416,7 +418,7 @@ class SearchControllerTest < ActionController::TestCase |
416 | 418 | end |
417 | 419 | |
418 | 420 | should 'display current year/month by default as caption of current month' do |
419 | - Date.expects(:today).returns(Date.new(2008, 8, 1)).at_least_once | |
421 | + DateTime.expects(:now).returns(DateTime.new(2008, 8, 1)).at_least_once | |
420 | 422 | |
421 | 423 | get :events |
422 | 424 | assert_tag :tag => 'table', :attributes => {:class => /current-month/}, :descendant => {:tag => 'caption', :content => /August 2008/} |
... | ... | @@ -475,7 +477,7 @@ class SearchControllerTest < ActionController::TestCase |
475 | 477 | |
476 | 478 | should 'show events of specific day' do |
477 | 479 | person = create_user('anotheruser').person |
478 | - event = create_event(person, :name => 'Joao Birthday', :start_date => Date.new(2009, 10, 28)) | |
480 | + event = create_event(person, :name => 'Joao Birthday', :start_date => DateTime.new(2009, 10, 28)) | |
479 | 481 | |
480 | 482 | get :events_by_day, :year => 2009, :month => 10, :day => 28 |
481 | 483 | |
... | ... | @@ -484,8 +486,8 @@ class SearchControllerTest < ActionController::TestCase |
484 | 486 | |
485 | 487 | should 'ignore filter of events if category not exists' do |
486 | 488 | person = create_user('anotheruser').person |
487 | - create_event(person, :name => 'Joao Birthday', :start_date => Date.new(2009, 10, 28), :category_ids => [@category.id]) | |
488 | - create_event(person, :name => 'Maria Birthday', :start_date => Date.new(2009, 10, 28)) | |
489 | + create_event(person, :name => 'Joao Birthday', :start_date => DateTime.new(2009, 10, 28), :category_ids => [@category.id]) | |
490 | + create_event(person, :name => 'Maria Birthday', :start_date => DateTime.new(2009, 10, 28)) | |
489 | 491 | |
490 | 492 | id_of_unexistent_category = Category.last.id + 10 |
491 | 493 | |
... | ... | @@ -772,7 +774,7 @@ class SearchControllerTest < ActionController::TestCase |
772 | 774 | protected |
773 | 775 | |
774 | 776 | def create_event(profile, options) |
775 | - ev = build(Event, { :name => 'some event', :start_date => Date.new(2008,1,1) }.merge(options)) | |
777 | + ev = build(Event, { :name => 'some event', :start_date => DateTime.new(2008,1,1) }.merge(options)) | |
776 | 778 | ev.profile = profile |
777 | 779 | ev.save! |
778 | 780 | ev | ... | ... |
test/unit/content_viewer_helper_test.rb
... | ... | @@ -16,14 +16,14 @@ class ContentViewerHelperTest < ActionView::TestCase |
16 | 16 | blog = fast_create(Blog, :name => 'Blog test', :profile_id => profile.id) |
17 | 17 | post = create(TextileArticle, :name => 'post test', :profile => profile, :parent => blog) |
18 | 18 | result = article_title(post) |
19 | - assert_tag_in_string result, :tag => 'span', :content => show_date(post.published_at) | |
19 | + assert_tag_in_string result, :tag => 'span', :content => show_time(post.published_at) | |
20 | 20 | end |
21 | 21 | |
22 | 22 | should 'display published-at for forum posts' do |
23 | 23 | forum = fast_create(Forum, :name => 'Forum test', :profile_id => profile.id) |
24 | 24 | post = TextileArticle.create!(:name => 'post test', :profile => profile, :parent => forum) |
25 | 25 | result = article_title(post) |
26 | - assert_tag_in_string result, :tag => 'span', :content => show_date(post.published_at) | |
26 | + assert_tag_in_string result, :tag => 'span', :content => show_time(post.published_at) | |
27 | 27 | end |
28 | 28 | |
29 | 29 | should 'not display published-at for non-blog and non-forum posts' do | ... | ... |
test/unit/dates_helper_test.rb
... | ... | @@ -21,23 +21,23 @@ class DatesHelperTest < ActiveSupport::TestCase |
21 | 21 | should 'generate period with two dates' do |
22 | 22 | date1 = mock |
23 | 23 | date1.stubs(:year).returns('A') |
24 | - expects(:show_date).with(date1, anything).returns('XXX') | |
24 | + expects(:show_time).with(date1, anything).returns('XXX') | |
25 | 25 | date2 = mock |
26 | 26 | date2.stubs(:year).returns('B') |
27 | - expects(:show_date).with(date2, anything).returns('YYY') | |
27 | + expects(:show_time).with(date2, anything).returns('YYY') | |
28 | 28 | expects(:_).with('from %{date1} to %{date2}').returns('from %{date1} to %{date2}') |
29 | 29 | assert_equal 'from XXX to YYY', show_period(date1, date2) |
30 | 30 | end |
31 | 31 | |
32 | 32 | should 'generate period with in two diferent years' do |
33 | - date1 = Date.new(1920, 1, 2) | |
34 | - date2 = Date.new(1992, 4, 6) | |
35 | - assert_equal 'from January 2, 1920 to April 6, 1992', show_period(date1, date2) | |
33 | + date1 = DateTime.new(1920, 1, 2) | |
34 | + date2 = DateTime.new(1992, 4, 6) | |
35 | + assert_equal 'from January 2, 1920 0:00 to April 6, 1992 0:00', show_period(date1, date2) | |
36 | 36 | end |
37 | 37 | |
38 | 38 | should 'generate period with in two diferent months of the same year' do |
39 | - date1 = Date.new(2013, 2, 1) | |
40 | - date2 = Date.new(2013, 3, 1) | |
39 | + date1 = DateTime.new(2013, 2, 1) | |
40 | + date2 = DateTime.new(2013, 3, 1) | |
41 | 41 | assert_equal 'from February 1 to March 1, 2013', show_period(date1, date2) |
42 | 42 | end |
43 | 43 | |
... | ... | @@ -49,13 +49,13 @@ class DatesHelperTest < ActiveSupport::TestCase |
49 | 49 | |
50 | 50 | should 'generate period with two equal dates' do |
51 | 51 | date1 = mock |
52 | - expects(:show_date).with(date1, anything).returns('XXX') | |
52 | + expects(:show_time).with(date1, anything).returns('XXX') | |
53 | 53 | assert_equal 'XXX', show_period(date1, date1) |
54 | 54 | end |
55 | 55 | |
56 | 56 | should 'generate period with one date only' do |
57 | 57 | date1 = mock |
58 | - expects(:show_date).with(date1, anything).returns('XXX') | |
58 | + expects(:show_time).with(date1, anything).returns('XXX') | |
59 | 59 | assert_equal 'XXX', show_period(date1) |
60 | 60 | end |
61 | 61 | |
... | ... | @@ -84,7 +84,7 @@ class DatesHelperTest < ActiveSupport::TestCase |
84 | 84 | end |
85 | 85 | |
86 | 86 | should 'fallback to current year/month in show_month' do |
87 | - Date.expects(:today).returns(Date.new(2008,11,1)).at_least_once | |
87 | + DateTime.expects(:now).returns(DateTime.new(2008,11,1)).at_least_once | |
88 | 88 | assert_equal 'November 2008', show_month(nil, nil) |
89 | 89 | assert_equal 'November 2008', show_month('', '') |
90 | 90 | end |
... | ... | @@ -118,16 +118,16 @@ class DatesHelperTest < ActiveSupport::TestCase |
118 | 118 | end |
119 | 119 | |
120 | 120 | should 'format time' do |
121 | - assert_equal '22 November 2008, 15:34', show_time(Time.mktime(2008, 11, 22, 15, 34, 0, 0)) | |
121 | + assert_equal 'November 22, 2008 15:34', show_time(Time.mktime(2008, 11, 22, 15, 34, 0, 0)) | |
122 | 122 | end |
123 | 123 | |
124 | 124 | should 'format time with 2 digits minutes' do |
125 | - assert_equal '22 November 2008, 15:04', show_time(Time.mktime(2008, 11, 22, 15, 04, 0, 0)) | |
125 | + assert_equal 'November 22, 2008 15:04', show_time(Time.mktime(2008, 11, 22, 15, 04, 0, 0)) | |
126 | 126 | end |
127 | 127 | |
128 | 128 | should 'translate time' do |
129 | 129 | time = Time.parse('25 May 2009, 12:47') |
130 | - assert_equal '25 May 2009, 12:47', show_time(time) | |
130 | + assert_equal 'May 25, 2009 12:47', show_time(time) | |
131 | 131 | end |
132 | 132 | |
133 | 133 | should 'handle nil time' do | ... | ... |
test/unit/event_test.rb
... | ... | @@ -29,15 +29,9 @@ class EventTest < ActiveSupport::TestCase |
29 | 29 | assert_equal 'South Noosfero street, 88', e.address |
30 | 30 | end |
31 | 31 | |
32 | - should 'have a start date' do | |
33 | - e = Event.new | |
34 | - e.start_date = Date.today | |
35 | - assert_kind_of Date, e.start_date | |
36 | - end | |
37 | - | |
38 | 32 | should 'set start date default value as today' do |
39 | 33 | e = Event.new |
40 | - assert_equal Date.today, e.start_date | |
34 | + assert_in_delta DateTime.now.to_i, e.start_date.to_i, 1 | |
41 | 35 | end |
42 | 36 | |
43 | 37 | should 'require start date' do |
... | ... | @@ -45,38 +39,32 @@ class EventTest < ActiveSupport::TestCase |
45 | 39 | e.start_date = nil |
46 | 40 | e.valid? |
47 | 41 | assert e.errors[:start_date.to_s].present? |
48 | - e.start_date = Date.today | |
42 | + e.start_date = DateTime.now | |
49 | 43 | e.valid? |
50 | 44 | refute e.errors[:start_date.to_s].present? |
51 | 45 | end |
52 | 46 | |
53 | - should 'have a end date' do | |
54 | - e = Event.new | |
55 | - e.end_date = Date.today | |
56 | - assert_kind_of Date, e.end_date | |
57 | - end | |
58 | - | |
59 | 47 | should 'use its own icon' do |
60 | 48 | assert_equal 'event', Event.icon_name |
61 | 49 | end |
62 | 50 | |
63 | 51 | should 'not allow end date before start date' do |
64 | - e = build(Event, :start_date => Date.new(2008, 01, 01), :end_date => Date.new(2007,01,01)) | |
52 | + e = build(Event, :start_date => DateTime.new(2008, 01, 01), :end_date => DateTime.new(2007,01,01)) | |
65 | 53 | e.valid? |
66 | 54 | assert e.errors[:start_date.to_s].present? |
67 | 55 | |
68 | - e.end_date = Date.new(2008,01,05) | |
56 | + e.end_date = DateTime.new(2008,01,05) | |
69 | 57 | e.valid? |
70 | 58 | refute e.errors[:start_date.to_s].present? |
71 | 59 | end |
72 | 60 | |
73 | 61 | should 'find by range of dates' do |
74 | 62 | profile = create_user('testuser').person |
75 | - e1 = create(Event, :name => 'e1', :start_date => Date.new(2008,1,1), :profile => profile) | |
76 | - e2 = create(Event, :name => 'e2', :start_date => Date.new(2008,2,1), :profile => profile) | |
77 | - e3 = create(Event, :name => 'e3', :start_date => Date.new(2008,3,1), :profile => profile) | |
63 | + e1 = create(Event, :name => 'e1', :start_date => DateTime.new(2008,1,1), :profile => profile) | |
64 | + e2 = create(Event, :name => 'e2', :start_date => DateTime.new(2008,2,1), :profile => profile) | |
65 | + e3 = create(Event, :name => 'e3', :start_date => DateTime.new(2008,3,1), :profile => profile) | |
78 | 66 | |
79 | - found = Event.by_range(Date.new(2008, 1, 1)..Date.new(2008, 2, 28)) | |
67 | + found = Event.by_range(DateTime.new(2008, 1, 1)..DateTime.new(2008, 2, 28)) | |
80 | 68 | assert_includes found, e1 |
81 | 69 | assert_includes found, e2 |
82 | 70 | assert_not_includes found, e3 |
... | ... | @@ -84,32 +72,33 @@ class EventTest < ActiveSupport::TestCase |
84 | 72 | |
85 | 73 | should 'filter events by range' do |
86 | 74 | profile = create_user('testuser').person |
87 | - e1 = create(Event, :name => 'e1', :start_date => Date.new(2008,1,15), :profile => profile) | |
88 | - assert_includes profile.events.by_range(Date.new(2008, 1, 10)..Date.new(2008, 1, 20)), e1 | |
75 | + e1 = create(Event, :name => 'e1', :start_date => DateTime.new(2008,1,15), :profile => profile) | |
76 | + assert_includes profile.events.by_range(DateTime.new(2008, 1, 10)..DateTime.new(2008, 1, 20)), e1 | |
89 | 77 | end |
90 | 78 | |
91 | 79 | should 'provide period for searching in month' do |
92 | - assert_equal Date.new(2008, 1, 1)..Date.new(2008,1,31), Event.date_range(2008, 1) | |
93 | - assert_equal Date.new(2008, 2, 1)..Date.new(2008,2,29), Event.date_range(2008, 2) | |
94 | - assert_equal Date.new(2007, 2, 1)..Date.new(2007,2,28), Event.date_range(2007, 2) | |
80 | + assert_equal DateTime.new(2008, 1, 1)..DateTime.new(2008,1,31), Event.date_range(2008, 1) | |
81 | + assert_equal DateTime.new(2008, 2, 1)..DateTime.new(2008,2,29), Event.date_range(2008, 2) | |
82 | + assert_equal DateTime.new(2007, 2, 1)..DateTime.new(2007,2,28), Event.date_range(2007, 2) | |
95 | 83 | end |
96 | 84 | |
97 | 85 | should 'support string arguments to Event#date_range' do |
98 | - assert_equal Date.new(2008,1,1)..Date.new(2008,1,31), Event.date_range('2008', '1') | |
86 | + assert_equal DateTime.new(2008,1,1)..DateTime.new(2008,1,31), Event.date_range('2008', '1') | |
99 | 87 | end |
100 | 88 | |
101 | 89 | should 'provide range of dates for event with both dates filled' do |
102 | - e = build(Event, :start_date => Date.new(2008, 1, 1), :end_date => Date.new(2008, 1, 5)) | |
103 | - assert_equal (Date.new(2008,1,1)..Date.new(2008,1,5)), e.date_range | |
90 | + e = build(Event, :start_date => DateTime.new(2008, 1, 1), :end_date => DateTime.new(2008, 1, 5)) | |
91 | + assert_equal (DateTime.new(2008,1,1)..DateTime.new(2008,1,5)), e.date_range | |
104 | 92 | end |
105 | 93 | |
106 | 94 | should 'provide range of dates for event with only start date' do |
107 | - e = build(Event, :start_date => Date.new(2008, 1, 1)) | |
108 | - assert_equal (Date.new(2008,1,1)..Date.new(2008,1,1)), e.date_range | |
95 | + e = build(Event, :start_date => DateTime.new(2008, 1, 1)) | |
96 | + assert_equal (DateTime.new(2008,1,1)..DateTime.new(2008,1,1)), e.date_range | |
109 | 97 | end |
110 | 98 | |
111 | 99 | should 'provide nice display format' do |
112 | - event = build(Event, :start_date => Date.new(2008,1,1), :end_date => Date.new(2008,1,1), :link => 'http://www.myevent.org', :body => '<p>my somewhat short description</p>') | |
100 | + date = Time.zone.local(2008, 1, 1, 0, 0, 0) | |
101 | + event = build(Event, :start_date => date, :end_date => date, :link => 'http://www.myevent.org', :body => '<p>my somewhat short description</p>') | |
113 | 102 | display = instance_eval(&event.to_html) |
114 | 103 | |
115 | 104 | assert_tag_in_string display, :content => Regexp.new("January 1, 2008") |
... | ... | @@ -148,7 +137,7 @@ class EventTest < ActiveSupport::TestCase |
148 | 137 | profile = create_user('testuser').person |
149 | 138 | event = create(Event, :profile => profile, :name => 'test', |
150 | 139 | :body => '<p>first paragraph </p><p>second paragraph </p>', |
151 | - :link => 'www.colivre.coop.br', :start_date => Date.today) | |
140 | + :link => 'www.colivre.coop.br', :start_date => DateTime.now) | |
152 | 141 | |
153 | 142 | assert_match '<p>first paragraph </p>', event.first_paragraph |
154 | 143 | end |
... | ... | @@ -161,7 +150,7 @@ class EventTest < ActiveSupport::TestCase |
161 | 150 | |
162 | 151 | should 'filter HTML in body' do |
163 | 152 | profile = create_user('testuser').person |
164 | - e = create(Event, :profile => profile, :name => 'test', :body => '<p>a paragraph (valid)</p><script type="text/javascript">/* this is invalid */</script>"', :link => 'www.colivre.coop.br', :start_date => Date.today) | |
153 | + e = create(Event, :profile => profile, :name => 'test', :body => '<p>a paragraph (valid)</p><script type="text/javascript">/* this is invalid */</script>"', :link => 'www.colivre.coop.br', :start_date => DateTime.now) | |
165 | 154 | |
166 | 155 | assert_tag_in_string e.body, :tag => 'p', :content => 'a paragraph (valid)' |
167 | 156 | assert_no_tag_in_string e.body, :tag => 'script' |
... | ... | @@ -169,7 +158,7 @@ class EventTest < ActiveSupport::TestCase |
169 | 158 | |
170 | 159 | should 'filter HTML in name' do |
171 | 160 | profile = create_user('testuser').person |
172 | - e = create(Event, :profile => profile, :name => '<p>a paragraph (valid)</p><script type="text/javascript">/* this is invalid */</script>"', :link => 'www.colivre.coop.br', :start_date => Date.today) | |
161 | + e = create(Event, :profile => profile, :name => '<p>a paragraph (valid)</p><script type="text/javascript">/* this is invalid */</script>"', :link => 'www.colivre.coop.br', :start_date => DateTime.now) | |
173 | 162 | |
174 | 163 | assert_tag_in_string e.name, :tag => 'p', :content => 'a paragraph (valid)' |
175 | 164 | assert_no_tag_in_string e.name, :tag => 'script' |
... | ... | @@ -184,8 +173,8 @@ class EventTest < ActiveSupport::TestCase |
184 | 173 | |
185 | 174 | should 'list all events' do |
186 | 175 | profile = fast_create(Profile) |
187 | - event1 = build(Event, :name => 'Ze Birthday', :start_date => Date.today) | |
188 | - event2 = build(Event, :name => 'Mane Birthday', :start_date => Date.today >> 1) | |
176 | + event1 = build(Event, :name => 'Ze Birthday', :start_date => DateTime.now) | |
177 | + event2 = build(Event, :name => 'Mane Birthday', :start_date => DateTime.now >> 1) | |
189 | 178 | profile.events << [event1, event2] |
190 | 179 | assert_includes profile.events, event1 |
191 | 180 | assert_includes profile.events, event2 |
... | ... | @@ -194,7 +183,7 @@ class EventTest < ActiveSupport::TestCase |
194 | 183 | should 'list events by day' do |
195 | 184 | profile = fast_create(Profile) |
196 | 185 | |
197 | - today = Date.today | |
186 | + today = DateTime.now | |
198 | 187 | yesterday_event = build(Event, :name => 'Joao Birthday', :start_date => today - 1.day) |
199 | 188 | today_event = build(Event, :name => 'Ze Birthday', :start_date => today) |
200 | 189 | tomorrow_event = build(Event, :name => 'Mane Birthday', :start_date => today + 1.day) |
... | ... | @@ -207,7 +196,7 @@ class EventTest < ActiveSupport::TestCase |
207 | 196 | should 'list events by month' do |
208 | 197 | profile = fast_create(Profile) |
209 | 198 | |
210 | - today = Date.new(2013, 10, 6) | |
199 | + today = DateTime.new(2013, 10, 6) | |
211 | 200 | |
212 | 201 | last_month_event = Event.new(:name => 'Joao Birthday', :start_date => today - 1.month) |
213 | 202 | |
... | ... | @@ -230,7 +219,7 @@ class EventTest < ActiveSupport::TestCase |
230 | 219 | should 'event by month ordered by start date'do |
231 | 220 | profile = fast_create(Profile) |
232 | 221 | |
233 | - today = Date.new(2013, 10, 6) | |
222 | + today = DateTime.new(2013, 10, 6) | |
234 | 223 | |
235 | 224 | event_1 = Event.new(:name => 'Maria Birthday', :start_date => today + 1.day) |
236 | 225 | event_2 = Event.new(:name => 'Joana Birthday', :start_date => today - 1.day) |
... | ... | @@ -248,7 +237,7 @@ class EventTest < ActiveSupport::TestCase |
248 | 237 | should 'list events in a range' do |
249 | 238 | profile = fast_create(Profile) |
250 | 239 | |
251 | - today = Date.today | |
240 | + today = DateTime.now | |
252 | 241 | event_in_range = build(Event, :name => 'Noosfero Conference', :start_date => today - 2.day, :end_date => today + 2.day) |
253 | 242 | event_in_day = build(Event, :name => 'Ze Birthday', :start_date => today) |
254 | 243 | |
... | ... | @@ -262,7 +251,7 @@ class EventTest < ActiveSupport::TestCase |
262 | 251 | should 'not list events out of range' do |
263 | 252 | profile = fast_create(Profile) |
264 | 253 | |
265 | - today = Date.today | |
254 | + today = DateTime.now | |
266 | 255 | event_in_range1 = build(Event, :name => 'Foswiki Conference', :start_date => today - 2.day, :end_date => today + 2.day) |
267 | 256 | event_in_range2 = build(Event, :name => 'Debian Conference', :start_date => today - 2.day, :end_date => today + 3.day) |
268 | 257 | event_out_of_range = build(Event, :name => 'Ze Birthday', :start_date => today - 5.day, :end_date => today - 3.day) | ... | ... |
test/unit/profile_test.rb
... | ... | @@ -1563,8 +1563,8 @@ class ProfileTest < ActiveSupport::TestCase |
1563 | 1563 | |
1564 | 1564 | should 'list all events' do |
1565 | 1565 | profile = fast_create(Profile) |
1566 | - event1 = Event.new(:name => 'Ze Birthday', :start_date => Date.today) | |
1567 | - event2 = Event.new(:name => 'Mane Birthday', :start_date => Date.today >> 1) | |
1566 | + event1 = Event.new(:name => 'Ze Birthday', :start_date => DateTime.now) | |
1567 | + event2 = Event.new(:name => 'Mane Birthday', :start_date => DateTime.now >> 1) | |
1568 | 1568 | profile.events << [event1, event2] |
1569 | 1569 | assert_includes profile.events, event1 |
1570 | 1570 | assert_includes profile.events, event2 |
... | ... | @@ -1573,7 +1573,7 @@ class ProfileTest < ActiveSupport::TestCase |
1573 | 1573 | should 'list events by day' do |
1574 | 1574 | profile = fast_create(Profile) |
1575 | 1575 | |
1576 | - today = Date.today | |
1576 | + today = DateTime.now | |
1577 | 1577 | yesterday_event = Event.new(:name => 'Joao Birthday', :start_date => today - 1.day) |
1578 | 1578 | today_event = Event.new(:name => 'Ze Birthday', :start_date => today) |
1579 | 1579 | tomorrow_event = Event.new(:name => 'Mane Birthday', :start_date => today + 1.day) |
... | ... | @@ -1586,7 +1586,7 @@ class ProfileTest < ActiveSupport::TestCase |
1586 | 1586 | should 'list events by month' do |
1587 | 1587 | profile = fast_create(Profile) |
1588 | 1588 | |
1589 | - today = Date.new(2014, 03, 2) | |
1589 | + today = DateTime.new(2014, 03, 2) | |
1590 | 1590 | yesterday_event = Event.new(:name => 'Joao Birthday', :start_date => today - 1.day) |
1591 | 1591 | today_event = Event.new(:name => 'Ze Birthday', :start_date => today) |
1592 | 1592 | tomorrow_event = Event.new(:name => 'Mane Birthday', :start_date => today + 1.day) |
... | ... | @@ -1599,7 +1599,7 @@ class ProfileTest < ActiveSupport::TestCase |
1599 | 1599 | should 'list events in a range' do |
1600 | 1600 | profile = fast_create(Profile) |
1601 | 1601 | |
1602 | - today = Date.today | |
1602 | + today = DateTime.now | |
1603 | 1603 | event_in_range = Event.new(:name => 'Noosfero Conference', :start_date => today - 2.day, :end_date => today + 2.day) |
1604 | 1604 | event_in_day = Event.new(:name => 'Ze Birthday', :start_date => today) |
1605 | 1605 | |
... | ... | @@ -1613,7 +1613,7 @@ class ProfileTest < ActiveSupport::TestCase |
1613 | 1613 | should 'not list events out of range' do |
1614 | 1614 | profile = fast_create(Profile) |
1615 | 1615 | |
1616 | - today = Date.today | |
1616 | + today = DateTime.now | |
1617 | 1617 | event_in_range1 = Event.new(:name => 'Foswiki Conference', :start_date => today - 2.day, :end_date => today + 2.day) |
1618 | 1618 | event_in_range2 = Event.new(:name => 'Debian Conference', :start_date => today - 2.day, :end_date => today + 3.day) |
1619 | 1619 | event_out_of_range = Event.new(:name => 'Ze Birthday', :start_date => today - 5.day, :end_date => today - 3.day) |
... | ... | @@ -1627,9 +1627,9 @@ class ProfileTest < ActiveSupport::TestCase |
1627 | 1627 | |
1628 | 1628 | should 'sort events by date' do |
1629 | 1629 | profile = fast_create(Profile) |
1630 | - event1 = Event.new(:name => 'Noosfero Hackaton', :start_date => Date.today) | |
1631 | - event2 = Event.new(:name => 'Debian Day', :start_date => Date.today - 1) | |
1632 | - event3 = Event.new(:name => 'Fisl 10', :start_date => Date.today + 1) | |
1630 | + event1 = Event.new(:name => 'Noosfero Hackaton', :start_date => DateTime.now) | |
1631 | + event2 = Event.new(:name => 'Debian Day', :start_date => DateTime.now - 1) | |
1632 | + event3 = Event.new(:name => 'Fisl 10', :start_date => DateTime.now + 1) | |
1633 | 1633 | profile.events << [event1, event2, event3] |
1634 | 1634 | assert_equal [event2, event1, event3], profile.events |
1635 | 1635 | end | ... | ... |