From 41b653948be28f104011a73f04615a562841bd6c Mon Sep 17 00:00:00 2001 From: Anton Khorev Date: Thu, 10 Jul 2025 15:48:17 +0300 Subject: [PATCH] Update number of deleted nodes in changeset --- app/models/node.rb | 2 ++ .../api/changesets/uploads_controller_test.rb | 23 +++++++++++++++++++ test/controllers/api/nodes_controller_test.rb | 5 ++++ 3 files changed, 30 insertions(+) diff --git a/app/models/node.rb b/app/models/node.rb index 6291cf985..e5655ad0a 100644 --- a/app/models/node.rb +++ b/app/models/node.rb @@ -159,6 +159,8 @@ class Node < ApplicationRecord # update the changeset with the deleted position changeset.update_bbox!(bbox) + changeset.num_deleted_nodes += 1 + save_with_history! end end diff --git a/test/controllers/api/changesets/uploads_controller_test.rb b/test/controllers/api/changesets/uploads_controller_test.rb index 9cc0673ba..474008a2f 100644 --- a/test/controllers/api/changesets/uploads_controller_test.rb +++ b/test/controllers/api/changesets/uploads_controller_test.rb @@ -1126,6 +1126,11 @@ module Api end end + changeset.reload + assert_equal 1, changeset.num_changes + assert_predicate changeset, :num_type_changes_in_sync? + assert_equal 1, changeset.num_deleted_nodes + node.reload assert_not_predicate node, :visible? end @@ -1270,6 +1275,11 @@ module Api end end + changeset.reload + assert_equal 1, changeset.num_changes + assert_predicate changeset, :num_type_changes_in_sync? + assert_equal 1, changeset.num_deleted_nodes + node.reload assert_not node.visible end @@ -1514,6 +1524,13 @@ module Api assert_dom "diffResult>node", 3 assert_dom "diffResult>node[old_id='-1']", 3 + changeset.reload + assert_equal 3, changeset.num_changes + assert_predicate changeset, :num_type_changes_in_sync? + assert_equal 1, changeset.num_created_nodes + assert_equal 1, changeset.num_modified_nodes + assert_equal 1, changeset.num_deleted_nodes + node = Node.last assert_equal 3, node.version assert_not node.visible @@ -1573,6 +1590,12 @@ module Api assert_dom "diffResult>node[new_version='1']", 1 assert_dom "diffResult>node[new_version='2']", 1 + changeset.reload + assert_equal 2, changeset.num_changes + assert_predicate changeset, :num_type_changes_in_sync? + assert_equal 1, changeset.num_created_nodes + assert_equal 1, changeset.num_deleted_nodes + node = Node.last assert_equal 2, node.version assert_not node.visible diff --git a/test/controllers/api/nodes_controller_test.rb b/test/controllers/api/nodes_controller_test.rb index 59612fb5d..296942e96 100644 --- a/test/controllers/api/nodes_controller_test.rb +++ b/test/controllers/api/nodes_controller_test.rb @@ -449,6 +449,11 @@ module Api node.reload assert_not_predicate node, :visible? assert_equal response_node_version, node.version + + changeset.reload + assert_equal 1, changeset.num_changes + assert_predicate changeset, :num_type_changes_in_sync? + assert_equal 1, changeset.num_deleted_nodes end end -- 2.39.5