From: Tom Hughes Date: Wed, 7 Mar 2012 15:45:47 +0000 (+0000) Subject: Add some extra unit tests for diary entries X-Git-Tag: live~5720 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/2a62ebec53d48ae90cdfa4e9f10865a012dab22e?ds=sidebyside Add some extra unit tests for diary entries --- diff --git a/test/fixtures/diary_comments.yml b/test/fixtures/diary_comments.yml index 8bb9f49bd..b8fb5c853 100644 --- a/test/fixtures/diary_comments.yml +++ b/test/fixtures/diary_comments.yml @@ -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" diff --git a/test/fixtures/diary_entries.yml b/test/fixtures/diary_entries.yml index 34fb55268..864dc250d 100644 --- a/test/fixtures/diary_entries.yml +++ b/test/fixtures/diary_entries.yml @@ -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 diff --git a/test/fixtures/users.yml b/test/fixtures/users.yml index 7d89b858d..09565cc3c 100644 --- a/test/fixtures/users.yml +++ b/test/fixtures/users.yml @@ -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 diff --git a/test/unit/diary_comment_test.rb b/test/unit/diary_comment_test.rb index 8c03d6a36..e4ac3d422 100644 --- a/test/unit/diary_comment_test.rb +++ b/test/unit/diary_comment_test.rb @@ -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 diff --git a/test/unit/diary_entry_test.rb b/test/unit/diary_entry_test.rb index 0e080210b..2d5c34f83 100644 --- a/test/unit/diary_entry_test.rb +++ b/test/unit/diary_entry_test.rb @@ -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)