spec/lib/fedex/shipment_spec.rb in fedex-3.4.0 vs spec/lib/fedex/shipment_spec.rb in fedex-3.6.0

- old
+ new

@@ -19,10 +19,13 @@ ] end let(:shipping_options) do { :packaging_type => "YOUR_PACKAGING", :drop_off_type => "REGULAR_PICKUP" } end + let(:payment_options) do + { :type => "SENDER", :account_number => fedex_credentials[:account_number], :name => "Sender", :company => "Company", :phone_number => "555-555-5555", :country_code => "US" } + end let(:filename) { require 'tmpdir' File.join(Dir.tmpdir, "label#{rand(15000)}.pdf") } @@ -37,10 +40,19 @@ @shipment = fedex.ship(options) }.to_not raise_error @shipment.class.should_not == Fedex::RateError end + + it "succeeds with payments_options" do + expect { + @shipment = fedex.ship(options.merge(:payment_options => payment_options)) + }.to_not raise_error + + @shipment.class.should_not == Fedex::RateError + end + end context 'without service_type specified', :vcr do let(:options) do {:shipper => shipper, :recipient => recipient, :packages => packages, :filename => filename} @@ -49,10 +61,21 @@ it 'raises error' do expect { @shipment = fedex.ship(options) }.to raise_error('Missing Required Parameter service_type') end + end + context 'with invalid payment_options' do + let(:options) do + {:shipper => shipper, :recipient => recipient, :packages => packages, :filename => filename, :payment_options => payment_options.merge(:account_number => nil)} + end + + it 'raises error' do + expect { + @shipment = fedex.ship(options) + }.to raise_error('Missing Required Parameter account_number') + end end end end