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