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