spec/lib/fedex/rate_spec.rb in fedex-3.6.1 vs spec/lib/fedex/rate_spec.rb in fedex-3.8.0

- old
+ new

@@ -2,18 +2,18 @@ module Fedex describe Shipment do context "missing required parameters" do it "should raise Rate exception" do - lambda{ Shipment.new}.should raise_error(RateError) + expect{ Shipment.new}.to raise_error(RateError) end end context "required parameters present" do subject { Shipment.new(fedex_credentials) } it "should create a valid instance" do - subject.should be_an_instance_of(Shipment) + expect(subject).to be_an_instance_of(Shipment) end end describe "rate service" do let(:fedex) { Shipment.new(fedex_credentials) } @@ -40,19 +40,23 @@ end context "domestic shipment", :vcr do it "should return a rate" do rates = fedex.rate({ :shipper => shipper, :recipient => recipient, :packages => packages, :service_type => "FEDEX_GROUND"}) - rates.first.should be_an_instance_of(Rate) + expect(rates.first).to be_an_instance_of(Rate) end + it "should return a transit time" do + rates = fedex.rate({ :shipper => shipper, :recipient => recipient, :packages => packages, :service_type => "FEDEX_GROUND"}) + expect(rates.first.transit_time).not_to be_nil + end end context "canadian shipment", :vcr do it "should return a rate" do canadian_recipient = { :name => "Recipient", :company => "Company", :phone_number => "555-555-5555", :address=>"Address Line 1", :city => "Richmond", :state => "BC", :postal_code => "V7C4V4", :country_code => "CA", :residential => "true" } rates = fedex.rate({ :shipper => shipper, :recipient => canadian_recipient, :packages => packages, :service_type => "FEDEX_GROUND" }) - rates.first.should be_an_instance_of(Rate) + expect(rates.first).to be_an_instance_of(Rate) end end context "canadian shipment including customs", :vcr do it "should return a rate including international fees" do @@ -139,11 +143,11 @@ } ] customs_clearance = { :broker => broker, :clearance_brokerage => clearance_brokerage, :importer_of_record => importer_of_record, :recipient_customs_id => recipient_customs_id, :duties_payment => duties_payment, :commodities => commodities } rates = fedex.rate({ :shipper => shipper, :recipient => canadian_recipient, :packages => packages, :service_type => "FEDEX_GROUND", :customs_clearance => customs_clearance }) - rates.first.should be_an_instance_of(Rate) + expect(rates.first).to be_an_instance_of(Rate) end end context "with service type specified", :vcr do @@ -155,11 +159,11 @@ :service_type => "FEDEX_GROUND" }) } it "returns a single rate" do - rates.count.should eq 1 + expect(rates.count).to eq 1 end it "has service_type attribute" do rates.first.service_type == 'FEDEX_GROUND' end @@ -175,17 +179,17 @@ :packages => packages }) } it "returns multiple rates" do - rates.count.should >= 1 + expect(rates.count).to be >= 1 end context "each rate" do it 'has service type attribute' do - rates.first.should respond_to(:service_type) + expect(rates.first).to respond_to(:service_type) end end end @@ -200,13 +204,13 @@ :packages => packages }) } it 'returns empty array' do - rates.should eq [] + expect(rates).to eq [] end end end end -end +end \ No newline at end of file