Sha256: d80ef3c38341a3ce99ee2a3d178022d33f5beb1177f90a22ddd3e88dd0f323cc

Contents?: true

Size: 1.05 KB

Versions: 1

Compression:

Stored size: 1.05 KB

Contents

require 'test_helper'

class VersionedRoutingTest < ActionDispatch::IntegrationTest
  test "a request without a verison cascades to versionless routes" do
    get '/final_fallback'
    assert_equal(response.body, 'v0')
  end

  test "a route with an override will match on the higher verison" do
    get '/a_path_overridden_from_v1/somevalue/whats/anothervalue', {}, {'Accept' => 'version=2'}
    assert_equal(response.body, 'v2')
  end

  test "a route with an override will match on the lower verison if specified" do
    get '/a_path_overridden_from_v1/somevalue/whats/anothervalue', {}, {'Accept' => 'version=1'}
    assert_equal(response.body, 'v1')
  end

  test "a route not defined on a specific verison will cascade to until a lower version match is found" do
    get '/a_path_in_v2', {}, {'Accept' => 'version=3'}
    assert_equal(response.body, 'v2')
  end

  test "a route defined in a higher version will cascade on lower versions" do
    assert_raise ActionController::RoutingError do
      get '/a_path_only_in_v3', {}, {'Accept' => 'version=2'}
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rails_versioned_routing-1.1.0 test/versioned_routing_test.rb