gentle 0.2.0 → 0.3
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.
- checksums.yaml +4 -4
- data/lib/gentle/documents/request/rma_document.rb +3 -3
- data/lib/gentle/version.rb +1 -1
- data/spec/fixtures/documents/responses/shipment_order_result.xml +2 -2
- data/spec/spec_helper.rb +6 -20
- data/spec/unit/documents/request/rma_document_spec.rb +15 -4
- data/spec/unit/documents/response/shipment_order_result_spec.rb +1 -1
- metadata +3 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f32f0c7a6f1a1b865917abd975208a9348f637d0
|
|
4
|
+
data.tar.gz: 05243d09565638e9e54c3a19b9ee1327083059fa
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: fd2052df7216f4cc139239272236b1f3343168822bda7f61cb2b24cbc5aaf09e318125b56477d4bcd266daa9b076a796dff2190f42b9327d59480d1072697acf
|
|
7
|
+
data.tar.gz: d469b745417d673de1a052d15407b172cfe4bbaa784f0928da1da16dab7ea6769a91c4f974ddd39681bc052e77c19f30f035be97b4fbec06de7cb858cf1cf9a2
|
|
@@ -31,11 +31,11 @@ module Gentle
|
|
|
31
31
|
'Warehouse' => warehouse,
|
|
32
32
|
'TrackingNumber' => @rma.tracking_number) do
|
|
33
33
|
|
|
34
|
-
@rma.returned_items.
|
|
35
|
-
xml.Line('LineNo' =>
|
|
34
|
+
@rma.returned_items.each_with_index do |returned_item, line_number|
|
|
35
|
+
xml.Line('LineNo' => line_number + 1,
|
|
36
36
|
'OrderNumber' => @order.number,
|
|
37
37
|
'ItemNumber' => returned_item.sku,
|
|
38
|
-
'Quantity' =>
|
|
38
|
+
'Quantity' => 1,
|
|
39
39
|
'SaleUOM' => 'EA', #Each
|
|
40
40
|
'ReturnReason' => @rma.reason.name,
|
|
41
41
|
'CustomerComment' => ''
|
data/lib/gentle/version.rb
CHANGED
data/spec/spec_helper.rb
CHANGED
|
@@ -269,33 +269,18 @@ class ReasonDouble
|
|
|
269
269
|
end
|
|
270
270
|
end
|
|
271
271
|
|
|
272
|
-
class InventoryUnitDouble
|
|
273
|
-
attr_accessor :variant, :line_item, :line_item_id
|
|
274
|
-
|
|
275
|
-
DEFAULT_OPTIONS = {
|
|
276
|
-
line_item_id: 1,
|
|
277
|
-
line_item: LineItemDouble.example,
|
|
278
|
-
variant: VariantDouble.example
|
|
279
|
-
}
|
|
280
|
-
def initialize(options = {})
|
|
281
|
-
@line_item_id = options[:line_item_id]
|
|
282
|
-
@line_item = options[:line_item]
|
|
283
|
-
@variant = options[:variant]
|
|
284
|
-
end
|
|
285
|
-
def self.example(options = {})
|
|
286
|
-
self.new(DEFAULT_OPTIONS.merge(options))
|
|
287
|
-
end
|
|
288
|
-
end
|
|
289
272
|
|
|
290
273
|
class ReturnItemDouble
|
|
291
|
-
attr_accessor :
|
|
274
|
+
attr_accessor :sku
|
|
292
275
|
|
|
293
276
|
DEFAULT_OPTIONS = {
|
|
294
|
-
|
|
277
|
+
sku: "ABC-123",
|
|
295
278
|
}
|
|
279
|
+
|
|
296
280
|
def initialize(options = {})
|
|
297
|
-
@
|
|
281
|
+
@sku = options[:sku]
|
|
298
282
|
end
|
|
283
|
+
|
|
299
284
|
def self.example(options = {})
|
|
300
285
|
self.new(DEFAULT_OPTIONS.merge(options))
|
|
301
286
|
end
|
|
@@ -303,6 +288,7 @@ end
|
|
|
303
288
|
|
|
304
289
|
class RMADouble
|
|
305
290
|
attr_accessor :return_items, :order, :config, :reason, :number, :tracking_number, :created_at
|
|
291
|
+
alias_method :returned_items, :return_items
|
|
306
292
|
|
|
307
293
|
DEFAULT_OPTIONS = {
|
|
308
294
|
number: 'RMA1234567',
|
|
@@ -37,17 +37,28 @@ module Gentle
|
|
|
37
37
|
|
|
38
38
|
line_items = document.css('Line')
|
|
39
39
|
assert_equal 1, line_items.length
|
|
40
|
-
assert_line_item(@order.line_items.first, line_items.first)
|
|
40
|
+
assert_line_item("1", @order.line_items.first, line_items.first)
|
|
41
41
|
end
|
|
42
42
|
|
|
43
|
+
it "should create 1 line for each returned item" do
|
|
44
|
+
@rma.return_items = [ReturnItemDouble.example, ReturnItemDouble.example]
|
|
45
|
+
@object = @RMADocument = RMADocument.new(config: @config, rma: @rma)
|
|
46
|
+
|
|
47
|
+
document = Nokogiri::XML::Document.parse(@RMADocument.to_xml)
|
|
48
|
+
line_items = document.css('Line')
|
|
49
|
+
assert_equal 2, line_items.length
|
|
50
|
+
assert_line_item("1", @order.line_items.first, line_items.first)
|
|
51
|
+
assert_line_item("2", @order.line_items.first, line_items.last)
|
|
52
|
+
|
|
53
|
+
end
|
|
43
54
|
|
|
44
55
|
private
|
|
45
56
|
|
|
46
|
-
def assert_line_item(expected_line_item, line_item)
|
|
47
|
-
assert_equal
|
|
57
|
+
def assert_line_item(line_number, expected_line_item, line_item)
|
|
58
|
+
assert_equal line_number, line_item['LineNo']
|
|
48
59
|
assert_equal @order.number, line_item['OrderNumber']
|
|
49
60
|
assert_equal expected_line_item.sku.to_s, line_item['ItemNumber']
|
|
50
|
-
assert_equal
|
|
61
|
+
assert_equal "1", line_item['Quantity']
|
|
51
62
|
assert_equal "EA", line_item['SaleUOM']
|
|
52
63
|
assert_equal @rma.reason.name, line_item['ReturnReason']
|
|
53
64
|
assert_equal "", line_item['CustomerComment']
|
|
@@ -14,7 +14,7 @@ module Gentle
|
|
|
14
14
|
assert_equal 'Gentle', order_result.client_id
|
|
15
15
|
assert_equal 'Gentle', order_result.business_unit
|
|
16
16
|
assert_equal 1, order_result.carton_count
|
|
17
|
-
assert_equal Time.
|
|
17
|
+
assert_equal Time.utc(2009, 9, 1, 4, 0, 0), order_result.date_shipped
|
|
18
18
|
|
|
19
19
|
assert_equal "40000000000", order_result.tracking_number
|
|
20
20
|
assert_equal "FIRST", order_result.service_level
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: gentle
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: '0.3'
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- DynamoMTL
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2016-
|
|
11
|
+
date: 2016-09-14 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: aws-sdk
|
|
@@ -174,7 +174,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
174
174
|
version: '0'
|
|
175
175
|
requirements: []
|
|
176
176
|
rubyforge_project:
|
|
177
|
-
rubygems_version: 2.4.5
|
|
177
|
+
rubygems_version: 2.4.5
|
|
178
178
|
signing_key:
|
|
179
179
|
specification_version: 4
|
|
180
180
|
summary: Integrates with QL Blackboard and work Queue
|
|
@@ -197,4 +197,3 @@ test_files:
|
|
|
197
197
|
- spec/unit/message_spec.rb
|
|
198
198
|
- spec/unit/phase_1_set_spec.rb
|
|
199
199
|
- spec/unit/queue_spec.rb
|
|
200
|
-
has_rdoc:
|