]> git.openstreetmap.org Git - rails.git/blob - test/controllers/api/versions_controller_test.rb
Add frozen_string_literal comments to ruby files
[rails.git] / test / controllers / api / versions_controller_test.rb
1 # frozen_string_literal: true
2
3 require "test_helper"
4
5 module Api
6   class VersionsControllerTest < ActionDispatch::IntegrationTest
7     ##
8     # test all routes which lead to this controller
9     def test_routes
10       assert_routing(
11         { :path => "/api/versions", :method => :get },
12         { :controller => "api/versions", :action => "show" }
13       )
14       assert_routing(
15         { :path => "/api/versions.json", :method => :get },
16         { :controller => "api/versions", :action => "show", :format => "json" }
17       )
18       assert_recognizes(
19         { :controller => "api/versions", :action => "show" },
20         { :path => "/api/versions", :method => :get }
21       )
22       assert_recognizes(
23         { :controller => "api/versions", :action => "show", :format => "json" },
24         { :path => "/api/versions.json", :method => :get }
25       )
26     end
27
28     def test_versions
29       get api_versions_path
30       assert_response :success
31       assert_select "osm[generator='#{Settings.generator}']", :count => 1 do
32         assert_select "api", :count => 1 do
33           assert_select "version", Settings.api_version
34         end
35       end
36     end
37
38     def test_versions_json
39       get api_versions_path, :params => { :format => "json" }
40       assert_response :success
41       js = ActiveSupport::JSON.decode(@response.body)
42       assert_not_nil js
43       assert_equal [Settings.api_version], js["api"]["versions"]
44     end
45
46     def test_no_version_in_root_element
47       get api_versions_path
48       assert_response :success
49       assert_select "osm[version]", :count => 0
50     end
51
52     def test_versions_available_while_offline
53       with_settings(:status => "api_offline") do
54         get api_versions_path
55         assert_response :success
56         assert_select "osm[generator='#{Settings.generator}']", :count => 1 do
57           assert_select "api", :count => 1 do
58             assert_select "version", Settings.api_version
59           end
60         end
61       end
62     end
63   end
64 end