Sha256: 7f4a8b139e48a3de3fee035406a94963c8d3b2e1cfd054352daf8cf12621d28c

Contents?: true

Size: 1.73 KB

Versions: 2

Compression:

Stored size: 1.73 KB

Contents

require 'spec_helper'

module SimpleShipping::Ups
  describe PartyBuilder do
    it_should_behave_like "builders"

    it 'validate account number if party is shipper' do
      shipper = SimpleShipping::Party.new

      shipper.stub!(:valid? => true)
      lambda {
        PartyBuilder.build(shipper, :shipper => true)
      }.should raise_error SimpleShipping::ValidationError

      shipper.stub!(:account_number => '123')
      lambda {
        PartyBuilder.build(shipper, :shipper => true)
      }.should_not raise_error SimpleShipping::ValidationError
    end
  end

  describe "build" do
    it "should include all addresses" do
      contact = SimpleShipping::Contact.new(:phone_number => "5555555555", :person_name => "Frank")
      address = SimpleShipping::Address.new(:country_code => "US", :state_code => "IL", :city => "Chicago", :postal_code => "60622")
      address.street_line   = "foo"
      address.street_line_2 = "bar"
      address.street_line_3 = "baz"

      shipper = SimpleShipping::Party.new(:contact => contact, :address => address)
      party   = PartyBuilder.build(shipper)
      party['Address']['AddressLine'].should have(3).addresses
    end

    it "should exclude nil addresses" do
      contact = SimpleShipping::Contact.new(:phone_number => "5555555555", :person_name => "Frank")
      address = SimpleShipping::Address.new(:country_code => "US", :state_code => "IL", :city => "Chicago", :postal_code => "60622")
      address.street_line   = "foo"
      address.street_line_2 = nil
      address.street_line_3 = "baz"

      shipper = SimpleShipping::Party.new(:contact => contact, :address => address)
      party   = PartyBuilder.build(shipper)
      party['Address']['AddressLine'].should have(2).addresses
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
simple_shipping-0.4.7 spec/lib/simple_shipping/ups/party_builder_spec.rb
simple_shipping-0.4.6 spec/lib/simple_shipping/ups/party_builder_spec.rb