51 lines
1.7 KiB
Ruby
51 lines
1.7 KiB
Ruby
require 'test_helper'
|
|
|
|
class DiaryEntryTest < ActiveSupport::TestCase
|
|
api_fixtures
|
|
fixtures :diary_entries, :diary_comments, :languages
|
|
|
|
def test_diary_entry_count
|
|
assert_equal 5, DiaryEntry.count
|
|
end
|
|
|
|
def test_diary_entry_validations
|
|
diary_entry_valid({})
|
|
diary_entry_valid({ :title => '' }, false)
|
|
diary_entry_valid(:title => 'a' * 255)
|
|
diary_entry_valid({ :title => 'a' * 256 }, false)
|
|
diary_entry_valid({ :body => '' }, false)
|
|
diary_entry_valid(:latitude => 90)
|
|
diary_entry_valid({ :latitude => 90.00001 }, false)
|
|
diary_entry_valid(:latitude => -90)
|
|
diary_entry_valid({ :latitude => -90.00001 }, false)
|
|
diary_entry_valid(:longitude => 180)
|
|
diary_entry_valid({ :longitude => 180.00001 }, false)
|
|
diary_entry_valid(:longitude => -180)
|
|
diary_entry_valid({ :longitude => -180.00001 }, false)
|
|
end
|
|
|
|
def test_diary_entry_visible
|
|
assert_equal 4, DiaryEntry.visible.count
|
|
assert_raise ActiveRecord::RecordNotFound do
|
|
DiaryEntry.visible.find(diary_entries(:deleted_entry).id)
|
|
end
|
|
end
|
|
|
|
def test_diary_entry_comments
|
|
assert_equal 0, diary_entries(:normal_user_entry_1).comments.count
|
|
assert_equal 4, diary_entries(:normal_user_geo_entry).comments.count
|
|
end
|
|
|
|
def test_diary_entry_visible_comments
|
|
assert_equal 0, diary_entries(:normal_user_entry_1).visible_comments.count
|
|
assert_equal 1, diary_entries(:normal_user_geo_entry).visible_comments.count
|
|
end
|
|
|
|
private
|
|
|
|
def diary_entry_valid(attrs, result = true)
|
|
entry = DiaryEntry.new(diary_entries(:normal_user_entry_1).attributes)
|
|
entry.assign_attributes(attrs)
|
|
assert_equal result, entry.valid?, "Expected #{attrs.inspect} to be #{result}"
|
|
end
|
|
end
|