]> git.openstreetmap.org Git - rails.git/blob - test/controllers/old_relation_members_controller_test.rb
Localisation updates from https://translatewiki.net.
[rails.git] / test / controllers / old_relation_members_controller_test.rb
1 require "test_helper"
2
3 class OldRelationMembersControllerTest < ActionDispatch::IntegrationTest
4   def test_routes
5     assert_routing(
6       { :path => "/relation/1/history/2/members", :method => :get },
7       { :controller => "old_relation_members", :action => "show", :id => "1", :version => "2" }
8     )
9   end
10
11   def test_show_with_members
12     relation = create(:relation, :with_history)
13     create(:old_relation_member, :old_relation => relation.old_relations.first)
14
15     get old_relation_members_path(relation, 1)
16
17     assert_response :success
18   end
19
20   def test_show_redacted_to_unauthorized_users
21     relation = create(:relation, :with_history, :version => 2)
22     relation.old_relations.find_by(:version => 1).redact!(create(:redaction))
23
24     get old_relation_members_path(relation, 1, :params => { :show_redactions => true })
25
26     assert_response :redirect
27   end
28
29   def test_show_redacted_to_regular_users
30     relation = create(:relation, :with_history, :version => 2)
31     relation.old_relations.find_by(:version => 1).redact!(create(:redaction))
32
33     session_for(create(:user))
34     get old_relation_members_path(relation, 1, :params => { :show_redactions => true })
35
36     assert_response :redirect
37   end
38
39   def test_show_not_found
40     get old_relation_members_path(0, 0)
41
42     assert_response :not_found
43   end
44
45   def test_show_timeout
46     relation = create(:relation, :with_history)
47
48     with_settings(:web_timeout => -1) do
49       get old_relation_members_path(relation, 1)
50     end
51
52     assert_response :error
53   end
54 end