]> git.openstreetmap.org Git - rails.git/blobdiff - test/unit/diary_entry_test.rb
Add more tests for hidden diary entries and comments
[rails.git] / test / unit / diary_entry_test.rb
index 0e10f8a9a485a89844a933f2e28e51fcf85b43a9..0801aa299a9ca74f86ff0f9575a22caee5e14c5f 100644 (file)
@@ -1,11 +1,51 @@
 require File.dirname(__FILE__) + '/../test_helper'
 
-class DiaryEntryTest < Test::Unit::TestCase
-  fixtures :diary_entries
-  
+class DiaryEntryTest < ActiveSupport::TestCase
+  api_fixtures
+  fixtures :diary_entries, :diary_comments, :languages
   
   def test_diary_entry_count
-    assert_equal 2, DiaryEntry.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