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