From cd803c1279b58dd5d598e7081ad4a4635d78d7c6 Mon Sep 17 00:00:00 2001 From: Anton Khorev Date: Thu, 10 Jul 2025 09:49:47 +0300 Subject: [PATCH] Update number of created relations in changeset --- app/models/relation.rb | 1 + .../api/changesets/uploads_controller_test.rb | 12 +++++++++++ .../api/relations_controller_test.rb | 20 +++++++++++++++++++ 3 files changed, 33 insertions(+) diff --git a/app/models/relation.rb b/app/models/relation.rb index 0742976e8..9ef2d2979 100644 --- a/app/models/relation.rb +++ b/app/models/relation.rb @@ -200,6 +200,7 @@ class Relation < ApplicationRecord self.version = 0 self.visible = true + changeset.num_created_relations += 1 save_with_history! end diff --git a/test/controllers/api/changesets/uploads_controller_test.rb b/test/controllers/api/changesets/uploads_controller_test.rb index a08939e09..fd5223c16 100644 --- a/test/controllers/api/changesets/uploads_controller_test.rb +++ b/test/controllers/api/changesets/uploads_controller_test.rb @@ -340,6 +340,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_created_relations + assert_equal 1, relation.version assert_equal changeset, relation.changeset assert_predicate relation, :visible? @@ -405,6 +410,13 @@ module Api end end + 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_created_ways + assert_equal 1, changeset.num_created_relations + assert_equal 2, Node.find(new_node_id).tags.size, "new node should have two tags" assert_equal 0, Way.find(new_way_id).tags.size, "new way should have no tags" assert_equal 0, Relation.find(new_rel_id).tags.size, "new relation should have no tags" diff --git a/test/controllers/api/relations_controller_test.rb b/test/controllers/api/relations_controller_test.rb index 54f75d262..1ec1b3d5b 100644 --- a/test/controllers/api/relations_controller_test.rb +++ b/test/controllers/api/relations_controller_test.rb @@ -308,6 +308,11 @@ module Api assert_equal({ "test" => "yes" }, relation.tags) assert_equal changeset.id, relation.changeset_id, "saved relation does not belong in the changeset it was assigned to" assert relation.visible, "saved relation is not visible" + + changeset.reload + assert_equal 1, changeset.num_changes + assert_predicate changeset, :num_type_changes_in_sync? + assert_equal 1, changeset.num_created_relations end end @@ -337,6 +342,11 @@ module Api assert_equal({ "test" => "yes" }, relation.tags) assert_equal changeset.id, relation.changeset_id, "saved relation does not belong in the changeset it was assigned to" assert relation.visible, "saved relation is not visible" + + changeset.reload + assert_equal 1, changeset.num_changes + assert_predicate changeset, :num_type_changes_in_sync? + assert_equal 1, changeset.num_created_relations end end @@ -366,6 +376,11 @@ module Api assert_equal({ "test" => "yes" }, relation.tags) assert_equal changeset.id, relation.changeset_id, "saved relation does not belong in the changeset it was assigned to" assert relation.visible, "saved relation is not visible" + + changeset.reload + assert_equal 1, changeset.num_changes + assert_predicate changeset, :num_type_changes_in_sync? + assert_equal 1, changeset.num_created_relations end end @@ -398,6 +413,11 @@ module Api assert_equal({ "test" => "yes" }, relation.tags) assert_equal changeset.id, relation.changeset_id, "saved relation does not belong in the changeset it was assigned to" assert relation.visible, "saved relation is not visible" + + changeset.reload + assert_equal 1, changeset.num_changes + assert_predicate changeset, :num_type_changes_in_sync? + assert_equal 1, changeset.num_created_relations end end -- 2.39.5