Sha256: 9d57979ea19864c9b0f75deab1a6f7a757f6f1cfc0ba3cf83652934b2af2b485
Contents?: true
Size: 1.88 KB
Versions: 1
Compression:
Stored size: 1.88 KB
Contents
require "spec_helper" describe Rack::API::App, "#url_for" do subject { Rack::API::App.new( :version => "v1", :url_options => {}, :env => Rack::MockRequest.env_for("/v1") )} it "returns url considering prefix" do subject.prefix = "api" subject.url_for.should == "http://example.org/api/v1" end it "ignores prefix when is not set" do subject.prefix = nil subject.url_for.should == "http://example.org/v1" end it "returns host" do subject.url_for.should == "http://example.org/v1" end it "uses a different host" do subject.url_options.merge!(:host => "mysite.com") subject.url_for.should == "http://mysite.com/v1" end it "uses a different protocol" do subject.url_options.merge!(:protocol => "https") subject.url_for.should == "https://example.org/v1" end it "uses a different port" do subject.url_options.merge!(:port => "2345") subject.url_for.should == "http://example.org:2345/v1" end it "uses #to_param when available" do subject.url_for("users", mock(:user, :to_param => "1-john-doe")).should == "http://example.org/v1/users/1-john-doe" end it "converts other data types" do subject.url_for(:users, 1).should == "http://example.org/v1/users/1" end it "adds query string" do actual = subject.url_for(:format => :json, :filters => [:name, :age]) actual.should == "http://example.org/v1?filters[]=name&filters[]=age&format=json" end it "uses host from request" do env = Rack::MockRequest.env_for("/v1", "SERVER_NAME" => "mysite.com") subject = Rack::API::App.new(:version => "v1", :env => env) subject.url_for.should == "http://mysite.com/v1" end it "uses port from request" do env = Rack::MockRequest.env_for("/v1", "SERVER_PORT" => "2345") subject = Rack::API::App.new(:version => "v1", :env => env) subject.url_for.should == "http://example.org:2345/v1" end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rack-api-0.2.0 | spec/rack-api/url_for_spec.rb |