From 3b01ebeba99a84f47281268d3abb99fdf79741a4 Mon Sep 17 00:00:00 2001 From: Anton Khorev Date: Thu, 10 Jul 2025 16:05:48 +0300 Subject: [PATCH] Update number of deleted relations in changeset --- app/models/relation.rb | 1 + .../api/changesets/uploads_controller_test.rb | 12 ++++++++++++ test/controllers/api/relations_controller_test.rb | 5 +++++ 3 files changed, 18 insertions(+) diff --git a/app/models/relation.rb b/app/models/relation.rb index 810e78248..8c844325f 100644 --- a/app/models/relation.rb +++ b/app/models/relation.rb @@ -175,6 +175,7 @@ class Relation < ApplicationRecord self.tags = {} self.members = [] self.visible = false + changeset.num_deleted_relations += 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 5cfaf5a4f..9c2ccb63b 100644 --- a/test/controllers/api/changesets/uploads_controller_test.rb +++ b/test/controllers/api/changesets/uploads_controller_test.rb @@ -1209,6 +1209,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_relations + relation.reload assert_not_predicate relation, :visible? end @@ -1252,6 +1257,13 @@ module Api assert_dom "> relation", 2 end + changeset.reload + assert_equal 4, changeset.num_changes + assert_predicate changeset, :num_type_changes_in_sync? + assert_equal 1, changeset.num_deleted_nodes + assert_equal 1, changeset.num_deleted_ways + assert_equal 2, changeset.num_deleted_relations + assert_not Node.find(used_node.id).visible assert_not Way.find(used_way.id).visible assert_not Relation.find(super_relation.id).visible diff --git a/test/controllers/api/relations_controller_test.rb b/test/controllers/api/relations_controller_test.rb index f2fae8fe2..025d67e8f 100644 --- a/test/controllers/api/relations_controller_test.rb +++ b/test/controllers/api/relations_controller_test.rb @@ -736,6 +736,11 @@ module Api assert_response :success assert_operator @response.body.to_i, :>, relation.version, "delete request should return a new version number for relation" + + changeset.reload + assert_equal 1, changeset.num_changes + assert_predicate changeset, :num_type_changes_in_sync? + assert_equal 1, changeset.num_deleted_relations end end -- 2.39.5