X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/2f9291ba5764fe104264ae7e3b6a361e11212e8b..a2a0db9ee2dd0a957ce0274e26c66f135a2e3a31:/test/system/diary_entry_test.rb?ds=sidebyside diff --git a/test/system/diary_entry_test.rb b/test/system/diary_entry_test.rb index 39ccc04b2..38e2a1847 100644 --- a/test/system/diary_entry_test.rb +++ b/test/system/diary_entry_test.rb @@ -8,11 +8,57 @@ class DiaryEntrySystemTest < ApplicationSystemTestCase test "reply to diary entry should prefill the message subject" do sign_in_as(create(:user)) - visit diary_path + visit diary_entries_path click_on "Reply to this entry" assert page.has_content? "Send a new message" assert_equal "Re: #{@diary_entry.title}", page.find_field("Subject").value end + + test "deleted diary entries should be hidden for regular users" do + @deleted_entry = create(:diary_entry, :visible => false) + + sign_in_as(create(:user)) + visit diary_entries_path + + assert_not page.has_content? @deleted_entry.title + end + + test "deleted diary entries should be shown to administrators for review" do + @deleted_entry = create(:diary_entry, :visible => false) + + sign_in_as(create(:administrator_user)) + visit diary_entries_path + + assert page.has_content? @deleted_entry.title + end + + test "deleted diary entries should not be shown to admins when the user is also deleted" do + @deleted_user = create(:user, :status => :deleted) + @deleted_entry = create(:diary_entry, :visible => false, :user => @deleted_user) + + sign_in_as(create(:administrator_user)) + visit diary_entries_path + + assert_not page.has_content? @deleted_entry.title + end + + test "deleted diary comments should be hidden for regular users" do + @deleted_comment = create(:diary_comment, :diary_entry => @diary_entry, :visible => false) + + sign_in_as(create(:user)) + visit diary_entry_path(@diary_entry.user, @diary_entry) + + assert_not page.has_content? @deleted_comment.body + end + + test "deleted diary comments should be shown to administrators" do + @deleted_comment = create(:diary_comment, :diary_entry => @diary_entry, :visible => false) + + sign_in_as(create(:administrator_user)) + visit diary_entry_path(@diary_entry.user, @diary_entry) + + assert page.has_content? @deleted_comment.body + end end