--- /dev/null
+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