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