blastramp 0.0.3 → 0.0.4

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.
@@ -1,11 +1,12 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- blastramp (0.0.2)
4
+ blastramp (0.0.3)
5
5
 
6
6
  GEM
7
7
  remote: http://rubygems.org/
8
8
  specs:
9
+ activesupport (3.0.8)
9
10
  builder (3.0.0)
10
11
  crack (0.1.8)
11
12
  diff-lcs (1.1.2)
@@ -39,6 +40,7 @@ PLATFORMS
39
40
  ruby
40
41
 
41
42
  DEPENDENCIES
43
+ activesupport (~> 3.0.3)
42
44
  blastramp!
43
45
  mocha (~> 0.9.8)
44
46
  rspec (~> 2.3.0)
data/README.md CHANGED
@@ -22,16 +22,13 @@ Usage example
22
22
  inventory_count.total_shipped
23
23
 
24
24
  # Create order:
25
- order = Blastramp::OrderUpload.new
26
- order.session = blastramp
25
+ order = Blastramp::Order.new
27
26
 
28
27
  order.order_id = '123'
29
28
  order.order_date = Time.now.strftime("%m/%d/%Y")
30
29
  order.start_date = Time.now.strftime("%m/%d/%Y")
31
30
  order.expiry_date = 1.month.from_now.strftime("%m/%d/%Y")
32
- order.num_of_cartons = 1
33
- order.weight = 1
34
- order.ship_method = order.shipping_service
31
+ order.ship_method = 'UPS Worldwide Standard'
35
32
  order.warehouse_id = '0001'
36
33
 
37
34
  ship_address = Blastramp::Address.new
@@ -40,20 +37,20 @@ Usage example
40
37
  ship_address.line2 = 'Apt 205'
41
38
  ship_address.city = 'Springfield'
42
39
  ship_address.provstate = 'IL'
43
- ship_address.postalcode = '45678'
44
40
  ship_address.country = 'USA'
45
41
  ship_address.phone = '555-555-5555'
46
42
  order.ship_address = ship_address
43
+ order.bill_address = ship_address
47
44
 
48
45
  order_item = Blastramp::OrderItem.new
49
46
  order_item.order_id = '123'
50
47
  order_item.sku = 'AAA-01-XX'
51
48
  order_item.quantity = 2
52
49
  order_item.item_value = 12.99
53
- order_item.warehouse_id = '0001'
54
50
  order.order_items << order_item
55
51
 
56
- order.save
52
+ order_upload = Blastramp::OrderUpload.new(blastramp, order)
53
+ order_upload.submit
57
54
 
58
55
  Credits
59
56
  -------
@@ -19,6 +19,7 @@ Gem::Specification.new do |s|
19
19
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
20
20
  s.require_paths = ["lib"]
21
21
 
22
+ s.add_development_dependency "activesupport", "~> 3.0.3"
22
23
  s.add_development_dependency "rspec", "~> 2.3.0"
23
24
  s.add_development_dependency "mocha", "~> 0.9.8"
24
25
  s.add_development_dependency "savon", "~> 0.8.0.beta.3"
@@ -1,8 +1,15 @@
1
- $LOAD_PATH << File.expand_path(File.join(*%w[ .. lib ]), File.dirname(__FILE__))
1
+ require 'active_support/ordered_hash'
2
2
  require 'savon'
3
+
4
+ $LOAD_PATH << File.expand_path(File.join(*%w[ .. lib ]), File.dirname(__FILE__))
3
5
  require 'ext'
6
+ require 'blastramp/entity'
7
+ require 'blastramp/address'
4
8
  require 'blastramp/inventory_count'
5
9
  require 'blastramp/inventory_count_query'
10
+ require 'blastramp/order'
11
+ require 'blastramp/order_item'
12
+ require 'blastramp/order_upload'
6
13
  require 'blastramp/session'
7
14
 
8
15
  module Blastramp
