]> git.openstreetmap.org Git - rails.git/blobdiff - test/system/note_comments_test.rb
Limit system test asserts/interactions to sidebar
[rails.git] / test / system / note_comments_test.rb
index 23f3fc98eecb636f54a0389d925d9a9b0f9d3384..ea19dcd9497fc3f6d17bb206693580114db685d2 100644 (file)
@@ -1,17 +1,48 @@
 require "application_system_test_case"
 
 class NoteCommentsTest < ApplicationSystemTestCase
-  def test_action_text
+  test "open note has login notice" do
     note = create(:note_with_comments)
-    sign_in_as(create(:user))
     visit note_path(note)
 
-    assert_button "Resolve"
-    assert_button "Comment", :disabled => true
+    within_sidebar do
+      assert_no_button "Resolve"
+      assert_no_button "Comment"
+      assert_link "Log in to comment on this note", :href => login_path(:referer => note_path(note))
+    end
+  end
+
+  test "closed note has no login notice" do
+    note = create(:note_with_comments, :closed)
+    visit note_path(note)
+
+    within_sidebar do
+      assert_no_button "Reactivate"
+      assert_no_link "Log in to comment on this note"
+    end
+  end
+
+  def test_add_comment
+    note = create(:note_with_comments)
+    user = create(:user)
+    sign_in_as(user)
+    visit note_path(note)
+
+    within_sidebar do
+      assert_no_content "Comment from #{user.display_name}"
+      assert_no_content "Some newly added note comment"
+      assert_button "Resolve"
+      assert_button "Comment", :disabled => true
+
+      fill_in "text", :with => "Some newly added note comment"
+
+      assert_button "Comment & Resolve"
+      assert_button "Comment", :disabled => false
 
-    fill_in "text", :with => "Some text"
+      click_on "Comment"
 
-    assert_button "Comment & Resolve"
-    assert_button "Comment"
+      assert_content "Comment from #{user.display_name}"
+      assert_content "Some newly added note comment"
+    end
   end
 end