summaryrefslogtreecommitdiff
path: root/test/unit/event_test.rb
diff options
context:
space:
mode:
authorerdgeist <erdgeist@erdgeist.org>2026-06-25 17:51:45 +0200
committererdgeist <erdgeist@erdgeist.org>2026-06-25 17:51:45 +0200
commit0818a3057b0a91e422158d828026c941b4e10622 (patch)
tree9ed98d52bd577d3f36dd7a1ce8048d280a36062e /test/unit/event_test.rb
parent26030c71c7b300c30367222f263d74b8d2142ecf (diff)
Rails 5.2 test updates
- Rename test/functional → test/controllers, test/unit → test/models - Remove test/performance/browsing_test.rb (performance_test_help removed) - Fix use_transactional_fixtures → use_transactional_tests - Remove use_instantiated_fixtures (removed in Rails 5) - Fix ActiveRecord::Fixtures → FixtureSet - Fix controller test params syntax: add params: {} wrapper throughout - Fix assert_select targets for aggregator test - Fix test_update_a_draft_with_changing_the_template: draft → head - Add test_node.reload after children.create! (awesome_nested_set bug) - Add before/after count pattern for create tests (transactional isolation) - Known failures: 5 tests affected by Rails 5 transactional test isolation
Diffstat (limited to 'test/unit/event_test.rb')
-rw-r--r--test/unit/event_test.rb114
1 files changed, 0 insertions, 114 deletions
diff --git a/test/unit/event_test.rb b/test/unit/event_test.rb
deleted file mode 100644
index f310af8..0000000
--- a/test/unit/event_test.rb
+++ /dev/null
@@ -1,114 +0,0 @@
1require 'test_helper'
2
3class EventTest < ActiveSupport::TestCase
4
5 def setup
6 Page.delete_all
7 @cal_node = Node.root.children.create! :slug => "calendar"
8 @draft = @cal_node.find_or_create_draft User.first
9 @draft.title = "99C3"
10 @draft.abstract = "The 99th Chaos Comunication Congress"
11 @draft.body = "Its totally freakin awesome"
12 @draft.save
13 @cal_node.publish_draft!
14 @cal_node.head.reload
15 end
16
17 test 'verfy setup data' do
18 assert_not_nil @cal_node
19 assert_not_nil @cal_node.head
20 end
21
22 test 'creating an event with malformed rrule raises exception' do
23 assert_raise(ArgumentError) do
24 Event.create!(
25 :start_time => "2009-01-01T15:23:42".to_time,
26 :end_time => "2009-01-01T20:05:23".to_time,
27 :url => "http://events.ccc.de/congress/2082",
28 :latitude => 52.525308,
29 :longitude => 13.378944,
30 :rrule => "FOOBAR",
31 :allday => false,
32 :custom_rrule => false,
33 :node_id => @cal_node.id
34 )
35 end
36 end
37
38 test 'create day event for node with one occurrence' do
39 assert_not_nil event = Event.create!(
40 :start_time => "2009-01-01T15:23:42".to_time,
41 :end_time => "2009-01-01T20:05:23".to_time,
42 :url => "http://events.ccc.de/congress/2082",
43 :latitude => 52.525308,
44 :longitude => 13.378944,
45 :rrule => nil,
46 :allday => false,
47 :custom_rrule => false,
48 :node_id => @cal_node.id
49 )
50
51 assert_equal 1, Occurrence.count
52 assert_equal event.start_time, Occurrence.first.start_time
53 assert_equal event.end_time, Occurrence.first.end_time
54 end
55
56 test 'create day event with weekly reoccurrence and checking data' do
57 assert_not_nil event = Event.create!(
58 :start_time => "2009-01-01T15:23:42".to_time,
59 :end_time => "2009-01-01T20:05:23".to_time,
60 :url => "http://events.ccc.de/congress/2082",
61 :latitude => 52.525308,
62 :longitude => 13.378944,
63 :rrule => "FREQ=WEEKLY;INTERVAL=1",
64 :allday => false,
65 :custom_rrule => false,
66 :node_id => @cal_node.id
67 )
68
69 assert_not_nil scoped_occurrences = event.occurrences_in_range(
70 "2009-01-01".to_time, "2009-12-31".to_time
71 )
72
73 assert_equal 52, scoped_occurrences.length
74
75 assert_equal "2009-12-24T15:23:42".to_time, scoped_occurrences[51].start_time
76 assert_equal "2009-12-24T20:05:23".to_time, scoped_occurrences[51].end_time
77 assert_equal @cal_node.event, scoped_occurrences[51].event
78 assert_equal @cal_node, scoped_occurrences[51].node
79
80 assert_equal "2009-03-19T15:23:42".to_time, scoped_occurrences[11].start_time
81 assert_equal "2009-03-19T20:05:23".to_time, scoped_occurrences[11].end_time
82 assert_equal @cal_node.event, scoped_occurrences[11].event
83 assert_equal @cal_node, scoped_occurrences[11].node
84
85 assert_equal "2009-01-01T15:23:42".to_time, scoped_occurrences[0].start_time
86 assert_equal "2009-01-01T20:05:23".to_time, scoped_occurrences[0].end_time
87 assert_equal @cal_node.event, scoped_occurrences[11].event
88 assert_equal @cal_node, scoped_occurrences[11].node
89 end
90
91 test 'create chaosradio event with custom rrule and interval' do
92 assert_not_nil event = Event.create!(
93 :start_time => "2009-01-28T21:00:00".to_time,
94 :end_time => "2009-01-28T23:00:00".to_time,
95 :url => "http://chaosradio.ccc.de",
96 :latitude => 52.525308,
97 :longitude => 13.378944,
98 :rrule => "FREQ=MONTHLY;INTERVAL=1;BYDAY=-1WE",
99 :allday => false,
100 :custom_rrule => true,
101 :node_id => @cal_node.id
102 )
103
104 assert_not_nil scoped_occurrences = event.occurrences_in_range(
105 "2009-01-01".to_time, "2009-12-31".to_time
106 )
107
108 assert_equal 12, scoped_occurrences.length
109
110 expected_days = [28, 25, 25, 29, 27, 24, 29, 26, 30, 28, 25, 30]
111 chaosradio_days = scoped_occurrences.map {|x| x.start_time.day}
112 assert_equal expected_days, chaosradio_days
113 end
114end \ No newline at end of file