@@ -0,0 +1,41 @@
1
+ module Blastramp
2
+ class Address < Entity
3
+ has_properties :name, :line1, :line2, :line3, :city, :provstate, :country, :phone, :fax, :email, :web, :contact
4
+
5
+ def initialize_defaults
6
+ self.name = '' # Name as it appears on the ship to address label.
7
+ self.line1 = '' # Street information (line 1) to appear on the ship to address label. Max total length of line1, line2 and line3 is 200 character
8
+ self.line2 = ''
9
+ self.line3 = ''
10
+ self.city = '' # City name as on the ship to address label
11
+ self.provstate = '' # Province/State as it appears on the ship to address label
12
+ self.country = 'CA' # Country name as it appears on the ship to address label.
13
+ self.phone = '--' # Phone number (any format). If not known submit "--"
14
+ self.fax = '--' # Fax number (any format). If not known submit "--"
15
+ self.email = '--' # Email address. If not known submit "--"
16
+ self.web = '--' # Web site URL If not known submit "--"
17
+ self.contact = '' # Contact person's full name at the location.
18
+ end
19
+
20
+ # Returns OrderedHash with the properties of Address in the correct order, camelcased and ready
21
+ # to be sent via SOAP
22
+ def soap_data
23
+ data = ActiveSupport::OrderedHash.new
24
+ data['name'] = name
25
+ data['line1'] = line1
26
+ data['line2'] = line2
27
+ data['line3'] = line3
28
+ data['city'] = city
29
+ data['provstate'] = provstate
30
+ data['country'] = country
31
+ data['phone'] = phone
32
+ data['fax'] = fax
33
+ data['email'] = email
34
+ data['web'] = web
35
+ data['contact'] = contact
36
+
37
+ return data
38
+ end
39
+
40
+ end
41
+ end
@@ -0,0 +1,53 @@
1
+ module Blastramp
2
+ class Entity
3
+ # Internal accessors
4
+ attr_accessor :session
5
+
6
+ class << self
7
+ def has_properties(*properties)
8
+ @properties = properties
9
+ properties.each do |property|
10
+ unless instance_methods.collect(&:to_s).include?(property.to_s)
11
+ # Create property accessors that loads the full Entity from the API if necessary
12
+ define_method "#{property}" do
13
+ instance_variable_get("@#{property}")
14
+ end
15
+ end
16
+
17
+ # Just use regular writers
18
+ attr_writer property
19
+ end
20
+ end
21
+
22
+ def properties
23
+ @properties || []
24
+ end
25
+ end
26
+
27
+ def initialize(values = {})
28
+ initialize_defaults
29
+ update_properties(values)
30
+ end
31
+
32
+ def initialize_defaults
33
+ nil
34
+ end
35
+
36
+ def inspect
37
+ props = self.class.properties.collect { |p| "#{p}=#{self.send(p).inspect}" }
38
+ "#<#{self.class}:#{self.object_id}, #{props.join(', ')}>"
39
+ end
40
+
41
+ # Updates properties of Entity with the values from hash
42
+ def update_properties(hash)
43
+ hash.each do |key, value|
44
+ self.send("#{key}=", value)
45
+ end
46
+ end
47
+
48
+ # Returns OrderedHash with the data structure to send to the API
49
+ def soap_data
50
+ end
51
+
52
+ end
53
+ end
@@ -16,7 +16,8 @@ module Blastramp
16
16
 
17
17
  def find(sku)
18
18
  # Get a list of InventoryCounts from Blastramp
19
- response = session.request 'InventoryCountQuery' do
19
+ endpoint = "http://www.ioperate.net/ws/order/orderws.asmx?wsdl"
20
+ response = session.request endpoint, 'InventoryCountQuery' do
20
21
  http.headers["SOAPAction"] = "http://chrome52/webservices/InventoryCountQuery"
21
22
 
