-
Notifications
You must be signed in to change notification settings - Fork 0
/
event_test.rb
86 lines (73 loc) · 2.02 KB
/
event_test.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
require 'test_helper'
class EventTest < ActiveSupport::TestCase
test "event validates presence of group" do
event = Event.new
assert ! event.valid?
assert event.errors.on(:group_id)
end
test "event validates presence of location" do
event = Event.new
assert ! event.valid?
assert event.errors.on(:location_id)
end
test "event validates presence of start_time" do
event = Event.new
assert ! event.valid?
assert event.errors.on(:start_time)
end
test "event validates presence of end_time" do
event = Event.new
assert ! event.valid?
assert event.errors.on(:end_time)
end
# Obsolete now that upcoming is mandatory
# test "sorts fields correctly" do
# actual = Event.sort(1, 'start_time', 'false')
#
# expected = [
# events(:one),
# events(:two),
# events(:three),
# events(:five),
# events(:four)
# ]
#
# assert_equal expected, actual
# end
#
# test "sorts related fields correctly" do
# actual = Event.sort(1, 'groups.name', 'false')
#
# expected = [
# events(:three),
# events(:two),
# events(:four),
# events(:five),
# events(:one)
# ]
#
# assert_equal expected, actual
# end
test "sorts fields hides past events" do
actual = Event.sort(1, 'start_time')
expected = [
events(:three),
events(:five),
events(:four)
]
assert_equal expected, actual
end
test "sorts upcoming local events" do
lat = (locations(:three).latitude + locations(:five).latitude) / 2
lon = (locations(:three).longitude + locations(:five).longitude) / 2
actual = Event.sort(1, 'start_time', 'true', { :latitude => lat, :longitude => lon })
expected = [
events(:three),
events(:five)
]
assert_equal expected, actual
end
test "time should be formatted properly" do
assert_equal "Tue 24 Feb, 2009 at 11:45 PM", Event.pretty_time(Time.parse('2009-02-24 11:45pm'))
end
end