Sha256: 5691452cea134b3d8c8abfd16cc4662e04f0fb51d7586cc183c9f805107db49f
Contents?: true
Size: 1.64 KB
Versions: 1
Compression:
Stored size: 1.64 KB
Contents
require 'spec_helper' class ApiTester < Rapidash::Base url :foo end 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) { double } let(:custom_header) { { :header => { user_agent: 'Experimentation v3.14'} } } describe "#included" do it "should add the url method" do expect(ApiTester.methods.map { |m| m.to_sym}).to include(:url) end end describe "#url" do it "should override the initialize to set a url" do expect(ApiTesterNoUrl.new.instance_variable_get(:@url)).to eql("apitesternourls") expect(ApiTester.new.instance_variable_get(:@url)).to eql("foo") end it "should set options on the class" do api = ApiTester.new(client, :option1 => "foo") expect(api.instance_variable_get(:@options)).to eql({:option1 => "foo"}) expect(api.instance_variable_get(:@url)).to eql("foo") end it "should allow custom headers" do api = ApiTester.new(client,custom_header) expect(api.instance_variable_get(:@options)).to eql(custom_header) expect(api.instance_variable_get(:@url)).to eql("foo") end it "should let an id be set on initialization" do api = ApiTester.new(client, 1, :option1 => "foo") expect(api.instance_variable_get(:@options)).to eql({:option1 => "foo"}) expect(api.instance_variable_get(:@url)).to eql("foo/1") end it "should call base_url on when constructing the url" do api = BaseUrlTester.new(client, 1) expect(api.instance_variable_get(:@url)).to eql("BASE_URL/foo/1") end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rapidash-0.4.0 | spec/rapidash/urlable_spec.rb |