1 # frozen_string_literal: true
6 class VersionsControllerTest < ActionDispatch::IntegrationTest
8 # test all routes which lead to this controller
11 { :path => "/api/versions", :method => :get },
12 { :controller => "api/versions", :action => "show" }
15 { :path => "/api/versions.json", :method => :get },
16 { :controller => "api/versions", :action => "show", :format => "json" }
19 { :controller => "api/versions", :action => "show" },
20 { :path => "/api/versions", :method => :get }
23 { :controller => "api/versions", :action => "show", :format => "json" },
24 { :path => "/api/versions.json", :method => :get }
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
38 def test_versions_json
39 get api_versions_path, :params => { :format => "json" }
40 assert_response :success
41 js = ActiveSupport::JSON.decode(@response.body)
43 assert_equal [Settings.api_version], js["api"]["versions"]
46 def test_no_version_in_root_element
48 assert_response :success
49 assert_select "osm[version]", :count => 0
52 def test_versions_available_while_offline
53 with_settings(:status => "api_offline") do
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