22
23
  soap.body = {
@@ -0,0 +1,65 @@
1
+ module Blastramp
2
+ class Order < Entity
3
+ has_properties :order_id, :po, :order_date, :start_date, :expiry_date, :num_of_cartons, :weight, :ship_method, :order_terms, :order_type, :order_currency, :order_tax, :warehouse_currency, :warehouse_id, :note, :season
4
+
5
+ # Associations
6
+ attr_accessor :order_items, :ship_address, :bill_address
7
+
8
+ def initialize
9
+ super
10
+ @order_items = []
11
+ @ship_address = Blastramp::Address.new
12
+ @bill_address = Blastramp::Address.new
13
+ end
14
+
15
+ def initialize_defaults
16
+ self.order_id = 0 # The order number. If it is to be determined by Blastramp then submit "TBD"
17
+ self.po = 0 # Customer purchase order number
18
+ self.order_date = Time.now.strftime("%m/%d/%Y") # The order date as dd/mm/yyyy
19
+ self.start_date = Time.now.strftime("%m/%d/%Y") # The orders start date as dd/mm/yyyy. The earliest date the order is expected to be released to the warehouse
20
+ self.expiry_date = (Time.now + 186400).strftime("%m/%d/%Y") # The orders expiry date as dd/mm/yyyy. The latest date the order would be released to the warehouse
21
+ self.num_of_cartons = 0 #N umber of cartons expected in the order. Unknown (and default) is "0"
22
+ self.weight = 0.0 # Estimated weight of the order. Unknown (and default) is "0.0"
23
+ self.ship_method = nil # Description of the desired shipping method. More detail is better: if known submit carrier, service description and service code. A list of valid values to be used must be provided to Blastramp
24
+ self.order_terms = "Terms Unknown" # Description of the order terms. Unknown (and default) "Terms Unknown"
25
+ self.order_type = 'P' # P := Pick and Pack. C := Crossdock.
26
+ self.order_currency = 'CAD' # IATA Currency of the order. Default is "CAD"
27
+ self.order_tax = nil # Tax rate to be applied to the order. Default is the current Canada GST rate.
28
+ self.warehouse_currency = 'CAD' # IATA used by the warehouse DC. Default is "CAD"
29
+ self.warehouse_id = '0001' # The iOperate identifier for the DC handling the order. Default is "0001"
30
+ self.note = nil # Other notes or instructions to be attached to the order
31
+ self.season = nil # The season code to which the order would apply. All available code must be provided to Chrome52
32
+ end
33
+
34
+ # Returns OrderedHash with the properties of CurrentInvoice in the correct order, camelcased and ready
35
+ # to be sent via SOAP
36
+ def soap_data
37
+ data = ActiveSupport::OrderedHash.new
38
+ data['orderid'] = order_id
39
+ data['po'] = po
40
+ data['orderDate'] = order_date
41
+ data['startDate'] = start_date
42
+ data['expiryDate'] = expiry_date
43
+ data['numOfCartons'] = num_of_cartons
44
+ data['weight'] = weight
45
+ data['shipMethod'] = ship_method
46
+ data['orderTerms'] = order_terms
47
+ data['orderType'] = order_type
48
+ data['orderCurrency'] = order_currency
49
+ data['orderTax'] = order_tax
50
+ data['warehouseCurrency'] = warehouse_currency
51
+ data['warehouseid'] = warehouse_id
52
+ data['note'] = note
53
+ data['season'] = season
54
+ data['shipAddress'] = ship_address.soap_data
55
+ data['billAddress'] = bill_address.soap_data
56
+ data['orderItems'] = []
57
+ order_items.each do |i|
58
+ data['orderItems'] << {'OrderItem' => i.soap_data}
59
+ end
60
+
61
+ return data
62
+ end
63
+
64
+ end
65
+ end
@@ -0,0 +1,33 @@
1
+ module Blastramp
2
+ class OrderItem < Entity
3
+ has_properties :order_id, :sku, :quantity, :item_value, :line_note, :carton, :warehouse_id, :category_id
4
+
5
+ def initialize_defaults
6
+ self.order_id = 0 # The orderID. Should equal the orderID in the Order
7
+ self.sku = 0 # The item sku as in the item list as provided to Blastramp
8
+ self.quantity = 0 # Quantity of this item included in the order
9
+ self.item_value = 0.0 # Monetary value of each item in the order currency.
10
+ self.line_note = '' # Other notes or instructions attached to this order item.
11
+ self.carton = '' # Carton identifier for a cross dock order.
12
+ self.warehouse_id = '0001' # The iOperate identifier for the DC handling the order (should be the same as in the order). Default is "0001"
13
+ self.category_id = '0001' # The inventory category id to which this product type belongs. Default is "0001"
14
+ end
15
+
16
+ # Returns OrderedHash with the properties of CurrentInvoice in the correct order, camelcased and ready
17
+ # to be sent via SOAP
18
+ def soap_data
19
+ data = ActiveSupport::OrderedHash.new
20
+ data['orderid'] = order_id
21
+ data['sku'] = sku
22
+ data['quantity'] = quantity
23
+ data['itemValue'] = item_value
24
+ data['lineNote'] = line_note
25
+ data['carton'] = carton
26
+ data['warehouseid'] = warehouse_id
27
+ data['categoryid'] = category_id
28
+
29
+ return data
30
+ end
31
+
32
+ end
33
+ end
@@ -0,0 +1,26 @@
1
+ module Blastramp
2
+ class OrderUpload
3
+ # Associations
4
+ attr_reader :session
5
+ attr_reader :order
6
+
7
+ def initialize(session, order)
8
+ @session = session
9
+ @order = order
10
+ end
11
+
12
+ def submit
13
+ # Submit order upload to Blastramp
14
+ endpoint = "http://www.ioperate.net/ws/order/orderws.asmx?wsdl"
15
+ response = session.request endpoint, 'OrderUpload' do
16
+ http.headers["SOAPAction"] = "http://chrome52/webservices/OrderUpload"
17
+
18
+ soap.body = {
19
+ 'VendorCode' => session.vendor_code,
20
+ 'VendorAccessKey' => session.vendor_access_key,
21
+ 'Batch' => {:order => order.soap_data}
22
+ }
23
+ end
24
+ end
25
+ end
26
+ end
@@ -1,16 +1,19 @@
1
1
  module Blastramp
2
2
  class Session
3
3
  attr_accessor :vendor_code, :vendor_access_key
4
+ attr_accessor :endpoint
4
5
 
5
6
  def initialize(vendor_code, vendor_access_key)
6
7
  self.vendor_code = vendor_code
7
8
  self.vendor_access_key = vendor_access_key
9
+ self.endpoint = nil
8
10
  end
9
11
 
10
12
  # Returns the Savon::Client used to connect to Blastramp
11
13
  def client
12
14
  @client ||= Savon::Client.new do
13
- wsdl.document = "http://www.ioperate.net/ws/inventory/inventoryws.asmx?wsdl"
15
+ wsdl.document = self.endpoint
16
+ # wsdl.document = "http://www.ioperate.net/ws/inventory/inventoryws.asmx?wsdl"
14
17
  #
15
18
  # wsdl.endpoint = "http://www.ioperate.net/ws/inventory/inventoryws.asmx"
16
19
  # wsdl.namespace = "http://chrome52/webservices"
@@ -22,7 +25,8 @@ module Blastramp
22
25
  @inventory_counts ||= InventoryCountQuery.new(self)
23
26
  end
24
27
 
25
- def request(action, &block)
28
+ def request(ep, action, &block)
29
+ self.endpoint = ep
26
30
  response = client.request :soap, action, &block
27
31
  response_hash = response.to_hash
28
32
  action = action.snake_case
@@ -1,3 +1,4 @@
1
1
  module Blastramp
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
4
+
@@ -0,0 +1,10 @@
1
+ require './spec/spec_helper'
2
+
3
+ describe Blastramp::Address do
4
+ let(:session) { stub_session }
5
+ subject { Blastramp::Address }
6
+
7
+ it "inherits from Blastramp::Entity" do
8
+ Blastramp::Address.ancestors.should include(Blastramp::Entity)
9
+ end
10
+ end
@@ -0,0 +1,49 @@
1
+ require './spec/spec_helper'
2
+
3
+ class SpecEntity < Blastramp::Entity
4
+ has_properties :foo, :baz
5
+
6
+ def existing_method; end
7
+ end
8
+
9
+ describe Blastramp::Entity do
10
+ let(:session) { stub_session }
11
+
12
+ describe "class methods" do
13
+ subject { SpecEntity }
14
+
15
+ describe "new" do
16
+ subject { Blastramp::Entity.new }
17
+
18
+ it "creates a new instance" do
19
+ subject.should be_instance_of(Blastramp::Entity)
20
+ end
21
+
22
+ it "initializes the entity with values from the given hash" do
23
+ entity = SpecEntity.new(:foo => 'bar', :baz => 'qux')
24
+ entity.foo.should == 'bar'
25
+ entity.baz.should == 'qux'
26
+ end
27
+ end
28
+
29
+ describe "has_properties" do
30
+ it "creates getter for all properties" do
31
+ subject.expects(:define_method).with('name')
32
+ subject.expects(:define_method).with('age')
33
+ subject.has_properties :name, :age
34
+ end
35
+
36
+ it "creates setter for all properties" do
37
+ subject.expects(:attr_writer).with(:name)
38
+ subject.expects(:attr_writer).with(:age)
39
+ subject.has_properties :name, :age
40
+ end
41
+
42
+ it "does not clobber existing methods" do
43
+ subject.expects(:define_method).with('existing_method').never
44
+ subject.has_properties :existing_method
45
+ end
46
+
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,10 @@
1
+ require './spec/spec_helper'
2
+
3
+ describe Blastramp::OrderItem do
4
+ let(:session) { stub_session }
5
+ subject { Blastramp::OrderItem }
6
+
7
+ it "inherits from Blastramp::Entity" do
8
+ Blastramp::OrderItem.ancestors.should include(Blastramp::Entity)
9
+ end
10
+ end
@@ -0,0 +1,16 @@
1
+ require './spec/spec_helper'
2
+
3
+ describe Blastramp::Order do
4
+ subject { Blastramp::Order.new }
5
+
6
+ it "inherits from Blastramp::Entity" do
7
+ Blastramp::Order.ancestors.should include(Blastramp::Entity)
8
+ end
9
+
10
+ describe "new" do
11
+ it "initializes order_items as an empty array" do
12
+ subject.order_items.should == []
13
+ end
14
+ end
15
+
16
+ end
@@ -0,0 +1,25 @@
1
+ require './spec/spec_helper'
2
+
3
+ describe Blastramp::OrderUpload do
4
+ let(:session) { stub_session }
5
+ let(:order) { stub_order }
6
+ subject { Blastramp::OrderUpload.new(session, order) }
7
+
8
+ describe "new" do
9
+ it "stores session" do
10
+ subject.session.should === session
11
+ end
12
+ end
13
+
14
+ describe "order_upload" do
15
+
16
+ it "uses OrderUpload on API" do
17
+ savon.expects('OrderUpload').with(
18
+ 'VendorCode' => 'ABC',
19
+ 'VendorAccessKey' => 'TWX45IX2R9G35394',
20
+ 'Batch' => {:order => order.soap_data}).returns(:success)
21
+ subject.submit
22
+ end
23
+ end
24
+
25
+ end
@@ -0,0 +1,15 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
3
+ <soap:Body>
4
+ <OrderUploadResponse xmlns="http://chrome52/webservices/">
5
+ <OrderUploadResult>
6
+ <result>SUCCESS</result>
7
+ <error/>
8
+ <orderids>
9
+ <string>12345</string>
10
+ <string>67890</string>
11
+ </orderids>
12
+ </OrderUploadResult>
13
+ </OrderUploadResponse>
14
+ </soap:Body>
15
+ </soap:Envelope>
@@ -34,3 +34,8 @@ end
34
34
  def stub_session
35
35
  Blastramp::Session.new('ABC', 'TWX45IX2R9G35394')
36
36
  end
37
+
38
+ def stub_order
39
+ order = Blastramp::Order.new
40
+ end
41
+
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 0
8
- - 3
9
- version: 0.0.3
8
+ - 4
9
+ version: 0.0.4
10
10
  platform: ruby
11
11
  authors:
12
12
  - cnantais
@@ -18,9 +18,24 @@ date: 2011-06-29 00:00:00 -07:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
- name: rspec
21
+ name: activesupport
22
22
  prerelease: false
23
23
  requirement: &id001 !ruby/object:Gem::Requirement
24
+ none: false
25
+ requirements:
26
+ - - ~>
27
+ - !ruby/object:Gem::Version
28
+ segments:
29
+ - 3
30
+ - 0
31
+ - 3
32
+ version: 3.0.3
33
+ type: :development
34
+ version_requirements: *id001
35
+ - !ruby/object:Gem::Dependency
36
+ name: rspec
37
+ prerelease: false
38
+ requirement: &id002 !ruby/object:Gem::Requirement
24
39
  none: false
25
40
  requirements:
26
41
  - - ~>
@@ -31,11 +46,11 @@ dependencies:
31
46
  - 0
32
47
  version: 2.3.0
33
48
  type: :development
34
- version_requirements: *id001
49
+ version_requirements: *id002
35
50
  - !ruby/object:Gem::Dependency
36
51
  name: mocha
37
52
  prerelease: false
38
- requirement: &id002 !ruby/object:Gem::Requirement
53
+ requirement: &id003 !ruby/object:Gem::Requirement
39
54
  none: false
40
55
  requirements:
41
56
  - - ~>
@@ -46,11 +61,11 @@ dependencies:
46
61
  - 8
47
62
  version: 0.9.8
48
63
  type: :development
49
- version_requirements: *id002
64
+ version_requirements: *id003
50
65
  - !ruby/object:Gem::Dependency
51
66
  name: savon
52
67
  prerelease: false
53
- requirement: &id003 !ruby/object:Gem::Requirement
68
+ requirement: &id004 !ruby/object:Gem::Requirement
54
69
  none: false
55
70
  requirements:
56
71
  - - ~>
@@ -63,11 +78,11 @@ dependencies:
63
78
  - 3
64
79
  version: 0.8.0.beta.3
65
80
  type: :development
66
- version_requirements: *id003
81
+ version_requirements: *id004
67
82
  - !ruby/object:Gem::Dependency
68
83
  name: savon_spec
69
84
  prerelease: false
70
- requirement: &id004 !ruby/object:Gem::Requirement
85
+ requirement: &id005 !ruby/object:Gem::Requirement
71
86
  none: false
72
87
  requirements:
73
88
  - - ~>
@@ -78,7 +93,7 @@ dependencies:
78
93
  - 6
79
94
  version: 0.1.6
80
95
  type: :development
81
- version_requirements: *id004
96
+ version_requirements: *id005
82
97
  description: Blastramp Shipping Services Client Library for polling inventory and submitting shipping orders.
83
98
  email:
84
99
  - cnantais@gmail.com
@@ -97,14 +112,25 @@ files:
97
112
  - Rakefile
98
113
  - blastramp.gemspec
99
114
  - lib/blastramp.rb
115
+ - lib/blastramp/address.rb
116
+ - lib/blastramp/entity.rb
100
117
  - lib/blastramp/inventory_count.rb
101
118
  - lib/blastramp/inventory_count_query.rb
119
+ - lib/blastramp/order.rb
120
+ - lib/blastramp/order_item.rb
121
+ - lib/blastramp/order_upload.rb
102
122
  - lib/blastramp/session.rb
103
123
  - lib/blastramp/version.rb
104
124
  - lib/ext.rb
125
+ - spec/blastramp/address_spec.rb
126
+ - spec/blastramp/entity_spec.rb
105
127
  - spec/blastramp/inventory_count_query_spec.rb
128
+ - spec/blastramp/order_item_spec.rb
129
+ - spec/blastramp/order_spec.rb
130
+ - spec/blastramp/order_upload_spec.rb
106
131
  - spec/blastramp/session_spec.rb
107
132
  - spec/fixtures/inventory_count_query/many.xml
133
+ - spec/fixtures/order_upload/success.xml
108
134
  - spec/fixtures/wsdl.xml
109
135
  - spec/spec_helper.rb
110
136
  has_rdoc: true
@@ -140,8 +166,14 @@ signing_key:
140
166
  specification_version: 3
141
167
  summary: Blastramp Shipping Services Client Library
142
168
  test_files:
169
+ - spec/blastramp/address_spec.rb
170
+ - spec/blastramp/entity_spec.rb
143
171
  - spec/blastramp/inventory_count_query_spec.rb
172
+ - spec/blastramp/order_item_spec.rb
173
+ - spec/blastramp/order_spec.rb
174
+ - spec/blastramp/order_upload_spec.rb
144
175
  - spec/blastramp/session_spec.rb
145
176
  - spec/fixtures/inventory_count_query/many.xml
177
+ - spec/fixtures/order_upload/success.xml
146
178
  - spec/fixtures/wsdl.xml
147
179
  - spec/spec_helper.rb