1 # frozen_string_literal: true
3 require "application_system_test_case"
5 class ResolveNoteTest < ApplicationSystemTestCase
6 test "can resolve an open note" do
7 note = create(:note_with_comments)
13 assert_button "Resolve"
14 assert_no_button "Comment & Resolve"
15 assert_no_button "Reactivate"
19 assert_content "Resolved note ##{note.id}"
23 test "can resolve an open note with a comment" do
24 note = create(:note_with_comments)
30 assert_button "Resolve"
31 assert_no_button "Comment & Resolve"
32 assert_no_button "Reactivate"
34 fill_in "text", :with => "Note resolve text"
36 assert_button "Comment & Resolve"
38 click_on "Comment & Resolve"
40 assert_content "Resolved note ##{note.id}"
41 assert_content "Note resolve text"
45 test "can reactivate a closed note" do
46 note = create(:note_with_comments, :closed)
52 assert_no_button "Resolve"
53 assert_no_button "Comment & Resolve"
54 assert_button "Reactivate"
58 assert_content "Unresolved note ##{note.id}"
59 assert_no_content "<iframe" # leak from share textarea
63 test "can hide an open note as moderator" do
64 note = create(:note_with_comments)
65 user = create(:moderator_user)
74 assert_content "Hidden note ##{note.id}"
78 test "can hide a closed note as moderator" do
79 note = create(:note_with_comments, :closed)
80 user = create(:moderator_user)
89 assert_content "Hidden note ##{note.id}"
90 assert_no_content "<iframe" # leak from share textarea
91 assert_no_content "undefined" # value from missing comment textarea
95 test "can't resolve a note when blocked" do
96 note = create(:note_with_comments)
100 create(:user_block, :user => user)
103 assert_text "Unresolved note"
104 assert_no_text "Resolved note"
105 assert_no_text "Your access to the API has been blocked"
106 assert_button "Resolve", :disabled => false
107 assert_button "Comment", :disabled => true
111 assert_text "Unresolved note"
112 assert_no_text "Resolved note"
113 assert_text "Your access to the API has been blocked"
114 assert_button "Resolve", :disabled => false
115 assert_button "Comment", :disabled => true
119 test "can't reactivate a note when blocked" do
120 note = create(:note_with_comments, :closed)
123 visit note_path(note)
124 create(:user_block, :user => user)
127 assert_no_text "Unresolved note"
128 assert_text "Resolved note"
129 assert_no_text "Your access to the API has been blocked"
130 assert_button "Reactivate", :disabled => false
132 click_on "Reactivate"
134 assert_no_text "Unresolved note"
135 assert_text "Resolved note"
136 assert_text "Your access to the API has been blocked"
137 assert_button "Reactivate", :disabled => false