]> git.openstreetmap.org Git - rails.git/blobdiff - test/models/diary_entry_test.rb
Add some more tests, better error handling for dates
[rails.git] / test / models / diary_entry_test.rb
index e8667bc74d5e7037e9e9bde5c73fde314ddd0cbf..76e8bbbe02d04432e0b8ad202dd0823a361029fb 100644 (file)
@@ -1,51 +1,55 @@
-require 'test_helper'
+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
+  def setup
+    # Create the default language for diary entries
+    create(:language, :code => "en")
   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)
+    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
+    visible = create(:diary_entry)
+    hidden = create(:diary_entry, :visible => false)
+    assert_includes DiaryEntry.visible, visible
     assert_raise ActiveRecord::RecordNotFound do
-      DiaryEntry.visible.find(diary_entries(:deleted_entry).id)
+      DiaryEntry.visible.find(hidden.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
+    diary = create(:diary_entry)
+    assert_equal(0, diary.comments.count)
+    create(:diary_comment, :diary_entry => diary)
+    assert_equal(1, diary.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
+    diary = create(:diary_entry)
+    create(:diary_comment, :diary_entry => diary)
+    create(:diary_comment, :diary_entry => diary, :visible => false)
+    assert_equal 1, diary.visible_comments.count
+    assert_equal 2, diary.comments.count
   end
 
-private
+  private
 
   def diary_entry_valid(attrs, result = true)
-    entry = DiaryEntry.new(diary_entries(:normal_user_entry_1).attributes)
-    entry.assign_attributes(attrs)
+    entry = build(:diary_entry, attrs)
     assert_equal result, entry.valid?, "Expected #{attrs.inspect} to be #{result}"
-  end  
+  end
 end