Add some extra unit tests for diary entries
authorTom Hughes <tom@compton.nu>
Wed, 7 Mar 2012 15:45:47 +0000 (15:45 +0000)
committerTom Hughes <tom@compton.nu>
Wed, 7 Mar 2012 15:59:07 +0000 (15:59 +0000)
test/fixtures/diary_comments.yml
test/fixtures/diary_entries.yml
test/fixtures/users.yml
test/unit/diary_comment_test.rb
test/unit/diary_entry_test.rb

index 8bb9f49bd3b084d3abea0ad45f7f16eb849698f2..b8fb5c853e8f549409175df53d9c749d966c4270 100644 (file)
@@ -5,3 +5,19 @@ comment_for_geo_post:
   body: Some comment text
   created_at: "2008-11-08 09:45:34"
   updated_at: "2008-11-08 10:34:34"
+
+comment_by_suspended_user:
+  id: 2
+  diary_entry_id: 2
+  user_id: 10
+  body: Some comment text
+  created_at: "2008-11-08 09:45:34"
+  updated_at: "2008-11-08 10:34:34"
+
+comment_by_deleted_user:
+  id: 3
+  diary_entry_id: 2
+  user_id: 11
+  body: Some comment text
+  created_at: "2008-11-08 09:45:34"
+  updated_at: "2008-11-08 10:34:34"
index 34fb552687e33d3ec4d3254393f14412a16aae9d..864dc250d6cbae7924b0749e9666d07b5f9ce44e 100644 (file)
@@ -8,7 +8,8 @@ normal_user_entry_1:
   latitude: 
   longitude: 
   language_code: en
-  
+  visible: true
+
 normal_user_geo_entry:
   id: 2
   user_id: 1
@@ -19,3 +20,17 @@ normal_user_geo_entry:
   latitude: 51.50763
   longitude: -0.10781
   language_code: de
+  visible: true
+
+deleted_entry:
+
+  id: 3
+  user_id: 1
+  title: Deleted Entry 1
+  body: This is the body of a deleted diary entry.
+  created_at: "2008-11-07 17:43:34"
+  updated_at: "2008-11-07 17:43:34"
+  latitude: 
+  longitude: 
+  language_code: en
+  visible: false
index 7d89b858df90873c6d73963c660c75cf31003927..09565cc3c04d7abc7d9987f44bb69dcef1662683 100644 (file)
@@ -123,3 +123,35 @@ uppercase_user:
   terms_agreed: "2010-01-01 11:22:33"
   terms_seen: true
   languages: en
+
+suspended_user:
+  id: 10
+  email: suspended@openstreetmap.org
+  status: suspended
+  pass_crypt: <%= Digest::MD5.hexdigest('test') %>
+  creation_time: "2007-01-01 00:00:00"
+  display_name: suspended
+  data_public: false
+  description: test
+  home_lat: 12.1
+  home_lon: 12.1
+  home_zoom: 3
+  terms_agreed: "2010-01-01 11:22:33"
+  terms_seen: true
+  languages: en
+
+deleted_user:
+  id: 11
+  email: deleted@openstreetmap.org
+  status: deleted
+  pass_crypt: <%= Digest::MD5.hexdigest('test') %>
+  creation_time: "2007-01-01 00:00:00"
+  display_name: deleted
+  data_public: false
+  description: test
+  home_lat: 12.1
+  home_lon: 12.1
+  home_zoom: 3
+  terms_agreed: "2010-01-01 11:22:33"
+  terms_seen: true
+  languages: en
index 8c03d6a36522a076546716ba236b7b2b032a6d91..e4ac3d4225a31faa742d67fe3655784067cfa789 100644 (file)
@@ -5,7 +5,6 @@ class DiaryCommentTest < ActiveSupport::TestCase
   fixtures :diary_comments
   
   def test_diary_comment_count
-    assert_equal 1, DiaryComment.count
+    assert_equal 3, DiaryComment.count
   end
-  
 end
index 0e080210b31827b07479a6495c1250bcec923037..2d5c34f83ed36698bb71abb90811fcb028a979e2 100644 (file)
@@ -2,10 +2,10 @@ require File.dirname(__FILE__) + '/../test_helper'
 
 class DiaryEntryTest < ActiveSupport::TestCase
   api_fixtures
-  fixtures :diary_entries, :languages
+  fixtures :diary_entries, :diary_comments, :languages
   
   def test_diary_entry_count
-    assert_equal 2, DiaryEntry.count
+    assert_equal 3, DiaryEntry.count
   end
   
   def test_diary_entry_validations
@@ -23,7 +23,26 @@ class DiaryEntryTest < ActiveSupport::TestCase
     diary_entry_valid({:longitude => -180})
     diary_entry_valid({:longitude => -180.00001}, false)
   end
+
+  def test_diary_entry_visible
+    assert_equal 2, 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 3, 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, :without_protection => true)
     entry.assign_attributes(attrs, :without_protection => true)