diff options
| author | erdgeist <erdgeist@erdgeist.org> | 2026-06-25 17:51:45 +0200 |
|---|---|---|
| committer | erdgeist <erdgeist@erdgeist.org> | 2026-06-25 17:51:45 +0200 |
| commit | 0818a3057b0a91e422158d828026c941b4e10622 (patch) | |
| tree | 9ed98d52bd577d3f36dd7a1ce8048d280a36062e /test/unit/event_test.rb | |
| parent | 26030c71c7b300c30367222f263d74b8d2142ecf (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.rb | 114 |
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 @@ | |||
| 1 | require 'test_helper' | ||
| 2 | |||
| 3 | class 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 | ||
| 114 | end \ No newline at end of file | ||
