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