]> git.openstreetmap.org Git - rails.git/commitdiff
Add :closed trait to note factory
authorAnton Khorev <tony29@yandex.ru>
Fri, 5 Jan 2024 09:34:27 +0000 (12:34 +0300)
committerAnton Khorev <tony29@yandex.ru>
Fri, 5 Jan 2024 09:34:27 +0000 (12:34 +0300)
test/controllers/api/notes_controller_test.rb
test/factories/notes.rb
test/models/note_test.rb
test/system/note_comments_test.rb

index 874ac3ccda1a65d474e9a1f6cd12312177a43967..303bcea91fc5abbb32df2e03d8890a6eb58870a6 100644 (file)
@@ -345,7 +345,7 @@ module Api
       end
       assert_response :gone
 
-      closed_note_with_comment = create(:note_with_comments, :status => "closed", :closed_at => Time.now.utc)
+      closed_note_with_comment = create(:note_with_comments, :closed)
 
       assert_no_difference "NoteComment.count" do
         post comment_api_note_path(:id => closed_note_with_comment, :text => "This is an additional comment"), :headers => auth_header
@@ -406,14 +406,14 @@ module Api
       post close_api_note_path(:id => hidden_note_with_comment), :headers => auth_header
       assert_response :gone
 
-      closed_note_with_comment = create(:note_with_comments, :status => "closed", :closed_at => Time.now.utc)
+      closed_note_with_comment = create(:note_with_comments, :closed)
 
       post close_api_note_path(:id => closed_note_with_comment), :headers => auth_header
       assert_response :conflict
     end
 
     def test_reopen_success
-      closed_note_with_comment = create(:note_with_comments, :status => "closed", :closed_at => Time.now.utc)
+      closed_note_with_comment = create(:note_with_comments, :closed)
       user = create(:user)
 
       post reopen_api_note_path(:id => closed_note_with_comment, :text => "This is a reopen comment", :format => "json")
@@ -428,7 +428,7 @@ module Api
       assert_equal "Feature", js["type"]
       assert_equal closed_note_with_comment.id, js["properties"]["id"]
       assert_equal "open", js["properties"]["status"]
-      assert_equal 2, js["properties"]["comments"].count
+      assert_equal 3, js["properties"]["comments"].count
       assert_equal "reopened", js["properties"]["comments"].last["action"]
       assert_equal "This is a reopen comment", js["properties"]["comments"].last["text"]
       assert_equal user.display_name, js["properties"]["comments"].last["user"]
@@ -440,7 +440,7 @@ module Api
       assert_equal "Feature", js["type"]
       assert_equal closed_note_with_comment.id, js["properties"]["id"]
       assert_equal "open", js["properties"]["status"]
-      assert_equal 2, js["properties"]["comments"].count
+      assert_equal 3, js["properties"]["comments"].count
       assert_equal "reopened", js["properties"]["comments"].last["action"]
       assert_equal "This is a reopen comment", js["properties"]["comments"].last["text"]
       assert_equal user.display_name, js["properties"]["comments"].last["user"]
@@ -752,8 +752,8 @@ module Api
     end
 
     def test_index_closed
-      create(:note_with_comments, :status => "closed", :closed_at => Time.now.utc - 5.days)
-      create(:note_with_comments, :status => "closed", :closed_at => Time.now.utc - 100.days)
+      create(:note_with_comments, :closed, :closed_at => Time.now.utc - 5.days)
+      create(:note_with_comments, :closed, :closed_at => Time.now.utc - 100.days)
       create(:note_with_comments, :status => "hidden")
       create(:note_with_comments)
 
index 77b4245aa5b037fdf5eb491d565e63f2017d93d0..63dcd78048c4d44e61ef9776de980f4512e4c814 100644 (file)
@@ -4,6 +4,15 @@ FactoryBot.define do
     longitude { 1 * GeoRecord::SCALE }
     # tile { QuadTile.tile_for_point(1,1) }
 
+    trait :closed do
+      status { "closed" }
+      closed_at { Time.now.utc }
+
+      after(:create) do |note|
+        create(:note_comment, :body => "Closing comment", :event => "closed", :note => note)
+      end
+    end
+
     factory :note_with_comments do
       transient do
         comments_count { 1 }
index 8d5a557cd4dfbbe9b8ffb043fe6047aec7f3049c..34b16c19d5e113a197ee4ff8ba7b4b29ff600256 100644 (file)
@@ -14,7 +14,7 @@ class NoteTest < ActiveSupport::TestCase
     bad.each do |status|
       note = create(:note)
       note.status = status
-      assert_not note.valid?, "#{status} is valid when it shouldn't be"
+      assert_not_predicate note, :valid?, "#{status} is valid when it shouldn't be"
     end
   end
 
@@ -28,7 +28,7 @@ class NoteTest < ActiveSupport::TestCase
   end
 
   def test_reopen
-    note = create(:note, :status => "closed", :closed_at => Time.now.utc)
+    note = create(:note, :closed)
     assert_equal "closed", note.status
     assert_not_nil note.closed_at
     note.reopen
@@ -38,13 +38,13 @@ class NoteTest < ActiveSupport::TestCase
 
   def test_visible?
     assert_predicate create(:note, :status => "open"), :visible?
-    assert_predicate create(:note, :status => "closed"), :visible?
-    assert_not create(:note, :status => "hidden").visible?
+    assert_predicate create(:note, :closed), :visible?
+    assert_not_predicate create(:note, :status => "hidden"), :visible?
   end
 
   def test_closed?
-    assert_predicate create(:note, :status => "closed", :closed_at => Time.now.utc), :closed?
-    assert_not create(:note, :status => "open", :closed_at => nil).closed?
+    assert_predicate create(:note, :closed), :closed?
+    assert_not_predicate create(:note, :status => "open", :closed_at => nil), :closed?
   end
 
   def test_author
index 2ad64ccc8fa3f2170adf9154adf3076e03e6311e..aa548059fb0d575fcc3aeed1aba395d8d7891d61 100644 (file)
@@ -11,7 +11,7 @@ class NoteCommentsTest < ApplicationSystemTestCase
   end
 
   test "closed note has no login notice" do
-    note = create(:note_with_comments, :status => "closed", :closed_at => Time.now.utc)
+    note = create(:note_with_comments, :closed)
     visit note_path(note)
 
     assert_no_button "Reactivate"