shipping 1.3.0 → 1.5.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.
- data/README +10 -6
- data/lib/shipping.rb +2 -0
- data/lib/shipping/base.rb +159 -156
- data/lib/shipping/fedex.rb +463 -438
- data/lib/shipping/ups.rb +432 -83
- data/test/base/base_test.rb +10 -4
- data/test/fedex/fedex_test.rb +55 -22
- data/test/ups/ups_test.rb +62 -6
- metadata +42 -36
data/test/base/base_test.rb
CHANGED
@@ -1,17 +1,23 @@
|
|
1
1
|
require File.dirname(__FILE__) + '/../test_helper'
|
2
2
|
class BaseTest < Test::Unit::TestCase
|
3
3
|
def setup
|
4
|
-
@ship = Shipping::Base.new
|
4
|
+
@ship = Shipping::Base.new(
|
5
|
+
:zip => 97202,
|
6
|
+
:state => "OR",
|
7
|
+
:sender_zip => 10001,
|
8
|
+
:sender_state => "New York",
|
9
|
+
:weight => 2
|
10
|
+
)
|
5
11
|
end
|
6
|
-
|
12
|
+
|
7
13
|
def test_ups
|
8
|
-
|
14
|
+
ups = @ship.ups
|
9
15
|
assert_instance_of Shipping::UPS, ups
|
10
16
|
assert_equal ups.zip, @ship.zip
|
11
17
|
end
|
12
18
|
|
13
19
|
def test_fedex
|
14
|
-
|
20
|
+
fedex = @ship.fedex
|
15
21
|
assert_instance_of Shipping::FedEx, fedex
|
16
22
|
assert_equal fedex.zip, @ship.zip
|
17
23
|
end
|
data/test/fedex/fedex_test.rb
CHANGED
@@ -1,38 +1,71 @@
|
|
1
1
|
require File.dirname(__FILE__) + '/../test_helper'
|
2
2
|
class FedExTest < Test::Unit::TestCase
|
3
3
|
def setup
|
4
|
-
@ship = Shipping::FedEx.new
|
4
|
+
@ship = Shipping::FedEx.new(
|
5
|
+
:zip => 97202,
|
6
|
+
:state => "OR",
|
7
|
+
:sender_zip => 10001,
|
8
|
+
:sender_state => "New York",
|
9
|
+
:weight => 2
|
10
|
+
)
|
11
|
+
|
12
|
+
# use demo environment for tests
|
13
|
+
@ship.fedex_url = 'https://gatewaybeta.fedex.com/GatewayDC'
|
5
14
|
end
|
6
|
-
|
15
|
+
|
7
16
|
def test_price
|
8
|
-
|
17
|
+
assert_in_delta 5.80, @ship.price, 1
|
9
18
|
end
|
10
19
|
|
11
20
|
def test_discount_price
|
12
|
-
|
13
|
-
|
21
|
+
assert_in_delta 5.80, @ship.discount_price, 1
|
22
|
+
assert @ship.discount_price < @ship.price
|
14
23
|
end
|
15
24
|
|
16
25
|
def test_fails
|
17
|
-
|
18
|
-
|
26
|
+
ship = Shipping::FedEx.new :zip => 97202, :weight => 2
|
27
|
+
assert_raise(Shipping::ShippingError) { ship.price }
|
19
28
|
end
|
20
29
|
|
21
30
|
def test_label
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
31
|
+
@ship.name = "Package Receiver"
|
32
|
+
@ship.phone = "555-555-5555"
|
33
|
+
@ship.email = "lucas@rufy.com"
|
34
|
+
@ship.address = "Some address"
|
35
|
+
@ship.city = "Portland"
|
36
|
+
|
37
|
+
@ship.sender_name = "Package Sender"
|
38
|
+
@ship.sender_phone = "333-333-3333"
|
39
|
+
@ship.sender_email = "john@doe.com"
|
40
|
+
@ship.sender_address = "Ok old address"
|
41
|
+
@ship.sender_city = "New York"
|
42
|
+
|
43
|
+
assert_nothing_raised { @label = @ship.label }
|
44
|
+
assert_not_nil @label.tracking_number
|
45
|
+
assert_not_nil @label.image.path
|
46
|
+
#assert_equal `file -i -b #{@label.image.path}`, "image/png\n"
|
47
|
+
end
|
48
|
+
|
49
|
+
def test_void
|
50
|
+
@ship.name = "Package Receiver"
|
51
|
+
@ship.phone = "555-555-5555"
|
52
|
+
@ship.email = "lucas@rufy.com"
|
53
|
+
@ship.address = "Some address"
|
54
|
+
@ship.city = "Portland"
|
55
|
+
|
56
|
+
@ship.sender_name = "Package Sender"
|
57
|
+
@ship.sender_phone = "333-333-3333"
|
58
|
+
@ship.sender_email = "john@doe.com"
|
59
|
+
@ship.sender_address = "Ok old address"
|
60
|
+
@ship.sender_city = "New York"
|
61
|
+
|
62
|
+
assert_nothing_raised { @label = @ship.label }
|
63
|
+
|
64
|
+
assert @ship.void(@label.tracking_number)
|
65
|
+
end
|
66
|
+
|
67
|
+
def test_void_fail
|
68
|
+
# made up tracking number
|
69
|
+
assert_raise(Shipping::ShippingError) { @ship.void('470012923511666') }
|
37
70
|
end
|
38
71
|
end
|
data/test/ups/ups_test.rb
CHANGED
@@ -1,16 +1,72 @@
|
|
1
1
|
require File.dirname(__FILE__) + '/../test_helper'
|
2
2
|
class UpsTest < Test::Unit::TestCase
|
3
3
|
def setup
|
4
|
-
@ship = Shipping::UPS.new
|
4
|
+
@ship = Shipping::UPS.new(
|
5
|
+
:zip => 97202,
|
6
|
+
:state => "OR",
|
7
|
+
:sender_zip => 10001,
|
8
|
+
:sender_state => "New York",
|
9
|
+
:weight => 2
|
10
|
+
)
|
11
|
+
|
12
|
+
# use demo environment for tests
|
13
|
+
@ship.ups_url = 'https://wwwcie.ups.com/ups.app/xml'
|
5
14
|
end
|
6
|
-
|
15
|
+
|
7
16
|
def test_price
|
8
|
-
|
17
|
+
# price is subject to account details, it seems?
|
18
|
+
assert_in_delta 5.80, @ship.price, 1
|
9
19
|
end
|
10
20
|
|
11
21
|
def test_valid_address
|
12
|
-
|
13
|
-
|
14
|
-
|
22
|
+
assert !@ship.valid_address?
|
23
|
+
@ship.city = "Portland"
|
24
|
+
assert @ship.valid_address?
|
25
|
+
end
|
26
|
+
|
27
|
+
def test_label
|
28
|
+
@ship.name = "Package Receiver"
|
29
|
+
@ship.company = "Package Receiver Company"
|
30
|
+
@ship.phone = "555-555-5555"
|
31
|
+
@ship.email = "lucas@rufy.com"
|
32
|
+
@ship.address = "Some address"
|
33
|
+
@ship.city = "Portland"
|
34
|
+
|
35
|
+
@ship.sender_name = "Package Sender"
|
36
|
+
@ship.sender_company = "Package Sender Company"
|
37
|
+
@ship.sender_phone = "333-333-3333"
|
38
|
+
@ship.sender_email = "john@doe.com"
|
39
|
+
@ship.sender_address = "Ok old address"
|
40
|
+
@ship.sender_city = "New York"
|
41
|
+
|
42
|
+
assert_nothing_raised { @label = @ship.label }
|
43
|
+
assert_not_nil @label.tracking_number
|
44
|
+
assert_not_nil @label.image.path
|
45
|
+
#assert_equal `file -i -b #{@label.image.path}`, "image/gif\n"
|
46
|
+
end
|
47
|
+
|
48
|
+
def test_void
|
49
|
+
@ship.name = "Package Receiver"
|
50
|
+
@ship.company = "Package Receiver Company"
|
51
|
+
@ship.phone = "555-555-5555"
|
52
|
+
@ship.email = "lucas@rufy.com"
|
53
|
+
@ship.address = "Some address"
|
54
|
+
@ship.city = "Portland"
|
55
|
+
|
56
|
+
@ship.sender_name = "Package Sender"
|
57
|
+
@ship.sender_company = "Package Sender Company"
|
58
|
+
@ship.sender_phone = "333-333-3333"
|
59
|
+
@ship.sender_email = "john@doe.com"
|
60
|
+
@ship.sender_address = "Ok old address"
|
61
|
+
@ship.sender_city = "New York"
|
62
|
+
|
63
|
+
assert_nothing_raised { @label = @ship.label }
|
64
|
+
|
65
|
+
assert @ship.void(@label.tracking_number)
|
66
|
+
end
|
67
|
+
|
68
|
+
def test_void_fail
|
69
|
+
# Tracking number from certification process; Time for voiding has expired
|
70
|
+
assert_raise(Shipping::ShippingError) { @ship.void('1Z12345E0392508488') }
|
15
71
|
end
|
16
72
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
|
-
rubygems_version: 0.
|
2
|
+
rubygems_version: 0.9.0
|
3
3
|
specification_version: 1
|
4
4
|
name: shipping
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 1.
|
7
|
-
date:
|
6
|
+
version: 1.5.0
|
7
|
+
date: 2007-01-02 00:00:00 -08:00
|
8
8
|
summary: A general shipping module to find out the shipping prices via UPS or FedEx.
|
9
9
|
require_paths:
|
10
|
-
|
10
|
+
- lib
|
11
11
|
email: lucas@rufy.com
|
12
12
|
homepage: http://shipping.rufy.com/
|
13
13
|
rubyforge_project:
|
@@ -18,46 +18,52 @@ bindir: bin
|
|
18
18
|
has_rdoc: true
|
19
19
|
required_ruby_version: !ruby/object:Gem::Version::Requirement
|
20
20
|
requirements:
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
version: 0.0.0
|
21
|
+
- - ">"
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: 0.0.0
|
25
24
|
version:
|
26
25
|
platform: ruby
|
26
|
+
signing_key:
|
27
|
+
cert_chain:
|
28
|
+
post_install_message:
|
27
29
|
authors:
|
28
|
-
|
30
|
+
- Lucas Carlson
|
29
31
|
files:
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
32
|
+
- lib/extensions.rb
|
33
|
+
- lib/shipping
|
34
|
+
- lib/shipping.rb
|
35
|
+
- lib/shipping/base.rb
|
36
|
+
- lib/shipping/fedex.rb
|
37
|
+
- lib/shipping/ups.rb
|
38
|
+
- test/base
|
39
|
+
- test/fedex
|
40
|
+
- test/test_helper.rb
|
41
|
+
- test/ups
|
42
|
+
- test/base/base_test.rb
|
43
|
+
- test/fedex/fedex_test.rb
|
44
|
+
- test/ups/ups_test.rb
|
45
|
+
- LICENSE
|
46
|
+
- Rakefile
|
47
|
+
- README
|
46
48
|
test_files: []
|
49
|
+
|
47
50
|
rdoc_options: []
|
51
|
+
|
48
52
|
extra_rdoc_files: []
|
53
|
+
|
49
54
|
executables: []
|
55
|
+
|
50
56
|
extensions: []
|
57
|
+
|
51
58
|
requirements:
|
52
|
-
|
59
|
+
- An xml-builder library.
|
53
60
|
dependencies:
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
version:
|
61
|
+
- !ruby/object:Gem::Dependency
|
62
|
+
name: builder
|
63
|
+
version_requirement:
|
64
|
+
version_requirements: !ruby/object:Gem::Version::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 1.2.0
|
69
|
+
version:
|