From bd0f5a1932829ca44c0fef2fe7d825fda76e41eb Mon Sep 17 00:00:00 2001 From: Anton Khorev Date: Sun, 9 Feb 2025 06:44:10 +0300 Subject: [PATCH] Split api old element redacted index tests --- .../api/old_nodes_controller_test.rb | 24 +++++++++++-------- .../api/old_relations_controller_test.rb | 24 +++++++++++-------- .../api/old_ways_controller_test.rb | 24 +++++++++++-------- 3 files changed, 42 insertions(+), 30 deletions(-) diff --git a/test/controllers/api/old_nodes_controller_test.rb b/test/controllers/api/old_nodes_controller_test.rb index 75123f9e0..27ed11aa4 100644 --- a/test/controllers/api/old_nodes_controller_test.rb +++ b/test/controllers/api/old_nodes_controller_test.rb @@ -52,22 +52,26 @@ module Api ## # test that redacted nodes aren't visible in the history - def test_index_redacted + def test_index_redacted_unauthorised node = create(:node, :with_history, :version => 2) - node_v1 = node.old_nodes.find_by(:version => 1) - node_v1.redact!(create(:redaction)) + node.old_nodes.find_by(:version => 1).redact!(create(:redaction)) get api_node_versions_path(node) + assert_response :success, "Redaction shouldn't have stopped history working." - assert_select "osm node[id='#{node_v1.node_id}'][version='#{node_v1.version}']", 0, - "redacted node #{node_v1.node_id} version #{node_v1.version} shouldn't be present in the history." + assert_dom "osm node[id='#{node.id}'][version='1']", 0, + "redacted node #{node.id} version 1 shouldn't be present in the history." + end + + def test_index_redacted_normal_user + node = create(:node, :with_history, :version => 2) + node.old_nodes.find_by(:version => 1).redact!(create(:redaction)) + + get api_node_versions_path(node), :headers => bearer_authorization_header - # not even to a logged-in user - auth_header = bearer_authorization_header - get api_node_versions_path(node), :headers => auth_header assert_response :success, "Redaction shouldn't have stopped history working." - assert_select "osm node[id='#{node_v1.node_id}'][version='#{node_v1.version}']", 0, - "redacted node #{node_v1.node_id} version #{node_v1.version} shouldn't be present in the history, even when logged in." + assert_dom "osm node[id='#{node.id}'][version='1']", 0, + "redacted node #{node.id} version 1 shouldn't be present in the history, even when logged in." end def test_show diff --git a/test/controllers/api/old_relations_controller_test.rb b/test/controllers/api/old_relations_controller_test.rb index 96e4c99e4..137a1bb33 100644 --- a/test/controllers/api/old_relations_controller_test.rb +++ b/test/controllers/api/old_relations_controller_test.rb @@ -55,22 +55,26 @@ module Api ## # test that redacted relations aren't visible in the history - def test_index_redacted + def test_index_redacted_unauthorised relation = create(:relation, :with_history, :version => 2) - relation_v1 = relation.old_relations.find_by(:version => 1) - relation_v1.redact!(create(:redaction)) + relation.old_relations.find_by(:version => 1).redact!(create(:redaction)) get api_relation_versions_path(relation) + assert_response :success, "Redaction shouldn't have stopped history working." - assert_select "osm relation[id='#{relation_v1.relation_id}'][version='#{relation_v1.version}']", 0, - "redacted relation #{relation_v1.relation_id} version #{relation_v1.version} shouldn't be present in the history." + assert_dom "osm relation[id='#{relation.id}'][version='1']", 0, + "redacted relation #{relation.id} version 1 shouldn't be present in the history." + end + + def test_index_redacted_normal_user + relation = create(:relation, :with_history, :version => 2) + relation.old_relations.find_by(:version => 1).redact!(create(:redaction)) + + get api_relation_versions_path(relation), :headers => bearer_authorization_header - # not even to a logged-in user - auth_header = bearer_authorization_header - get api_relation_versions_path(relation), :headers => auth_header assert_response :success, "Redaction shouldn't have stopped history working." - assert_select "osm relation[id='#{relation_v1.relation_id}'][version='#{relation_v1.version}']", 0, - "redacted relation #{relation_v1.relation_id} version #{relation_v1.version} shouldn't be present in the history, even when logged in." + assert_dom "osm relation[id='#{relation.id}'][version='1']", 0, + "redacted relation #{relation.id} version 1 shouldn't be present in the history, even when logged in." end def test_show diff --git a/test/controllers/api/old_ways_controller_test.rb b/test/controllers/api/old_ways_controller_test.rb index a00dd84cf..b00c43ca7 100644 --- a/test/controllers/api/old_ways_controller_test.rb +++ b/test/controllers/api/old_ways_controller_test.rb @@ -62,22 +62,26 @@ module Api ## # test that redacted ways aren't visible in the history - def test_index_redacted + def test_index_redacted_unauthorised way = create(:way, :with_history, :version => 2) - way_v1 = way.old_ways.find_by(:version => 1) - way_v1.redact!(create(:redaction)) + way.old_ways.find_by(:version => 1).redact!(create(:redaction)) get api_way_versions_path(way) + assert_response :success, "Redaction shouldn't have stopped history working." - assert_select "osm way[id='#{way_v1.way_id}'][version='#{way_v1.version}']", 0, - "redacted way #{way_v1.way_id} version #{way_v1.version} shouldn't be present in the history." + assert_dom "osm way[id='#{way.id}'][version='1']", 0, + "redacted way #{way.id} version 1 shouldn't be present in the history." + end + + def test_index_redacted_normal_user + way = create(:way, :with_history, :version => 2) + way.old_ways.find_by(:version => 1).redact!(create(:redaction)) + + get api_way_versions_path(way), :headers => bearer_authorization_header - # not even to a logged-in user - auth_header = bearer_authorization_header - get api_way_versions_path(way), :headers => auth_header assert_response :success, "Redaction shouldn't have stopped history working." - assert_select "osm way[id='#{way_v1.way_id}'][version='#{way_v1.version}']", 0, - "redacted node #{way_v1.way_id} version #{way_v1.version} shouldn't be present in the history, even when logged in." + assert_dom "osm way[id='#{way.id}'][version='1']", 0, + "redacted node #{way.id} version 1 shouldn't be present in the history, even when logged in." end def test_show -- 2.39.5