fedex 3.6.1 → 3.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,20 @@
1
+ require 'spec_helper'
2
+
3
+ module Fedex
4
+ describe 'ServiceAvailability' do
5
+ let(:fedex) { Shipment.new(fedex_credentials) }
6
+ let(:origin) do {:postal_code => '400012', :country_code => 'IN'} end
7
+ let(:destination) do { :postal_code => '400020', :country_code => 'IN'} end
8
+ let(:options) do {:origin => origin, :destination => destination, :ship_date => '2014-06-28', :carrier_code => 'FDXE'} end
9
+
10
+ context 'Check Availability', :vcr do
11
+ it "succeeds" do
12
+ expect {
13
+ @service_availability = fedex.service_availability(options)
14
+ }.to_not raise_error
15
+
16
+ expect(@service_availability.class).not_to eq(Fedex::RateError)
17
+ end
18
+ end
19
+ end
20
+ end
@@ -40,7 +40,7 @@ describe Fedex::Request::Shipment do
40
40
  @shipment = fedex.ship(options)
41
41
  }.to_not raise_error
42
42
 
43
- @shipment.class.should_not == Fedex::RateError
43
+ expect(@shipment.class).not_to eq(Fedex::RateError)
44
44
  end
45
45
 
46
46
  it "succeeds with payments_options" do
@@ -48,7 +48,12 @@ describe Fedex::Request::Shipment do
48
48
  @shipment = fedex.ship(options.merge(:payment_options => payment_options))
49
49
  }.to_not raise_error
50
50
 
51
- @shipment.class.should_not == Fedex::RateError
51
+ expect(@shipment.class).not_to eq(Fedex::RateError)
52
+ end
53
+
54
+ it "should return a transit time" do
55
+ @shipment = fedex.ship(options)
56
+ expect(@shipment[:completed_shipment_detail][:operational_detail][:transit_time]).to eql("TWO_DAYS")
52
57
  end
53
58
 
54
59
  end
@@ -6,7 +6,7 @@ module Fedex
6
6
 
7
7
  context "shipments with tracking number", :vcr, :focus do
8
8
  let(:options) do
9
- { :package_id => "123456789012",
9
+ { :package_id => "771513950417",
10
10
  :package_type => "TRACKING_NUMBER_OR_DOORTAG",
11
11
  :include_detailed_scans => true
12
12
  }
@@ -16,13 +16,13 @@ module Fedex
16
16
 
17
17
  it "returns an array of tracking information results" do
18
18
  results = fedex.track(options)
19
- results.should_not be_empty
19
+ expect(results).not_to be_empty
20
20
  end
21
21
 
22
22
  it "returns events with tracking information" do
23
23
  tracking_info = fedex.track(options.merge(:uuid => uuid)).first
24
24
 
25
- tracking_info.events.should_not be_empty
25
+ expect(tracking_info.events).not_to be_empty
26
26
  end
27
27
 
28
28
  it "fails if using an invalid package type" do
@@ -30,7 +30,7 @@ module Fedex
30
30
 
31
31
  fail_options[:package_type] = "UNKNOWN_PACKAGE"
32
32
 
33
- lambda { fedex.track(options) }.should raise_error
33
+ expect { fedex.track(options) }.to raise_error
34
34
  end
35
35
 
36
36
  it "allows short hand tracking number queries" do
@@ -38,15 +38,30 @@ module Fedex
38
38
 
39
39
  tracking_info = fedex.track(shorthand_options).first
40
40
 
41
- tracking_info.tracking_number.should == options[:package_id]
41
+ expect(tracking_info.tracking_number).to eq(options[:package_id])
42
42
  end
43
43
 
44
44
  it "reports the status of the package" do
45
45
  tracking_info = fedex.track(options.merge(:uuid => uuid)).first
46
46
 
47
- tracking_info.status.should_not be_nil
47
+ expect(tracking_info.status).not_to be_nil
48
48
  end
49
49
 
50
50
  end
51
+
52
+ context "duplicate shipments with same tracking number", :vcr, :focus do
53
+ let(:options) do
54
+ { :package_id => "771054010426",
55
+ :package_type => "TRACKING_NUMBER_OR_DOORTAG",
56
+ :include_detailed_scans => true
57
+ }
58
+ end
59
+
60
+ it "should return tracking information for all shipments associated with tracking number" do
61
+ tracking_info = fedex.track(options)
62
+
63
+ expect(tracking_info.length).to be > 1
64
+ end
65
+ end
51
66
  end
52
67
  end
data/spec/spec_helper.rb CHANGED
@@ -5,5 +5,8 @@ require 'support/credentials'
5
5
 
6
6
  RSpec.configure do |c|
7
7
  c.filter_run_excluding :production unless fedex_production_credentials
8
+ c.expect_with :rspec do |expect_config|
9
+ expect_config.syntax = :expect
10
+ end
8
11
  end
9
12
 
data/spec/support/vcr.rb CHANGED
@@ -7,7 +7,6 @@ end
7
7
 
8
8
  RSpec.configure do |c|
9
9
  c.include Fedex::Helpers
10
- c.treat_symbols_as_metadata_keys_with_true_values = true
11
10
  c.around(:each, :vcr) do |example|
12
11
  name = underscorize(example.metadata[:full_description].split(/\s+/, 2).join("/")).gsub(/[^\w\/]+/, "_")
13
12
  VCR.use_cassette(name) { example.call }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fedex
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.6.1
4
+ version: 3.8.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,44 +9,44 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-04-05 00:00:00.000000000 Z
12
+ date: 2014-12-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: httparty
16
- requirement: &70315271490960 !ruby/object:Gem::Requirement
16
+ requirement: &70122735774560 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
- - - ~>
19
+ - - ! '>='
20
20
  - !ruby/object:Gem::Version
21
- version: 0.13.0
21
+ version: 0.8.3
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70315271490960
24
+ version_requirements: *70122735774560
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: nokogiri
27
- requirement: &70315271490460 !ruby/object:Gem::Requirement
27
+ requirement: &70122735773420 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
- - - ~>
30
+ - - ! '>='
31
31
  - !ruby/object:Gem::Version
32
- version: 1.6.0
32
+ version: 1.5.6
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70315271490460
35
+ version_requirements: *70122735773420
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rspec
38
- requirement: &70315271489980 !ruby/object:Gem::Requirement
38
+ requirement: &70122735772020 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
42
42
  - !ruby/object:Gem::Version
43
- version: 2.9.0
43
+ version: 3.0.0
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70315271489980
46
+ version_requirements: *70122735772020
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: vcr
49
- requirement: &70315271489520 !ruby/object:Gem::Requirement
49
+ requirement: &70122735770420 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 2.0.0
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70315271489520
57
+ version_requirements: *70122735770420
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: webmock
60
- requirement: &70315271489040 !ruby/object:Gem::Requirement
60
+ requirement: &70122735769440 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,10 +65,21 @@ dependencies:
65
65
  version: 1.8.0
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *70315271489040
68
+ version_requirements: *70122735769440
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: pry
71
- requirement: &70315271488620 !ruby/object:Gem::Requirement
71
+ requirement: &70122735768700 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ! '>='
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: *70122735768700
80
+ - !ruby/object:Gem::Dependency
81
+ name: rake
82
+ requirement: &70122735784220 !ruby/object:Gem::Requirement
72
83
  none: false
73
84
  requirements:
74
85
  - - ! '>='
@@ -76,7 +87,7 @@ dependencies:
76
87
  version: '0'
77
88
  type: :development
78
89
  prerelease: false
79
- version_requirements: *70315271488620
90
+ version_requirements: *70122735784220
80
91
  description: Provides an interface to Fedex Web Services
81
92
  email:
82
93
  - jazminschroeder@gmail.com
@@ -94,14 +105,20 @@ files:
94
105
  - lib/fedex/address.rb
95
106
  - lib/fedex/credentials.rb
96
107
  - lib/fedex/document.rb
108
+ - lib/fedex/ground_manifest.rb
97
109
  - lib/fedex/helpers.rb
98
110
  - lib/fedex/label.rb
99
111
  - lib/fedex/rate.rb
100
112
  - lib/fedex/request/address.rb
101
113
  - lib/fedex/request/base.rb
114
+ - lib/fedex/request/delete.rb
102
115
  - lib/fedex/request/document.rb
116
+ - lib/fedex/request/ground_close.rb
103
117
  - lib/fedex/request/label.rb
118
+ - lib/fedex/request/pickup.rb
119
+ - lib/fedex/request/pickup_availability.rb
104
120
  - lib/fedex/request/rate.rb
121
+ - lib/fedex/request/service_availability.rb
105
122
  - lib/fedex/request/shipment.rb
106
123
  - lib/fedex/request/tracking_information.rb
107
124
  - lib/fedex/shipment.rb
@@ -110,9 +127,14 @@ files:
110
127
  - lib/fedex/version.rb
111
128
  - spec/config/fedex_credentials.example.yml
112
129
  - spec/lib/fedex/address_spec.rb
130
+ - spec/lib/fedex/delete_spec.rb
113
131
  - spec/lib/fedex/document_spec.rb
132
+ - spec/lib/fedex/ground_close_spec.rb
114
133
  - spec/lib/fedex/label_spec.rb
134
+ - spec/lib/fedex/pickup_availability_spec.rb
135
+ - spec/lib/fedex/pickup_spec.rb
115
136
  - spec/lib/fedex/rate_spec.rb
137
+ - spec/lib/fedex/service_availability_spec.rb
116
138
  - spec/lib/fedex/shipment_spec.rb
117
139
  - spec/lib/fedex/track_spec.rb
118
140
  - spec/spec_helper.rb
@@ -146,9 +168,14 @@ summary: Fedex Web Services
146
168
  test_files:
147
169
  - spec/config/fedex_credentials.example.yml
148
170
  - spec/lib/fedex/address_spec.rb
171
+ - spec/lib/fedex/delete_spec.rb
149
172
  - spec/lib/fedex/document_spec.rb
173
+ - spec/lib/fedex/ground_close_spec.rb
150
174
  - spec/lib/fedex/label_spec.rb
175
+ - spec/lib/fedex/pickup_availability_spec.rb
176
+ - spec/lib/fedex/pickup_spec.rb
151
177
  - spec/lib/fedex/rate_spec.rb
178
+ - spec/lib/fedex/service_availability_spec.rb
152
179
  - spec/lib/fedex/shipment_spec.rb
153
180
  - spec/lib/fedex/track_spec.rb
154
181
  - spec/spec_helper.rb