Sha256: 2fbe426469c2f9fb58888d1ffbf12fedbf44099ec04773ae61159ceaf90758ef

Contents?: true

Size: 1.73 KB

Versions: 1

Compression:

Stored size: 1.73 KB

Contents

require 'helper'

describe FullContact::Client::Person do
  FullContact::Configuration::VALID_FORMATS.each do |format|
    context ".new(:format => '#{format}')" do
      before do
        @client = FullContact::Client.new(:format => format, :api_key => 'api_key')
      end

    end
  end

  context "when parsing a response" do

    before do
      FullContact.configure do |config|
        config.api_key = "api_key"
      end

      stub_get("person.json").
          with(:query => {:apiKey => "api_key", :email => "brawest@gmail.com"}).
          to_return(:body => fixture("person.json"), :headers => {:content_type => "application/json; charset=utf-8"})

      stub_get("person.json").
          with(:query => {:apiKey => "api_key", :twitter => "brawtest"}).
          to_return(:body => fixture("person.json"), :headers => {:content_type => "application/json; charset=utf-8"})
    end

    it 'should rubyize keys' do
      expect(FullContact.person(email: "brawest@gmail.com").contact_info.given_name).to(eq("Brandon"))

      expect(FullContact.person(email: "brawest@gmail.com")).to satisfy do |v|
        v.keys.all? { |k| !k.match(/[A-Z]/) }
      end
    end
  end

  context "when parsing a response without rubyize" do

    before do
      FullContact.configure do |config|
        config.api_key = "api_key"
        config.skip_rubyize = true
      end

      stub_get("person.json").
          with(:query => {:apiKey => "api_key", :email => "brawest@gmail.com"}).
          to_return(:body => fixture("person.json"), :headers => {:content_type => "application/json; charset=utf-8"})
    end

    it 'should not rubyize keys' do
      expect(FullContact.person(email: "brawest@gmail.com").contactInfo.givenName).to(eq("Brandon"))
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
fullcontact-0.11.0 spec/ruby_fullcontact/client/person_spec.rb