Remove diary_entry and diary_comment fixtures, and refactor tests.
Note that you might need to empty the tables in your local test database, since the removed fixtures may still linger there.
This commit is contained in:
parent
ea610c8c3c
commit
f1713320c2
3 changed files with 61 additions and 131 deletions
|
@ -1,7 +1,7 @@
|
||||||
require "test_helper"
|
require "test_helper"
|
||||||
|
|
||||||
class DiaryEntryControllerTest < ActionController::TestCase
|
class DiaryEntryControllerTest < ActionController::TestCase
|
||||||
fixtures :users, :user_roles, :diary_entries, :diary_comments, :languages, :friends
|
fixtures :users, :user_roles, :languages, :friends
|
||||||
|
|
||||||
include ActionView::Helpers::NumberHelper
|
include ActionView::Helpers::NumberHelper
|
||||||
|
|
||||||
|
@ -199,7 +199,7 @@ class DiaryEntryControllerTest < ActionController::TestCase
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_edit
|
def test_edit
|
||||||
entry = diary_entries(:normal_user_entry_1)
|
entry = create(:diary_entry, :user_id => users(:normal_user).id)
|
||||||
|
|
||||||
# Make sure that you are redirected to the login page when you are
|
# Make sure that you are redirected to the login page when you are
|
||||||
# not logged in, without and with the id of the entry you want to edit
|
# not logged in, without and with the id of the entry you want to edit
|
||||||
|
@ -296,13 +296,14 @@ class DiaryEntryControllerTest < ActionController::TestCase
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_edit_i18n
|
def test_edit_i18n
|
||||||
get :edit, { :display_name => users(:normal_user).display_name, :id => diary_entries(:normal_user_entry_1).id }, { :user => users(:normal_user).id }
|
diary_entry = create(:diary_entry, :language_code => "en")
|
||||||
|
get :edit, { :display_name => users(:normal_user).display_name, :id => diary_entry.id }, { :user => users(:normal_user).id }
|
||||||
assert_response :success
|
assert_response :success
|
||||||
assert_select "span[class=translation_missing]", false, "Missing translation in edit diary entry"
|
assert_select "span[class=translation_missing]", false, "Missing translation in edit diary entry"
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_comment
|
def test_comment
|
||||||
entry = diary_entries(:normal_user_entry_1)
|
entry = create(:diary_entry, :user_id => users(:normal_user).id)
|
||||||
|
|
||||||
# Make sure that you are denied when you are not logged in
|
# Make sure that you are denied when you are not logged in
|
||||||
post :comment, :display_name => entry.user.display_name, :id => entry.id
|
post :comment, :display_name => entry.user.display_name, :id => entry.id
|
||||||
|
@ -356,7 +357,7 @@ class DiaryEntryControllerTest < ActionController::TestCase
|
||||||
|
|
||||||
def test_comment_spammy
|
def test_comment_spammy
|
||||||
# Find the entry to comment on
|
# Find the entry to comment on
|
||||||
entry = diary_entries(:normal_user_entry_1)
|
entry = create(:diary_entry, :user_id => users(:normal_user).id)
|
||||||
|
|
||||||
# Generate some spammy content
|
# Generate some spammy content
|
||||||
spammy_text = 1.upto(50).map { |n| "http://example.com/spam#{n}" }.join(" ")
|
spammy_text = 1.upto(50).map { |n| "http://example.com/spam#{n}" }.join(" ")
|
||||||
|
@ -393,15 +394,22 @@ class DiaryEntryControllerTest < ActionController::TestCase
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_list_all
|
def test_list_all
|
||||||
|
diary_entry = create(:diary_entry)
|
||||||
|
geo_entry = create(:diary_entry, :latitude => 51.50763, :longitude => -0.10781)
|
||||||
|
public_entry = create(:diary_entry, :user_id => users(:public_user).id)
|
||||||
|
|
||||||
# Try a list of all diary entries
|
# Try a list of all diary entries
|
||||||
get :list
|
get :list
|
||||||
check_diary_list :normal_user_entry_1, :normal_user_geo_entry, :public_user_entry_1
|
check_diary_list diary_entry, geo_entry, public_entry
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_list_user
|
def test_list_user
|
||||||
|
diary_entry = create(:diary_entry)
|
||||||
|
geo_entry = create(:diary_entry, :latitude => 51.50763, :longitude => -0.10781)
|
||||||
|
|
||||||
# Try a list of diary entries for a valid user
|
# Try a list of diary entries for a valid user
|
||||||
get :list, :display_name => users(:normal_user).display_name
|
get :list, :display_name => users(:normal_user).display_name
|
||||||
check_diary_list :normal_user_entry_1, :normal_user_geo_entry
|
check_diary_list diary_entry, geo_entry
|
||||||
|
|
||||||
# Try a list of diary entries for an invalid user
|
# Try a list of diary entries for an invalid user
|
||||||
get :list, :display_name => "No Such User"
|
get :list, :display_name => "No Such User"
|
||||||
|
@ -410,6 +418,8 @@ class DiaryEntryControllerTest < ActionController::TestCase
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_list_friends
|
def test_list_friends
|
||||||
|
diary_entry = create(:diary_entry, :user_id => friends(:normal_user_with_second_user).friend_user_id)
|
||||||
|
|
||||||
# Try a list of diary entries for your friends when not logged in
|
# Try a list of diary entries for your friends when not logged in
|
||||||
get :list, :friends => true
|
get :list, :friends => true
|
||||||
assert_response :redirect
|
assert_response :redirect
|
||||||
|
@ -417,12 +427,13 @@ class DiaryEntryControllerTest < ActionController::TestCase
|
||||||
|
|
||||||
# Try a list of diary entries for your friends when logged in
|
# Try a list of diary entries for your friends when logged in
|
||||||
get :list, { :friends => true }, { :user => users(:normal_user).id }
|
get :list, { :friends => true }, { :user => users(:normal_user).id }
|
||||||
check_diary_list :public_user_entry_1
|
check_diary_list diary_entry
|
||||||
get :list, { :friends => true }, { :user => users(:public_user).id }
|
get :list, { :friends => true }, { :user => users(:public_user).id }
|
||||||
check_diary_list
|
check_diary_list
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_list_nearby
|
def test_list_nearby
|
||||||
|
diary_entry = create(:diary_entry, :user_id => users(:public_user).id)
|
||||||
# Try a list of diary entries for nearby users when not logged in
|
# Try a list of diary entries for nearby users when not logged in
|
||||||
get :list, :nearby => true
|
get :list, :nearby => true
|
||||||
assert_response :redirect
|
assert_response :redirect
|
||||||
|
@ -430,19 +441,23 @@ class DiaryEntryControllerTest < ActionController::TestCase
|
||||||
|
|
||||||
# Try a list of diary entries for nearby users when logged in
|
# Try a list of diary entries for nearby users when logged in
|
||||||
get :list, { :nearby => true }, { :user => users(:german_user).id }
|
get :list, { :nearby => true }, { :user => users(:german_user).id }
|
||||||
check_diary_list :public_user_entry_1
|
check_diary_list diary_entry
|
||||||
get :list, { :nearby => true }, { :user => users(:public_user).id }
|
get :list, { :nearby => true }, { :user => users(:public_user).id }
|
||||||
check_diary_list
|
check_diary_list
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_list_language
|
def test_list_language
|
||||||
|
diary_entry_en = create(:diary_entry, :language_code => "en")
|
||||||
|
diary_entry_en2 = create(:diary_entry, :language_code => "en")
|
||||||
|
diary_entry_de = create(:diary_entry, :language_code => "de")
|
||||||
|
|
||||||
# Try a list of diary entries in english
|
# Try a list of diary entries in english
|
||||||
get :list, :language => "en"
|
get :list, :language => "en"
|
||||||
check_diary_list :normal_user_entry_1, :public_user_entry_1
|
check_diary_list diary_entry_en, diary_entry_en2
|
||||||
|
|
||||||
# Try a list of diary entries in german
|
# Try a list of diary entries in german
|
||||||
get :list, :language => "de"
|
get :list, :language => "de"
|
||||||
check_diary_list :normal_user_geo_entry
|
check_diary_list diary_entry_de
|
||||||
|
|
||||||
# Try a list of diary entries in slovenian
|
# Try a list of diary entries in slovenian
|
||||||
get :list, :language => "sl"
|
get :list, :language => "sl"
|
||||||
|
@ -450,6 +465,10 @@ class DiaryEntryControllerTest < ActionController::TestCase
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_rss
|
def test_rss
|
||||||
|
create(:diary_entry, :language_code => "en")
|
||||||
|
create(:diary_entry, :language_code => "en")
|
||||||
|
create(:diary_entry, :language_code => "de")
|
||||||
|
|
||||||
get :rss, :format => :rss
|
get :rss, :format => :rss
|
||||||
assert_response :success, "Should be able to get a diary RSS"
|
assert_response :success, "Should be able to get a diary RSS"
|
||||||
assert_select "rss", :count => 1 do
|
assert_select "rss", :count => 1 do
|
||||||
|
@ -462,7 +481,11 @@ class DiaryEntryControllerTest < ActionController::TestCase
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_rss_language
|
def test_rss_language
|
||||||
get :rss, :language => diary_entries(:normal_user_entry_1).language_code, :format => :rss
|
create(:diary_entry, :language_code => "en")
|
||||||
|
create(:diary_entry, :language_code => "en")
|
||||||
|
create(:diary_entry, :language_code => "de")
|
||||||
|
|
||||||
|
get :rss, :language => "en", :format => :rss
|
||||||
assert_response :success, "Should be able to get a specific language diary RSS"
|
assert_response :success, "Should be able to get a specific language diary RSS"
|
||||||
assert_select "rss>channel>item", :count => 2 # , "Diary entries should be filtered by language"
|
assert_select "rss>channel>item", :count => 2 # , "Diary entries should be filtered by language"
|
||||||
end
|
end
|
||||||
|
@ -473,12 +496,18 @@ class DiaryEntryControllerTest < ActionController::TestCase
|
||||||
# end
|
# end
|
||||||
|
|
||||||
def test_rss_language_with_no_entries
|
def test_rss_language_with_no_entries
|
||||||
|
create(:diary_entry, :language_code => "en")
|
||||||
|
|
||||||
get :rss, :language => "sl", :format => :rss
|
get :rss, :language => "sl", :format => :rss
|
||||||
assert_response :success, "Should be able to get a specific language diary RSS"
|
assert_response :success, "Should be able to get a specific language diary RSS"
|
||||||
assert_select "rss>channel>item", :count => 0 # , "Diary entries should be filtered by language"
|
assert_select "rss>channel>item", :count => 0 # , "Diary entries should be filtered by language"
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_rss_user
|
def test_rss_user
|
||||||
|
create(:diary_entry, :user_id => users(:normal_user).id)
|
||||||
|
create(:diary_entry, :user_id => users(:normal_user).id)
|
||||||
|
create(:diary_entry, :user_id => users(:public_user).id)
|
||||||
|
|
||||||
get :rss, :display_name => users(:normal_user).display_name, :format => :rss
|
get :rss, :display_name => users(:normal_user).display_name, :format => :rss
|
||||||
assert_response :success, "Should be able to get a specific users diary RSS"
|
assert_response :success, "Should be able to get a specific users diary RSS"
|
||||||
assert_select "rss>channel>item", :count => 2 # , "Diary entries should be filtered by user"
|
assert_select "rss>channel>item", :count => 2 # , "Diary entries should be filtered by user"
|
||||||
|
@ -500,20 +529,24 @@ class DiaryEntryControllerTest < ActionController::TestCase
|
||||||
|
|
||||||
def test_view
|
def test_view
|
||||||
# Try a normal entry that should work
|
# Try a normal entry that should work
|
||||||
get :view, :display_name => users(:normal_user).display_name, :id => diary_entries(:normal_user_entry_1).id
|
diary_entry = create(:diary_entry, :user_id => users(:normal_user).id)
|
||||||
|
get :view, :display_name => users(:normal_user).display_name, :id => diary_entry.id
|
||||||
assert_response :success
|
assert_response :success
|
||||||
assert_template :view
|
assert_template :view
|
||||||
|
|
||||||
# Try a deleted entry
|
# Try a deleted entry
|
||||||
get :view, :display_name => users(:normal_user).display_name, :id => diary_entries(:deleted_entry).id
|
diary_entry_deleted = create(:diary_entry, :user_id => users(:normal_user).id, :visible => false)
|
||||||
|
get :view, :display_name => users(:normal_user).display_name, :id => diary_entry_deleted.id
|
||||||
assert_response :not_found
|
assert_response :not_found
|
||||||
|
|
||||||
# Try an entry by a suspended user
|
# Try an entry by a suspended user
|
||||||
get :view, :display_name => users(:suspended_user).display_name, :id => diary_entries(:entry_by_suspended_user).id
|
diary_entry_suspended = create(:diary_entry, :user_id => users(:suspended_user).id)
|
||||||
|
get :view, :display_name => users(:suspended_user).display_name, :id => diary_entry_suspended.id
|
||||||
assert_response :not_found
|
assert_response :not_found
|
||||||
|
|
||||||
# Try an entry by a deleted user
|
# Try an entry by a deleted user
|
||||||
get :view, :display_name => users(:deleted_user).display_name, :id => diary_entries(:entry_by_deleted_user).id
|
diary_entry_deleted = create(:diary_entry, :user_id => users(:deleted_user).id)
|
||||||
|
get :view, :display_name => users(:deleted_user).display_name, :id => diary_entry_deleted.id
|
||||||
assert_response :not_found
|
assert_response :not_found
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -557,22 +590,24 @@ class DiaryEntryControllerTest < ActionController::TestCase
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_hidecomment
|
def test_hidecomment
|
||||||
|
diary_entry = create(:diary_entry, :user_id => users(:normal_user).id)
|
||||||
|
diary_comment = create(:diary_comment, :diary_entry => diary_entry)
|
||||||
# Try without logging in
|
# Try without logging in
|
||||||
post :hidecomment, :display_name => users(:normal_user).display_name, :id => diary_entries(:normal_user_geo_entry).id, :comment => diary_comments(:comment_for_geo_post).id
|
post :hidecomment, :display_name => users(:normal_user).display_name, :id => diary_entry.id, :comment => diary_comment.id
|
||||||
assert_response :forbidden
|
assert_response :forbidden
|
||||||
assert_equal true, DiaryComment.find(diary_comments(:comment_for_geo_post).id).visible
|
assert_equal true, DiaryComment.find(diary_comment.id).visible
|
||||||
|
|
||||||
# Now try as a normal user
|
# Now try as a normal user
|
||||||
post :hidecomment, { :display_name => users(:normal_user).display_name, :id => diary_entries(:normal_user_geo_entry).id, :comment => diary_comments(:comment_for_geo_post).id }, { :user => users(:normal_user).id }
|
post :hidecomment, { :display_name => users(:normal_user).display_name, :id => diary_entry.id, :comment => diary_comment.id }, { :user => users(:normal_user).id }
|
||||||
assert_response :redirect
|
assert_response :redirect
|
||||||
assert_redirected_to :action => :view, :display_name => users(:normal_user).display_name, :id => diary_entries(:normal_user_geo_entry).id
|
assert_redirected_to :action => :view, :display_name => users(:normal_user).display_name, :id => diary_entry.id
|
||||||
assert_equal true, DiaryComment.find(diary_comments(:comment_for_geo_post).id).visible
|
assert_equal true, DiaryComment.find(diary_comment.id).visible
|
||||||
|
|
||||||
# Finally try as an administrator
|
# Finally try as an administrator
|
||||||
post :hidecomment, { :display_name => users(:normal_user).display_name, :id => diary_entries(:normal_user_geo_entry).id, :comment => diary_comments(:comment_for_geo_post).id }, { :user => users(:administrator_user).id }
|
post :hidecomment, { :display_name => users(:normal_user).display_name, :id => diary_entry.id, :comment => diary_comment.id }, { :user => users(:administrator_user).id }
|
||||||
assert_response :redirect
|
assert_response :redirect
|
||||||
assert_redirected_to :action => :view, :display_name => users(:normal_user).display_name, :id => diary_entries(:normal_user_geo_entry).id
|
assert_redirected_to :action => :view, :display_name => users(:normal_user).display_name, :id => diary_entry.id
|
||||||
assert_equal false, DiaryComment.find(diary_comments(:comment_for_geo_post).id).visible
|
assert_equal false, DiaryComment.find(diary_comment.id).visible
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_comments
|
def test_comments
|
||||||
|
@ -585,6 +620,8 @@ class DiaryEntryControllerTest < ActionController::TestCase
|
||||||
end
|
end
|
||||||
|
|
||||||
# Test a user with a comment
|
# Test a user with a comment
|
||||||
|
create(:diary_comment, :user_id => users(:public_user).id)
|
||||||
|
|
||||||
get :comments, :display_name => users(:public_user).display_name
|
get :comments, :display_name => users(:public_user).display_name
|
||||||
assert_response :success
|
assert_response :success
|
||||||
assert_template :comments
|
assert_template :comments
|
||||||
|
@ -610,7 +647,6 @@ class DiaryEntryControllerTest < ActionController::TestCase
|
||||||
assert_select "div.diary_post", entries.count
|
assert_select "div.diary_post", entries.count
|
||||||
|
|
||||||
entries.each do |entry|
|
entries.each do |entry|
|
||||||
entry = diary_entries(entry)
|
|
||||||
assert_select "a[href=?]", "/user/#{entry.user.display_name}/diary/#{entry.id}"
|
assert_select "a[href=?]", "/user/#{entry.user.display_name}/diary/#{entry.id}"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
35
test/fixtures/diary_comments.yml
vendored
35
test/fixtures/diary_comments.yml
vendored
|
@ -1,35 +0,0 @@
|
||||||
comment_for_geo_post:
|
|
||||||
id: 1
|
|
||||||
diary_entry_id: 2
|
|
||||||
user_id: 2
|
|
||||||
body: Some comment text
|
|
||||||
created_at: "2008-11-08 09:45:34"
|
|
||||||
updated_at: "2008-11-08 10:34:34"
|
|
||||||
visible: true
|
|
||||||
|
|
||||||
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"
|
|
||||||
visible: true
|
|
||||||
|
|
||||||
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"
|
|
||||||
visible: true
|
|
||||||
|
|
||||||
hidden_comment:
|
|
||||||
id: 4
|
|
||||||
diary_entry_id: 2
|
|
||||||
user_id: 2
|
|
||||||
body: Some comment text
|
|
||||||
created_at: "2008-11-08 09:45:34"
|
|
||||||
updated_at: "2008-11-08 10:34:34"
|
|
||||||
visible: false
|
|
71
test/fixtures/diary_entries.yml
vendored
71
test/fixtures/diary_entries.yml
vendored
|
@ -1,71 +0,0 @@
|
||||||
normal_user_entry_1:
|
|
||||||
id: 1
|
|
||||||
user_id: 1
|
|
||||||
title: Diary Entry 1
|
|
||||||
body: This is the body of diary entry 1.
|
|
||||||
created_at: "2008-11-07 17:43:34"
|
|
||||||
updated_at: "2008-11-07 17:43:34"
|
|
||||||
latitude:
|
|
||||||
longitude:
|
|
||||||
language_code: en
|
|
||||||
visible: true
|
|
||||||
|
|
||||||
normal_user_geo_entry:
|
|
||||||
id: 2
|
|
||||||
user_id: 1
|
|
||||||
title: Geo Entry 1
|
|
||||||
body: This is the body of a geo diary entry in London.
|
|
||||||
created_at: "2008-11-07 17:47:34"
|
|
||||||
updated_at: "2008-11-07 17:47:34"
|
|
||||||
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
|
|
||||||
|
|
||||||
entry_by_suspended_user:
|
|
||||||
id: 4
|
|
||||||
user_id: 10
|
|
||||||
title: Entry by suspended user
|
|
||||||
body: This is the body of a diary entry by a suspended user.
|
|
||||||
created_at: "2008-11-07 17:43:34"
|
|
||||||
updated_at: "2008-11-07 17:43:34"
|
|
||||||
latitude:
|
|
||||||
longitude:
|
|
||||||
language_code: en
|
|
||||||
visible: true
|
|
||||||
|
|
||||||
entry_by_deleted_user:
|
|
||||||
id: 5
|
|
||||||
user_id: 11
|
|
||||||
title: Entry by deleted user
|
|
||||||
body: This is the body of a diary entry by a deleted user.
|
|
||||||
created_at: "2008-11-07 17:43:34"
|
|
||||||
updated_at: "2008-11-07 17:43:34"
|
|
||||||
latitude:
|
|
||||||
longitude:
|
|
||||||
language_code: en
|
|
||||||
visible: true
|
|
||||||
|
|
||||||
public_user_entry_1:
|
|
||||||
id: 6
|
|
||||||
user_id: 2
|
|
||||||
title: Public User Diary Entry 1
|
|
||||||
body: This is the body of diary entry 1.
|
|
||||||
created_at: "2008-11-07 17:43:34"
|
|
||||||
updated_at: "2008-11-07 17:43:34"
|
|
||||||
latitude:
|
|
||||||
longitude:
|
|
||||||
language_code: en
|
|
||||||
visible: true
|
|
Loading…
Add table
Add a link
Reference in a new issue