spec/rapidash/urlable_spec.rb in rapidash-0.0.1 vs spec/rapidash/urlable_spec.rb in rapidash-0.0.2
- old
+ new
@@ -1,30 +1,36 @@
require 'spec_helper'
-class ApiTester
- attr_accessor :url, :options, :client
- include Rapidash::Urlable
+class ApiTester < Rapidash::Base
url :foo
end
-class ApiTesterNoUrl
- include Rapidash::Urlable
+class BaseUrlTester < Rapidash::Base
+ url :foo
+
+ private
+ def base_url
+ "BASE_URL/"
+ end
end
+class ApiTesterNoUrl < Rapidash::Base
+end
+
describe Rapidash::Urlable do
let!(:client) { mock }
describe "#included" do
it "should add the url method" do
- ApiTester.methods.should include(:url)
+ ApiTester.methods.map { |m| m.to_sym}.should include(:url)
end
end
describe "#url" do
it "should override the initialize to set a url" do
- ApiTesterNoUrl.new.instance_variable_get(:@url).should eql(nil)
+ ApiTesterNoUrl.new.instance_variable_get(:@url).should eql("apitesternourl")
ApiTester.new.instance_variable_get(:@url).should eql("foo")
end
it "should set options on the class" do
api = ApiTester.new(client, :option1 => "foo")
@@ -34,9 +40,14 @@
it "should let an id be set on initialization" do
api = ApiTester.new(client, 1, :option1 => "foo")
api.instance_variable_get(:@options).should eql({:option1 => "foo"})
api.instance_variable_get(:@url).should eql("foo/1")
+ end
+
+ it "should call base_url on when constructing the url" do
+ api = BaseUrlTester.new(client, 1)
+ api.instance_variable_get(:@url).should eql("BASE_URL/foo/1")
end
end
end