spec/footrest/request_spec.rb in footrest-0.1 vs spec/footrest/request_spec.rb in footrest-0.1.2
- old
+ new
@@ -1,38 +1,25 @@
require 'helper'
-require 'ostruct'
-class RequestHarness
- include Footrest::Connection
- include Footrest::Request
-end
+class RequestHarness; include Footrest::Request; end
describe Footrest::Request do
-
let(:request) { RequestHarness.new }
+ context "join" do
+ it "retains initial slash" do
+ expect(request.join('/test', 'path')).to eq('/test/path')
+ end
- it "gets" do
- stub_request(:get, "http://domain.test/page?p=1").
- to_return(:status => 200, :body => "", :headers => {})
- request.get('http://domain.test/page', :p => 1)
- end
+ it "combines multiple segments" do
+ expect(request.join('test', 'path', 'parts')).to eq('test/path/parts')
+ end
- it "deletes" do
- stub_request(:get, "http://domain.test/page?auth=xyz").
- to_return(:status => 200, :body => "", :headers => {})
- request.get('http://domain.test/page', :auth => 'xyz')
- end
+ it "respects http://" do
+ expect(request.join('http://', 'path')).to eq('http://path')
+ end
- it "posts" do
- stub_request(:post, "http://domain.test/new_page").
- with(:body => {"password"=>"xyz", "username"=>"abc"}).
- to_return(:status => 200, :body => "", :headers => {})
- request.post('http://domain.test/new_page', :username => 'abc', :password => 'xyz')
- end
-
- it "puts" do
- stub_request(:put, "http://domain.test/update_page").
- with(:body => {"password"=>"zzz", "username"=>"aaa"}).
- to_return(:status => 200, :body => "", :headers => {})
- request.put('http://domain.test/update_page', :username => 'aaa', :password => 'zzz')
+ it "keeps slashes within strings" do
+ expect(request.join('http://', 'domain', '/path/to/something')).
+ to eq('http://domain/path/to/something')
+ end
end
end
\ No newline at end of file