]> git.openstreetmap.org Git - rails.git/blob - test/models/diary_entry_test.rb
Replace user_preferences fixture with a factory.
[rails.git] / test / models / diary_entry_test.rb
1 require "test_helper"
2
3 class DiaryEntryTest < ActiveSupport::TestCase
4   fixtures :users, :languages
5
6   def test_diary_entry_validations
7     diary_entry_valid({})
8     diary_entry_valid({ :title => "" }, false)
9     diary_entry_valid(:title => "a" * 255)
10     diary_entry_valid({ :title => "a" * 256 }, false)
11     diary_entry_valid({ :body => "" }, false)
12     diary_entry_valid(:latitude => 90)
13     diary_entry_valid({ :latitude => 90.00001 }, false)
14     diary_entry_valid(:latitude => -90)
15     diary_entry_valid({ :latitude => -90.00001 }, false)
16     diary_entry_valid(:longitude => 180)
17     diary_entry_valid({ :longitude => 180.00001 }, false)
18     diary_entry_valid(:longitude => -180)
19     diary_entry_valid({ :longitude => -180.00001 }, false)
20   end
21
22   def test_diary_entry_visible
23     visible = create(:diary_entry)
24     hidden = create(:diary_entry, :visible => false)
25     assert_includes DiaryEntry.visible, visible
26     assert_raise ActiveRecord::RecordNotFound do
27       DiaryEntry.visible.find(hidden.id)
28     end
29   end
30
31   def test_diary_entry_comments
32     diary = create(:diary_entry)
33     assert_equal(0, diary.comments.count)
34     create(:diary_comment, :diary_entry => diary)
35     assert_equal(1, diary.comments.count)
36   end
37
38   def test_diary_entry_visible_comments
39     diary = create(:diary_entry)
40     create(:diary_comment, :diary_entry => diary)
41     create(:diary_comment, :diary_entry => diary, :visible => false)
42     assert_equal 1, diary.visible_comments.count
43     assert_equal 2, diary.comments.count
44   end
45
46   private
47
48   def diary_entry_valid(attrs, result = true)
49     entry = build(:diary_entry, attrs)
50     assert_equal result, entry.valid?, "Expected #{attrs.inspect} to be #{result}"
51   end
52 end