X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/766246a9605bfa61cba8c6ef63676c233d206813..74d2c4336bab2efe44c6bdadf688d26b18e320b3:/test/controllers/search_controller_test.rb diff --git a/test/controllers/search_controller_test.rb b/test/controllers/search_controller_test.rb index 2ea7aa15a..49a70f1b0 100644 --- a/test/controllers/search_controller_test.rb +++ b/test/controllers/search_controller_test.rb @@ -24,65 +24,83 @@ class SearchControllerTest < ActionController::TestCase ## # test searching nodes - def search_nodes - get :search_nodes, :type => "test" - assert_response :status => :service_unavailable + def test_search_nodes + get :search_nodes, :params => { :type => "test" } + assert_response :service_unavailable assert_equal "Searching of nodes is currently unavailable", response.headers["Error"] - get :search_nodes, :type => "test", :value => "yes" - assert_response :status => :service_unavailable + get :search_nodes, :params => { :type => "test", :value => "yes" } + assert_response :service_unavailable assert_equal "Searching of nodes is currently unavailable", response.headers["Error"] - get :search_nodes, :name => "Test Node" - assert_response :status => :service_unavailable + get :search_nodes, :params => { :name => "Test Node" } + assert_response :service_unavailable assert_equal "Searching of nodes is currently unavailable", response.headers["Error"] end ## # test searching ways - def search_ways - get :search_ways, :type => "test" - assert_response :status => :service_unavailable + def test_search_ways + first_way = create(:way_with_nodes, :nodes_count => 2) + deleted_way = create(:way_with_nodes, :deleted, :nodes_count => 2) + third_way = create(:way_with_nodes, :nodes_count => 2) + + [first_way, deleted_way, third_way].each do |way| + create(:way_tag, :way => way, :k => "test", :v => "yes") + end + create(:way_tag, :way => third_way, :k => "name", :v => "Test Way") + + get :search_ways, :params => { :type => "test" } + assert_response :service_unavailable assert_equal "Searching for a key without value is currently unavailable", response.headers["Error"] - get :search_ways, :type => "test", :value => "yes" - assert_response :status => :success + get :search_ways, :params => { :type => "test", :value => "yes" } + assert_response :success assert_select "way", 3 - get :search_ways, :name => "Test Way" - assert_response :status => :success + get :search_ways, :params => { :name => "Test Way" } + assert_response :success assert_select "way", 1 end ## # test searching relations - def search_relations - get :search_relations, :type => "test" - assert_response :status => :service_unavailable + def test_search_relations + first_relation = create(:relation) + deleted_relation = create(:relation) + third_relation = create(:relation) + + [first_relation, deleted_relation, third_relation].each do |relation| + create(:relation_tag, :relation => relation, :k => "test", :v => "yes") + end + create(:relation_tag, :relation => third_relation, :k => "name", :v => "Test Relation") + + get :search_relations, :params => { :type => "test" } + assert_response :service_unavailable assert_equal "Searching for a key without value is currently unavailable", response.headers["Error"] - get :search_relations, :type => "test", :value => "yes" - assert_response :status => :success + get :search_relations, :params => { :type => "test", :value => "yes" } + assert_response :success assert_select "relation", 3 - get :search_relations, :name => "Test Relation" - assert_response :status => :success + get :search_relations, :params => { :name => "Test Relation" } + assert_response :success assert_select "relation", 1 end ## # test searching nodes, ways and relations - def search_all - get :search_all, :type => "test" - assert_response :status => :service_unavailable + def test_search_all + get :search_all, :params => { :type => "test" } + assert_response :service_unavailable assert_equal "Searching of nodes is currently unavailable", response.headers["Error"] - get :search_all, :type => "test", :value => "yes" - assert_response :status => :service_unavailable + get :search_all, :params => { :type => "test", :value => "yes" } + assert_response :service_unavailable assert_equal "Searching of nodes is currently unavailable", response.headers["Error"] - get :search_all, :name => "Test" - assert_response :status => :service_unavailable + get :search_all, :params => { :name => "Test" } + assert_response :service_unavailable assert_equal "Searching of nodes is currently unavailable", response.headers["Error"] end end