Added tests for browsing object histories with redacted elements
This commit is contained in:
parent
e01a309970
commit
9c098816e5
5 changed files with 63 additions and 0 deletions
|
@ -1,3 +1,6 @@
|
|||
<% if node_details.redacted? %>
|
||||
<p><%= raw t 'browse.redacted.message', :type => t('browse.redacted.type.node'), :redaction_link => link_to(node_details.redaction) %></p>
|
||||
<% else %>
|
||||
<table class="browse_details" id="<%= node_details.version %>">
|
||||
|
||||
<%= render :partial => "common_details", :object => node_details %>
|
||||
|
@ -22,3 +25,4 @@
|
|||
<% end %>
|
||||
|
||||
</table>
|
||||
<% end %>
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
<% if relation_details.redacted? %>
|
||||
<p><%= raw t 'browse.redacted.message', :type => t('browse.redacted.type.relation'), :redaction_link => link_to(relation_details.redaction) %></p>
|
||||
<% else %>
|
||||
<table class="browse_details" id="<%= relation_details.version %>">
|
||||
|
||||
<%= render :partial => "common_details", :object => relation_details %>
|
||||
|
@ -25,3 +28,4 @@
|
|||
<% end %>
|
||||
|
||||
</table>
|
||||
<% end %>
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
<% if way_details.redacted? %>
|
||||
<p><%= raw t 'browse.redacted.message', :type => t('browse.redacted.type.way'), :redaction_link => link_to(way_details.redaction) %></p>
|
||||
<% else %>
|
||||
<table class="browse_details" id="<%= way_details.version %>">
|
||||
|
||||
<%= render :partial => "common_details", :object => way_details %>
|
||||
|
@ -33,3 +36,4 @@
|
|||
<% end %>
|
||||
|
||||
</table>
|
||||
<% end %>
|
||||
|
|
|
@ -195,6 +195,12 @@ en:
|
|||
paging_nav:
|
||||
showing_page: "Showing page"
|
||||
of: "of"
|
||||
redacted:
|
||||
message: "This #{type} version cannot be shown as it has been redacted. Please see %{redaction_link} for details."
|
||||
type:
|
||||
node: "node"
|
||||
way: "way"
|
||||
relation: "relation"
|
||||
relation_details:
|
||||
members: "Members:"
|
||||
part_of: "Part of:"
|
||||
|
|
|
@ -73,6 +73,51 @@ class BrowseControllerTest < ActionController::TestCase
|
|||
def test_read_changeset
|
||||
browse_check 'changeset', changesets(:normal_user_first_change).id
|
||||
end
|
||||
|
||||
##
|
||||
# Methods to check redaction.
|
||||
#
|
||||
# note that these are presently highly reliant on the structure of the
|
||||
# page for the selection tests, which doesn't work out particularly
|
||||
# well if that structure changes. so... if you change the page layout
|
||||
# then please make it more easily (and robustly) testable!
|
||||
##
|
||||
def test_redacted_node_history
|
||||
get :node_history, :id => nodes(:redacted_node_redacted_version).node_id
|
||||
assert_response :success
|
||||
assert_template 'node_history'
|
||||
|
||||
# there are 2 revisions of the redacted node, but only one
|
||||
# should be showing up here.
|
||||
assert_select "body div[id=content] table[class=browse_details]", 1
|
||||
assert_select "body div[id=content] table[class=browse_details][id=1]", 0
|
||||
end
|
||||
|
||||
def test_redacted_way_history
|
||||
get :way_history, :id => ways(:way_with_redacted_versions_v1).way_id
|
||||
assert_response :success
|
||||
assert_template 'way_history'
|
||||
|
||||
# there are 4 revisions of the redacted way, but only 2
|
||||
# should be showing up here.
|
||||
assert_select "body div[id=content] table[class=browse_details]", 2
|
||||
# redacted revisions are 2 & 3
|
||||
assert_select "body div[id=content] table[class=browse_details][id=2]", 0
|
||||
assert_select "body div[id=content] table[class=browse_details][id=3]", 0
|
||||
end
|
||||
|
||||
def test_redacted_relation_history
|
||||
get :relation_history, :id => relations(:relation_with_redacted_versions_v1).relation_id
|
||||
assert_response :success
|
||||
assert_template 'relation_history'
|
||||
|
||||
# there are 4 revisions of the redacted relation, but only 2
|
||||
# should be showing up here.
|
||||
assert_select "body div[id=content] table[class=browse_details]", 2
|
||||
# redacted revisions are 2 & 3
|
||||
assert_select "body div[id=content] table[class=browse_details][id=2]", 0
|
||||
assert_select "body div[id=content] table[class=browse_details][id=3]", 0
|
||||
end
|
||||
|
||||
# This is a convenience method for most of the above checks
|
||||
# First we check that when we don't have an id, it will correctly return a 404
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue