trackerific 0.7.2 → 0.7.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/README.rdoc +2 -1
  4. data/lib/dependencies.rb +9 -0
  5. data/lib/trackerific.rb +5 -19
  6. data/lib/trackerific/builders.rb +12 -0
  7. data/lib/trackerific/builders/base/soap.rb +14 -16
  8. data/lib/trackerific/builders/base/xml.rb +22 -28
  9. data/lib/trackerific/builders/fedex.rb +66 -44
  10. data/lib/trackerific/builders/ups.rb +28 -24
  11. data/lib/trackerific/builders/usps.rb +15 -13
  12. data/lib/trackerific/parsers.rb +8 -0
  13. data/lib/trackerific/parsers/base.rb +24 -28
  14. data/lib/trackerific/parsers/fedex.rb +43 -47
  15. data/lib/trackerific/parsers/ups.rb +49 -53
  16. data/lib/trackerific/parsers/usps.rb +44 -48
  17. data/lib/trackerific/services.rb +10 -0
  18. data/lib/trackerific/services/base.rb +82 -55
  19. data/lib/trackerific/services/concerns/soap.rb +10 -40
  20. data/lib/trackerific/services/concerns/xml.rb +15 -37
  21. data/lib/trackerific/services/fedex.rb +9 -19
  22. data/lib/trackerific/services/mock_service.rb +26 -37
  23. data/lib/trackerific/services/ups.rb +11 -24
  24. data/lib/trackerific/services/usps.rb +23 -35
  25. data/lib/trackerific/soap.rb +5 -0
  26. data/lib/trackerific/soap/wsdl.rb +8 -12
  27. data/lib/trackerific/version.rb +1 -1
  28. data/spec/lib/trackerific/services/base_spec.rb +21 -4
  29. data/spec/lib/trackerific/services/concerns/soap_spec.rb +6 -21
  30. data/spec/lib/trackerific/services/concerns/xml_spec.rb +5 -18
  31. data/spec/lib/trackerific/services/mock_service_spec.rb +12 -0
  32. data/spec/lib/trackerific/services/usps_spec.rb +4 -4
  33. data/spec/lib/trackerific/version_spec.rb +1 -1
  34. data/spec/support/test_concerns.rb +15 -0
  35. metadata +8 -2
@@ -1,23 +1,8 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Trackerific::Services::Concerns::XML do
4
- class TestConcernsXML
5
- include Trackerific::Services::Concerns::XML
6
-
7
- def initialize
8
- @credentials = { user_id: 'USER ID' }
9
- end
10
- end
11
-
12
4
  subject { TestConcernsXML }
13
5
 
14
- it { should respond_to :xml_endpoint }
15
- it { should respond_to :xml_endpoint= }
16
- it { should respond_to :xml_parser }
17
- it { should respond_to :xml_parser= }
18
- it { should respond_to :xml_builder }
19
- it { should respond_to :xml_builder= }
20
-
21
6
  describe "#track" do
22
7
  let(:endpoint) { "/endpoint" }
23
8
  let(:package_id) { "PACKAGE ID" }
@@ -34,9 +19,11 @@ describe Trackerific::Services::Concerns::XML do
34
19
  let(:xml) { "<xml></xml>" }
35
20
 
36
21
  before do
37
- TestConcernsXML.stub(:xml_endpoint).and_return(endpoint)
38
- TestConcernsXML.stub(:xml_parser).and_return(parser)
39
- TestConcernsXML.stub(:xml_builder).and_return(builder)
22
+ TestConcernsXML.configure do |config|
23
+ config.endpoint = endpoint
24
+ config.parser = parser
25
+ config.builder = builder
26
+ end
40
27
 
41
28
  builder.stub(:members).and_return([:user_id, :package_id])
42
29
  builder.should_receive(:new).with('USER ID', package_id).and_return(builder_instance)
@@ -29,6 +29,18 @@ describe Trackerific::Services::MockService do
29
29
  subject { service.track(id).events }
30
30
  it { should be_a Array }
31
31
  its(:count) { should eq 3 }
32
+
33
+ it "should have the proper event values" do
34
+ subject[0].date.should be_a Date
35
+ subject[0].description.should eq "Package delivered."
36
+ subject[0].location.should eq "SANTA MARIA, CA"
37
+ subject[1].date.should be_a Date
38
+ subject[1].description.should eq "Package scanned."
39
+ subject[1].location.should eq "SANTA BARBARA, CA"
40
+ subject[2].date.should be_a Date
41
+ subject[2].description.should eq "Package picked up for delivery."
42
+ subject[2].location.should eq "LOS ANGELES, CA"
43
+ end
32
44
  end
33
45
  end
34
46
 
@@ -21,8 +21,8 @@ describe Trackerific::Services::USPS do
21
21
  it { should eq 'http://production.shippingapis.com' }
22
22
  end
23
23
 
24
- describe "#xml_endpoint" do
25
- subject { described_class.xml_endpoint }
24
+ describe "#config.xml_endpoint" do
25
+ subject { described_class.config.endpoint }
26
26
  it { should eq '/ShippingAPI.dll' }
27
27
  end
28
28
  end
@@ -35,8 +35,8 @@ describe Trackerific::Services::USPS do
35
35
  it { should eq 'http://testing.shippingapis.com' }
36
36
  end
37
37
 
38
- describe "#xml_endpoint" do
39
- subject { described_class.xml_endpoint }
38
+ describe "#config.xml_endpoint" do
39
+ subject { described_class.config.endpoint }
40
40
  it { should eq '/ShippingAPITest.dll' }
41
41
  end
42
42
  end
@@ -1,5 +1,5 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Trackerific::VERSION do
4
- it { should eq "0.7.2" }
4
+ it { should eq "0.7.3" }
5
5
  end
@@ -0,0 +1,15 @@
1
+ class TestConcernsXML < Trackerific::Services::Base
2
+ include Trackerific::Services::Concerns::XML
3
+
4
+ def initialize
5
+ @credentials = { user_id: 'USER ID' }
6
+ end
7
+ end
8
+
9
+ class TestConcernsSOAP < Trackerific::Services::Base
10
+ include Trackerific::Services::Concerns::SOAP
11
+
12
+ def initialize
13
+ @credentials = { user_id: 'USER ID' }
14
+ end
15
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trackerific
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.2
4
+ version: 0.7.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Travis Haynes
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-10-19 00:00:00.000000000 Z
11
+ date: 2013-10-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
@@ -152,7 +152,9 @@ files:
152
152
  - LICENSE.txt
153
153
  - README.rdoc
154
154
  - Rakefile
155
+ - lib/dependencies.rb
155
156
  - lib/trackerific.rb
157
+ - lib/trackerific/builders.rb
156
158
  - lib/trackerific/builders/base/soap.rb
157
159
  - lib/trackerific/builders/base/xml.rb
158
160
  - lib/trackerific/builders/fedex.rb
@@ -162,6 +164,7 @@ files:
162
164
  - lib/trackerific/environment.rb
163
165
  - lib/trackerific/error.rb
164
166
  - lib/trackerific/event.rb
167
+ - lib/trackerific/parsers.rb
165
168
  - lib/trackerific/parsers/base.rb
166
169
  - lib/trackerific/parsers/fedex.rb
167
170
  - lib/trackerific/parsers/ups.rb
@@ -174,6 +177,7 @@ files:
174
177
  - lib/trackerific/services/mock_service.rb
175
178
  - lib/trackerific/services/ups.rb
176
179
  - lib/trackerific/services/usps.rb
180
+ - lib/trackerific/soap.rb
177
181
  - lib/trackerific/soap/wsdl.rb
178
182
  - lib/trackerific/version.rb
179
183
  - spec/fixtures/fedex/error.xml
@@ -212,6 +216,7 @@ files:
212
216
  - spec/spec_helper.rb
213
217
  - spec/support/fixtures.rb
214
218
  - spec/support/reload.rb
219
+ - spec/support/test_concerns.rb
215
220
  - spec/support/test_services.rb
216
221
  - spec/support/trackerific.rb
217
222
  - trackerific.gemspec
@@ -277,5 +282,6 @@ test_files:
277
282
  - spec/spec_helper.rb
278
283
  - spec/support/fixtures.rb
279
284
  - spec/support/reload.rb
285
+ - spec/support/test_concerns.rb
280
286
  - spec/support/test_services.rb
281
287
  - spec/support/trackerific.rb