Removes first comment body from notes tests

Improves notes unit tests by replacing checking with first comment's body with checking with default / user-specified descriptions. Also, removes test_author unit test, adds setting note's author when checking notification's success and sets first comment type to "opened" in tests with tooltips which require first comment to be "opened".
This commit is contained in:
Nenad Vujicic 2025-03-04 16:12:14 +01:00 committed by Tom Hughes
parent 047e972b2d
commit cc6bfb2c7c
6 changed files with 31 additions and 21 deletions

View file

@ -338,7 +338,7 @@ module Api
second_user = create(:user)
third_user = create(:user)
note_with_comments_by_users = create(:note) do |note|
note_with_comments_by_users = create(:note, :author => first_user) do |note|
create(:note_comment, :note => note, :author => first_user)
create(:note_comment, :note => note, :author => second_user)
end

View file

@ -12,8 +12,8 @@ class IssueTest < ActiveSupport::TestCase
def test_reported_user
create(:language, :code => "en")
user = create(:user)
note = create(:note_comment, :author => create(:user)).note
anonymous_note = create(:note_comment, :author => nil).note
note = create(:note, :author => create(:user))
anonymous_note = create(:note, :author => nil)
diary_entry = create(:diary_entry)
diary_comment = create(:diary_comment, :diary_entry => diary_entry)

View file

@ -48,20 +48,29 @@ class NoteTest < ActiveSupport::TestCase
end
def test_description
comment = create(:note_comment)
assert_equal comment.body, comment.note.description
note = create(:note)
assert_equal "Default note's description", note.description
user = create(:user)
comment = create(:note_comment, :author => user)
assert_equal comment.body, comment.note.description
note = create(:note, :description => "Test description #1")
assert_equal "Test description #1", note.description
comment = create(:note_comment)
assert_equal "Default note's description", comment.note.description
comment = create(:note_comment, :note => build(:note, :description => "Test description #2"))
assert_equal "Test description #2", comment.note.description
end
def test_author
user = create(:user)
note = create(:note, :author => user)
assert_equal user, note.author
comment = create(:note_comment)
assert_nil comment.note.author
user = create(:user)
comment = create(:note_comment, :author => user)
comment = create(:note_comment, :author => user, :note => build(:note, :author => user))
assert_equal user, comment.note.author
end

View file

@ -56,20 +56,20 @@ class IndexTest < ApplicationSystemTestCase
test "can navigate from hidden note to visible note" do
sign_in_as(create(:moderator_user))
hidden_note = create(:note, :status => "hidden")
create(:note_comment, :note => hidden_note, :body => "this-is-a-hidden-note")
hidden_note = create(:note, :status => "hidden", :description => "Hidden Note Description")
create(:note_comment, :note => hidden_note, :body => "this-is-a-hidden-note", :event => "opened")
position = (1.003 * GeoRecord::SCALE).to_i
visible_note = create(:note, :latitude => position, :longitude => position)
create(:note_comment, :note => visible_note, :body => "this-is-a-visible-note")
visible_note = create(:note, :latitude => position, :longitude => position, :description => "Visible Note Description")
create(:note_comment, :note => visible_note, :body => "this-is-a-visible-note", :event => "opened")
visit root_path(:anchor => "map=15/1/1") # view place of hidden note in case it is not rendered during note_path(hidden_note)
visit note_path(hidden_note)
find(".leaflet-control.control-layers .control-button").click
find("#map-ui .overlay-layers .form-check-label", :text => "Map Notes").click
visible_note_marker = find(".leaflet-marker-icon[title=this-is-a-visible-note]")
assert_selector "#sidebar", :text => "this-is-a-hidden-note"
assert_selector "#sidebar", :text => "Hidden Note Description"
visible_note_marker.click
assert_selector "#sidebar", :text => "this-is-a-visible-note"
assert_selector "#sidebar", :text => "Visible Note Description"
end
end

View file

@ -4,7 +4,7 @@ class NoteLayerTest < ApplicationSystemTestCase
test "note marker should have description as a title" do
position = (1.1 * GeoRecord::SCALE).to_i
create(:note, :latitude => position, :longitude => position) do |note|
create(:note_comment, :note => note, :body => "Note description")
create(:note_comment, :note => note, :body => "Note description", :event => "opened")
end
visit root_path(:anchor => "map=18/1.1/1.1&layers=N")
@ -16,8 +16,8 @@ class NoteLayerTest < ApplicationSystemTestCase
test "note marker should not have a title if the note has no visible description" do
position = (1.1 * GeoRecord::SCALE).to_i
create(:note, :latitude => position, :longitude => position) do |note|
create(:note_comment, :note => note, :body => "Note description is hidden", :visible => false)
create(:note_comment, :note => note, :body => "Note comment visible", :event => "commented")
create(:note_comment, :note => note, :body => "Note description is hidden", :event => "opened", :visible => false)
create(:note_comment, :note => note, :body => "Note comment visible")
end
visit root_path(:anchor => "map=18/1.1/1.1&layers=N")
@ -29,7 +29,7 @@ class NoteLayerTest < ApplicationSystemTestCase
test "note marker should not have a title if the note has no visible description and comments" do
position = (1.1 * GeoRecord::SCALE).to_i
create(:note, :latitude => position, :longitude => position) do |note|
create(:note_comment, :note => note, :body => "Note description is hidden", :visible => false)
create(:note_comment, :note => note, :body => "Note description is hidden", :event => "opened", :visible => false)
end
visit root_path(:anchor => "map=18/1.1/1.1&layers=N")

View file

@ -31,7 +31,8 @@ class ReportNoteTest < ApplicationSystemTestCase
end
def test_can_report_notes_with_author
note = create(:note_comment, :author => create(:user)).note
user = create(:user)
note = create(:note_comment, :author => user, :note => build(:note, :author => user)).note
sign_in_as(create(:user))
visit note_path(note)