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