peddler 0.2.4 → 0.3.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.
@@ -1,78 +1,86 @@
1
- require File.join(File.dirname(__FILE__), '/../spec_helper')
1
+ require 'spec_helper'
2
2
 
3
3
  module Peddler
4
4
  module Feeds
5
5
  module OrderFulfillment
6
6
  describe Batch do
7
- before(:each) do
8
- @transport = Peddler::Transport.new
9
- @transport.modernize_request
10
- @feed = Peddler::Feeds::OrderFulfillment::Batch.new(@transport)
11
- @fulfilled_order = Peddler::Feeds::OrderFulfillment::Item.new :order_id => '123-1234567-1234567',
12
- :ship_date => Date.parse('2009-08-11').to_s
7
+ let(:transport) do
8
+ transport = Peddler::Transport.new
9
+ transport.modernize_request
10
+ transport
13
11
  end
14
-
15
- it 'should add items to batch' do
16
- @feed.batch.size.should == 0
17
- @feed << @fulfilled_order
18
- @feed.batch.size.should == 1
12
+
13
+ let(:feed) { Peddler::Feeds::OrderFulfillment::Batch.new(transport) }
14
+
15
+ let(:fulfilled_order) do
16
+ Peddler::Feeds::OrderFulfillment::Item.new(
17
+ :order_id => '123-1234567-1234567',
18
+ :ship_date => Date.parse('2009-08-11').to_s
19
+ )
20
+ end
21
+
22
+ it 'adds items to batch' do
23
+ feed.batch.size.should == 0
24
+ feed << fulfilled_order
25
+ feed.batch.size.should == 1
19
26
  end
20
-
21
- it 'should create content for upload' do
22
- @feed << @fulfilled_order
23
- @feed.file_content.should == "order-id\torder-item-id\tquantity\tship-date\tcarrier-code\tcarrier-name\ttracking-number\tship-method\r\n123-1234567-1234567\t\t\t2009-08-11\t\t\t\t\r\n"
27
+
28
+ it 'creates content for upload' do
29
+ feed << fulfilled_order
30
+ feed.file_content.should == "order-id\torder-item-id\tquantity\tship-date\tcarrier-code\tcarrier-name\ttracking-number\tship-method\r\n123-1234567-1234567\t\t\t2009-08-11\t\t\t\t\r\n"
24
31
  end
25
-
26
- it 'should upload' do
27
- @feed.id.should == nil
28
- @transport.stub!(:execute_request).and_return('<?xml version="1.0" encoding="UTF-8"?><Response xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://merchant-query.amazon.com/query/schema/MerchantQueryResponses.xsd"><Upload> <UploadId>130895733</UploadId><UploadType>_POST_FLAT_FILE_FULFILLMENT_DATA_</UploadType><UploadStatus>_SUBMITTED_</UploadStatus><SubmittedDate>2007-04-05T00:34:00+0000</SubmittedDate></Upload></Response>')
29
- @feed.upload
30
- @feed.id.should == '130895733'
31
- @feed.status.should == '_SUBMITTED_'
32
+
33
+ it 'uploads' do
34
+ feed.id.should == nil
35
+ transport.stub!(:execute_request).and_return('<?xml version="1.0" encoding="UTF-8"?><Response xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://merchant-query.amazon.com/query/schema/MerchantQueryResponses.xsd"><Upload> <UploadId>130895733</UploadId><UploadType>_POST_FLAT_FILE_FULFILLMENT_DATA_</UploadType><UploadStatus>_SUBMITTED_</UploadStatus><SubmittedDate>2007-04-05T00:34:00+0000</SubmittedDate></Upload></Response>')
36
+ feed.upload
37
+ feed.id.should == '130895733'
38
+ feed.status.should == '_SUBMITTED_'
32
39
  end
33
-
34
- it 'should refresh status' do
35
- @transport.stub!(:execute_request).and_return('<?xml version="1.0" encoding="UTF-8"?><Response xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://merchant-query.amazon.com/query/schema/MerchantQueryResponses.xsd"><Upload> <UploadId>130895733</UploadId><UploadType>_POST_FLAT_FILE_FULFILLMENT_DATA_</UploadType><UploadStatus>_SUBMITTED_</UploadStatus><SubmittedDate>2007-04-05T00:34:00+0000</SubmittedDate></Upload></Response>')
36
- @feed.upload
37
- @transport.stub!(:execute_request).and_return('<?xml version="1.0" encoding="UTF-8"?><Response xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://merchant-query.amazon.com/query/schema/MerchantQueryResponses.xsd"><UploadsStatusList><Upload><UploadId>130895733</UploadId><UploadType>_POST_FLAT_FILE_FULFILLMENT_DATA_</UploadType><UploadStatus>_IN_PROGRESS_</UploadStatus><SubmittedDate>2007-04-05T00:34:00+0000</SubmittedDate><StartedProcessingDate>2007-04-05T00:39:00+0000</StartedProcessingDate></Upload></UploadsStatusList></Response>')
38
- @feed.status.should == '_SUBMITTED_'
39
- @feed.status!.should == '_IN_PROGRESS_'
40
- @transport.stub!(:execute_request).and_return('<?xml version="1.0" encoding="UTF-8"?><Response xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://merchant-query.amazon.com/query/schema/MerchantQueryResponses.xsd"><UploadsStatusList><Upload><UploadId>130895733</UploadId><UploadType>_POST_FLAT_FILE_FULFILLMENT_DATA_</UploadType><UploadStatus>_DONE_</UploadStatus><SubmittedDate>2007-04-05T00:34:00+0000</SubmittedDate><StartedProcessingDate>2007-04-05T00:39:00+0000</StartedProcessingDate><CompletedProcessingDate>2007-04-05T01:02:00+0000</CompletedProcessingDate><MessagesProcessed>2</MessagesProcessed><MessagesSuccessful>2</MessagesSuccessful><MessagesWithErrors>0</MessagesWithErrors><MessagesWithWarnings>0</MessagesWithWarnings><RelatedDownloadsList><Download><DownloadId>3404021</DownloadId><DownloadType>FeedSummaryReport</DownloadType><RelatedReferenceId>4307285844</RelatedReferenceId><AvailableDate>2009-04-24T23:47:24+00:00</AvailableDate><Acknowledged>FALSE</Acknowledged></Download></RelatedDownloadsList></Upload></UploadsStatusList></Response>')
41
- @feed.status!.should == '_DONE_'
42
- @feed.download.id.should == '3404021'
43
- @feed.download.available_at.should == '2009-04-24T23:47:24+00:00'
40
+
41
+ it 'refreshes status' do
42
+ transport.stub!(:execute_request).and_return('<?xml version="1.0" encoding="UTF-8"?><Response xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://merchant-query.amazon.com/query/schema/MerchantQueryResponses.xsd"><Upload> <UploadId>130895733</UploadId><UploadType>_POST_FLAT_FILE_FULFILLMENT_DATA_</UploadType><UploadStatus>_SUBMITTED_</UploadStatus><SubmittedDate>2007-04-05T00:34:00+0000</SubmittedDate></Upload></Response>')
43
+ feed.upload
44
+ transport.stub!(:execute_request).and_return('<?xml version="1.0" encoding="UTF-8"?><Response xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://merchant-query.amazon.com/query/schema/MerchantQueryResponses.xsd"><UploadsStatusList><Upload><UploadId>130895733</UploadId><UploadType>_POST_FLAT_FILE_FULFILLMENT_DATA_</UploadType><UploadStatus>_IN_PROGRESS_</UploadStatus><SubmittedDate>2007-04-05T00:34:00+0000</SubmittedDate><StartedProcessingDate>2007-04-05T00:39:00+0000</StartedProcessingDate></Upload></UploadsStatusList></Response>')
45
+ feed.status.should == '_SUBMITTED_'
46
+ feed.status!.should == '_IN_PROGRESS_'
47
+ transport.stub!(:execute_request).and_return('<?xml version="1.0" encoding="UTF-8"?><Response xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://merchant-query.amazon.com/query/schema/MerchantQueryResponses.xsd"><UploadsStatusList><Upload><UploadId>130895733</UploadId><UploadType>_POST_FLAT_FILE_FULFILLMENT_DATA_</UploadType><UploadStatus>_DONE_</UploadStatus><SubmittedDate>2007-04-05T00:34:00+0000</SubmittedDate><StartedProcessingDate>2007-04-05T00:39:00+0000</StartedProcessingDate><CompletedProcessingDate>2007-04-05T01:02:00+0000</CompletedProcessingDate><MessagesProcessed>2</MessagesProcessed><MessagesSuccessful>2</MessagesSuccessful><MessagesWithErrors>0</MessagesWithErrors><MessagesWithWarnings>0</MessagesWithWarnings><RelatedDownloadsList><Download><DownloadId>3404021</DownloadId><DownloadType>FeedSummaryReport</DownloadType><RelatedReferenceId>4307285844</RelatedReferenceId><AvailableDate>2009-04-24T23:47:24+00:00</AvailableDate><Acknowledged>FALSE</Acknowledged></Download></RelatedDownloadsList></Upload></UploadsStatusList></Response>')
48
+ feed.status!.should == '_DONE_'
49
+ feed.download.id.should == '3404021'
50
+ feed.download.available_at.should == '2009-04-24T23:47:24+00:00'
44
51
  end
45
52
  end
46
53
  end
47
-
54
+
48
55
  module OrderCancellation
49
56
  describe Batch do
50
- before(:each) do
51
- @transport = Peddler::Transport.new
52
- @transport.modernize_request
53
- @feed = Peddler::Feeds::OrderCancellation::Batch.new(@transport)
54
- @cancelled_order = Peddler::Feeds::OrderCancellation::Item.new :order_id => '123-1234567-1234567'
57
+ let(:transport) do
58
+ transport = Peddler::Transport.new
59
+ transport.modernize_request
60
+ transport
55
61
  end
56
-
57
- it 'should add items to batch' do
58
- @feed.batch.size.should == 0
59
- @feed << @cancelled_order
60
- @feed.batch.size.should == 1
62
+ let(:feed) { Peddler::Feeds::OrderCancellation::Batch.new(transport) }
63
+ let(:cancelled_order) { Peddler::Feeds::OrderCancellation::Item.new(:order_id => '123-1234567-1234567') }
64
+
65
+ it 'adds items to batch' do
66
+ feed.batch.size.should == 0
67
+ feed << cancelled_order
68
+ feed.batch.size.should == 1
61
69
  end
62
-
63
- it 'should create content for upload' do
64
- @feed << @cancelled_order
65
- @feed.file_content.should == "TemplateType=OrderCancellation Version=1.0/1.0.3 This row for Amazon.com use only. Do not modify or delete.\r\norder-id\tcancellation-reason-code\tamazon-order-item-code\r\n123-1234567-1234567\t\t\r\n"
70
+
71
+ it 'creates content for upload' do
72
+ feed << cancelled_order
73
+ feed.file_content.should == "TemplateType=OrderCancellation Version=1.0/1.0.3 This row for Amazon.com use only. Do not modify or delete.\r\norder-id\tcancellation-reason-code\tamazon-order-item-code\r\n123-1234567-1234567\t\t\r\n"
66
74
  end
67
-
68
- it 'should raise error if cancellation reason code is given but Amazon order item code is missing' do
69
- @cancelled_order.cancellation_reason_code = 'BuyerCanceled'
70
- lambda { @cancelled_order.to_s }.should raise_error(PeddlerError)
75
+
76
+ it 'raises error if cancellation reason code is given but Amazon order item code is missing' do
77
+ cancelled_order.cancellation_reason_code = 'BuyerCanceled'
78
+ lambda { cancelled_order.to_s }.should raise_error(PeddlerError)
71
79
  end
72
-
73
- it 'should raise error if Amazon order item code is given but cancellation reason code is missing' do
74
- @cancelled_order.amazon_order_item_code = '111111111111'
75
- lambda { @cancelled_order.to_s }.should raise_error(PeddlerError)
80
+
81
+ it 'raises error if Amazon order item code is given but cancellation reason code is missing' do
82
+ cancelled_order.amazon_order_item_code = '111111111111'
83
+ lambda { cancelled_order.to_s }.should raise_error(PeddlerError)
76
84
  end
77
85
  end
78
86
  end
@@ -1,9 +1,9 @@
1
- require File.join(File.dirname(__FILE__), "/../spec_helper")
1
+ require 'spec_helper'
2
2
 
3
3
  module Peddler
4
4
  module Handlers
5
5
  describe TabDelimitedHandler do
6
- it "should parse tab-delimited text" do
6
+ it "parses tab-delimited text" do
7
7
  text = Peddler::Handlers::TabDelimitedHandler.decode_response("title\tautor\nA Thousand Plateaus\tGilles Deleuze\n")
8
8
  text[0].title.should == 'A Thousand Plateaus'
9
9
  end
@@ -1,50 +1,51 @@
1
- require File.join(File.dirname(__FILE__), '/../spec_helper')
1
+ require 'spec_helper'
2
2
 
3
3
  module Peddler
4
-
5
4
  module Inventory
6
-
7
5
  describe Queue do
8
-
9
- it 'should show queue count' do
6
+ it 'shows queue count' do
10
7
  transport = Peddler::Transport.new
11
8
  transport.legacize_request
12
9
  transport.stub!(:execute_request).and_return('<PendingUploadsCount>1</PendingUploadsCount>')
13
10
  Peddler::Inventory::Queue.count(transport).should == 1
14
11
  end
15
-
16
12
  end
17
-
13
+
18
14
  describe Batch do
19
-
20
- before(:each) do
21
- @transport = Peddler::Transport.new
22
- @transport.legacize_request
23
- @inventory = Peddler::Inventory::Batch.new(@transport)
24
- @item = Peddler::Inventory::Item.new :product_id => '1234567890',
25
- :price => 100.00,
26
- :sku => 'FOO-SKU',
27
- :quantity => 10
15
+ let(:transport) do
16
+ transport = Peddler::Transport.new
17
+ transport.legacize_request
18
+ transport
19
+ end
20
+
21
+ let(:inventory) { Peddler::Inventory::Batch.new(transport) }
22
+ let(:item) do
23
+ Peddler::Inventory::Item.new(
24
+ :product_id => '1234567890',
25
+ :price => 100.00,
26
+ :sku => 'FOO-SKU',
27
+ :quantity => 10
28
+ )
28
29
  end
29
-
30
- it 'should add items to batch' do
31
- @inventory.batch.size.should == 0
32
- @inventory << @item
33
- @inventory.batch.size.should == 1
30
+
31
+ it 'adds items to batch' do
32
+ inventory.batch.size.should == 0
33
+ inventory << item
34
+ inventory.batch.size.should == 1
34
35
  end
35
-
36
- it 'should generate an upload file' do
37
- @inventory << @item
38
- @inventory.file_content.should == "product-id\tproduct-id-type\titem-condition\tprice\tsku\tquantity\tadd-delete\twill-ship-internationally\texpedited-shipping\titem-note\titem-is-marketplace\tfulfillment-center-id\titem-name\titem-description\tcategory1\timage-url\tshipping-fee\tbrowse-path\tstorefront-feature\tboldface\tasin1\tasin2\tasin3\r\n1234567890\t\t\t100.0\tFOO-SKU\t10\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n"
36
+
37
+ it 'generates an upload file' do
38
+ inventory << item
39
+ inventory.file_content.should == "product-id\tproduct-id-type\titem-condition\tprice\tsku\tquantity\tadd-delete\twill-ship-internationally\texpedited-shipping\titem-note\titem-is-marketplace\tfulfillment-center-id\titem-name\titem-description\tcategory1\timage-url\tshipping-fee\tbrowse-path\tstorefront-feature\tboldface\tasin1\tasin2\tasin3\r\n1234567890\t\t\t100.0\tFOO-SKU\t10\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n"
39
40
  end
40
-
41
- it 'should generate a modify-only upload file' do
42
- @inventory << @item
43
- @inventory.file_content(:short).should == "sku\tprice\tquantity\r\nFOO-SKU\t100.0\t10\r\n"
41
+
42
+ it 'generates a modify-only upload file' do
43
+ inventory << item
44
+ inventory.file_content(:short).should == "sku\tprice\tquantity\r\nFOO-SKU\t100.0\t10\r\n"
44
45
  end
45
-
46
- it 'should generate default headers for uploading' do
47
- params = @inventory.send(:defaultize,
46
+
47
+ it 'generates default headers for uploading' do
48
+ params = inventory.send(:defaultize,
48
49
  :file_format => 'UIEE',
49
50
  :enable_expedited_shipping => 'N'
50
51
  )
@@ -55,22 +56,19 @@ module Peddler
55
56
  params['enable-expedited-shipping'].should == 'N'
56
57
  params[:enable_expedited_shipping].should be_nil
57
58
  end
58
-
59
- it 'should upload batch' do
60
- @transport.stub!(:execute_request).and_return('<BatchID>2585199250</BatchID>')
61
- @inventory.upload.should == true
62
- @inventory.id.should == '2585199250'
59
+
60
+ it 'uploads batch' do
61
+ transport.stub!(:execute_request).and_return('<BatchID>2585199250</BatchID>')
62
+ inventory.upload.should == true
63
+ inventory.id.should == '2585199250'
63
64
  end
64
-
65
- it 'should raise error if a subsequent upload is attempted' do
66
- @transport.stub!(:execute_request).and_return('<BatchID>2585199250</BatchID>')
67
- @inventory.upload.should == true
68
- @inventory.id.should_not == nil
69
- lambda { @inventory.upload }.should raise_error(PeddlerError)
65
+
66
+ it 'raises error if a subsequent upload is attempted' do
67
+ transport.stub!(:execute_request).and_return('<BatchID>2585199250</BatchID>')
68
+ inventory.upload.should == true
69
+ inventory.id.should_not == nil
70
+ lambda { inventory.upload }.should raise_error(PeddlerError)
70
71
  end
71
-
72
72
  end
73
-
74
73
  end
75
-
76
- end
74
+ end
@@ -1,28 +1,29 @@
1
- require File.join(File.dirname(__FILE__), '/../spec_helper')
1
+ require 'spec_helper'
2
2
 
3
3
  module Peddler
4
4
  describe LegacyReports do
5
- before(:each) do
6
- @transport = Peddler::Transport.new
7
- @transport.legacize_request
5
+ let(:transport) do
6
+ transport = Peddler::Transport.new
7
+ transport.legacize_request
8
+ transport
8
9
  end
9
-
10
- it 'should generate an order report' do
11
- @transport.stub!(:execute_request).and_return('<Status>SUCCESS</Status>')
12
- res = Peddler::LegacyReports.generate(@transport, :order, :number_of_days => 30)
10
+
11
+ it 'generates an order report' do
12
+ transport.stub!(:execute_request).and_return('<Status>SUCCESS</Status>')
13
+ res = Peddler::LegacyReports.generate(transport, :order, :number_of_days => 30)
13
14
  res.should be_an_instance_of(Peddler::LegacyReports::Report)
14
15
  end
15
-
16
- it 'should show most recent order reports' do
17
- @transport.stub!(:execute_request).and_return('<Reports> <Report>reportstarttime=12-26-2009:19-00-02 reportendtime=01-10-2010:19-00-02 reportid=2893717072 </Report><Report>reportstarttime=01-10-2010:14-00-00 reportendtime=01-10-2010:18-00-00 reportid=2893636754 </Report><Report>reportstarttime=12-26-2009:18-00-01 reportendtime=01-10-2010:18-00-01 reportid=2893629784 </Report><Report>reportstarttime=12-26-2009:17-00-07 reportendtime=01-10-2010:17-00-07 reportid=2893548356 </Report><Report>reportstarttime=12-26-2009:16-00-02 reportendtime=01-10-2010:16-00-02 reportid=2893461740 </Report><Report>reportstarttime=12-26-2009:15-00-02 reportendtime=01-10-2010:15-00-02 reportid=2893375352 </Report><Report>reportstarttime=01-10-2010:10-00-00 reportendtime=01-10-2010:14-00-00 reportid=2893291418 </Report><Report>reportstarttime=12-26-2009:14-00-02 reportendtime=01-10-2010:14-00-02 reportid=2893283538 </Report><Report>reportstarttime=12-26-2009:13-00-02 reportendtime=01-10-2010:13-00-02 reportid=2893197830 </Report><Report>reportstarttime=12-26-2009:12-00-02 reportendtime=01-10-2010:12-00-02 reportid=2893112598 </Report></Reports>')
18
- report_status = Peddler::LegacyReports.latest(@transport, :order, :count => 1)[0]
16
+
17
+ it 'shows most recent order reports' do
18
+ transport.stub!(:execute_request).and_return('<Reports> <Report>reportstarttime=12-26-2009:19-00-02 reportendtime=01-10-2010:19-00-02 reportid=2893717072 </Report><Report>reportstarttime=01-10-2010:14-00-00 reportendtime=01-10-2010:18-00-00 reportid=2893636754 </Report><Report>reportstarttime=12-26-2009:18-00-01 reportendtime=01-10-2010:18-00-01 reportid=2893629784 </Report><Report>reportstarttime=12-26-2009:17-00-07 reportendtime=01-10-2010:17-00-07 reportid=2893548356 </Report><Report>reportstarttime=12-26-2009:16-00-02 reportendtime=01-10-2010:16-00-02 reportid=2893461740 </Report><Report>reportstarttime=12-26-2009:15-00-02 reportendtime=01-10-2010:15-00-02 reportid=2893375352 </Report><Report>reportstarttime=01-10-2010:10-00-00 reportendtime=01-10-2010:14-00-00 reportid=2893291418 </Report><Report>reportstarttime=12-26-2009:14-00-02 reportendtime=01-10-2010:14-00-02 reportid=2893283538 </Report><Report>reportstarttime=12-26-2009:13-00-02 reportendtime=01-10-2010:13-00-02 reportid=2893197830 </Report><Report>reportstarttime=12-26-2009:12-00-02 reportendtime=01-10-2010:12-00-02 reportid=2893112598 </Report></Reports>')
19
+ report_status = Peddler::LegacyReports.latest(transport, :order, :count => 1)[0]
19
20
  report_status.starts_at.should == '12-26-2009:19-00-02'
20
21
  report_status.id.should == '2893717072'
21
22
  end
22
-
23
- it 'should show most recent uploads' do
24
- @transport.stub!(:execute_request).and_return('<Batches> <Batch>batchid=2586376232 status=Done dateandtime=08/07/2009 01:48:23 PDT activateditems=1020 numberofwarnings=0 itemsnotacivated=0 </Batch></Batches>')
25
- upload = Peddler::LegacyReports.latest(@transport, :upload, :count => 1)[0]
23
+
24
+ it 'shows most recent uploads' do
25
+ transport.stub!(:execute_request).and_return('<Batches> <Batch>batchid=2586376232 status=Done dateandtime=08/07/2009 01:48:23 PDT activateditems=1020 numberofwarnings=0 itemsnotacivated=0 </Batch></Batches>')
26
+ upload = Peddler::LegacyReports.latest(transport, :upload, :count => 1)[0]
26
27
  upload.id.should == '2586376232'
27
28
  upload.status.should == 'Done'
28
29
  upload.datetime.should == '08/07/2009 01:48:23 PDT'
@@ -31,56 +32,58 @@ module Peddler
31
32
  upload.items_not_activated.should == '0'
32
33
  end
33
34
  end
34
-
35
+
35
36
  module LegacyReports
36
37
  describe Report do
37
- before(:each) do
38
- @transport = Peddler::Transport.new
39
- @transport.legacize_request
40
- @report = Peddler::LegacyReports::Report.new(@transport)
38
+ let(:transport) do
39
+ transport = Peddler::Transport.new
40
+ transport.legacize_request
41
+ transport
41
42
  end
42
-
43
- it 'should download an inventory upload error log' do
44
- @transport.stub!(:execute_request).and_return("Feed Processing Summary:\n\tNumber of records processed\t\t82\n\tNumber of records successful\t\t81\n\noriginal-record-number\tsku\terror-code\terror-type\terror-message\n27\t1111111111\t8026\tError\tSeller is not authorized to list products in this category. For more details, see http://sellercentral.amazon.com/gp/errorcode/8026\n")
45
-
46
- @report.name = :upload
47
- @report.id = '1234567890'
43
+
44
+ let(:report) { Peddler::LegacyReports::Report.new(transport) }
45
+
46
+ it 'downloads an inventory upload error log' do
47
+ transport.stub!(:execute_request).and_return("Feed Processing Summary:\n\tNumber of records processed\t\t82\n\tNumber of records successful\t\t81\n\noriginal-record-number\tsku\terror-code\terror-type\terror-message\n27\t1111111111\t8026\tError\tSeller is not authorized to list products in this category. For more details, see http://sellercentral.amazon.com/gp/errorcode/8026\n")
48
+
49
+ report.name = :upload
50
+ report.id = '1234567890'
48
51
  end
49
-
50
- it 'should download an inventory upload error log' do
51
- @transport.stub!(:execute_request).and_return("Feed Processing Summary:\n\tNumber of records processed\t\t82\n\tNumber of records successful\t\t81\n\noriginal-record-number\tsku\terror-code\terror-type\terror-message\n27\t1111111111\t8026\tError\tSeller is not authorized to list products in this category. For more details, see http://sellercentral.amazon.com/gp/errorcode/8026\n")
52
- @report.name = :upload
53
- @report.id = '1234567890'
54
- @report.body.should =~ /Feed Processing Summary/
52
+
53
+ it 'downloads an inventory upload error log' do
54
+ transport.stub!(:execute_request).and_return("Feed Processing Summary:\n\tNumber of records processed\t\t82\n\tNumber of records successful\t\t81\n\noriginal-record-number\tsku\terror-code\terror-type\terror-message\n27\t1111111111\t8026\tError\tSeller is not authorized to list products in this category. For more details, see http://sellercentral.amazon.com/gp/errorcode/8026\n")
55
+ report.name = :upload
56
+ report.id = '1234567890'
57
+ report.body.should =~ /Feed Processing Summary/
55
58
  end
56
-
57
- it 'should retrieve an order report by id' do
58
- @transport.stub!(:execute_request).and_return("payments-status\torder-id\torder-item-id\tpayments-date\tpayments-transaction-id\titem-name\tlisting-id\tsku\tprice\tshipping-fee\tquantity-purchased\ttotal-price\tpurchase-date\tbatch-id\tbuyer-email\tbuyer-name\trecipient-name\tship-address-1\tship-address-2\tship-city\tship-state\tship-zip\tship-country\tspecial-comments\tupc\tship-method\n\t001-1234567-1234567\t12345678901234\t2009-07-23 08:59:03 PST\t\tFoo Bar\t000000000000\t1234567890\t10.00\t3.99\t1\t13.99\t2009-07-23 08:59:03 PST\t\tfoo@bar.com\tJOHN DOE\tJohn Doe\t1 MAIN ST\t\tNEW YORK\tNY\t10001-1000\tUS\t\t\tstandard\n")
59
- @report.name = :order
60
- @report.id = '1234567890'
61
- res = Peddler::Handlers::TabDelimitedHandler.decode_response(@report.body)
59
+
60
+ it 'retrieves an order report by id' do
61
+ transport.stub!(:execute_request).and_return("payments-status\torder-id\torder-item-id\tpayments-date\tpayments-transaction-id\titem-name\tlisting-id\tsku\tprice\tshipping-fee\tquantity-purchased\ttotal-price\tpurchase-date\tbatch-id\tbuyer-email\tbuyer-name\trecipient-name\tship-address-1\tship-address-2\tship-city\tship-state\tship-zip\tship-country\tspecial-comments\tupc\tship-method\n\t001-1234567-1234567\t12345678901234\t2009-07-23 08:59:03 PST\t\tFoo Bar\t000000000000\t1234567890\t10.00\t3.99\t1\t13.99\t2009-07-23 08:59:03 PST\t\tfoo@bar.com\tJOHN DOE\tJohn Doe\t1 MAIN ST\t\tNEW YORK\tNY\t10001-1000\tUS\t\t\tstandard\n")
62
+ report.name = :order
63
+ report.id = '1234567890'
64
+ res = Peddler::Handlers::TabDelimitedHandler.decode_response(report.body)
62
65
  res.size.should == 1
63
66
  res[0].order_id.should == '001-1234567-1234567'
64
67
  res[0].buyer_name.should == 'JOHN DOE'
65
68
  end
66
-
67
- it 'should retrieve an order report by report name' do
68
- @transport.stub!(:execute_request).and_return("payments-status\torder-id\torder-item-id\tpayments-date\tpayments-transaction-id\titem-name\tlisting-id\tsku\tprice\tshipping-fee\tquantity-purchased\ttotal-price\tpurchase-date\tbatch-id\tbuyer-email\tbuyer-name\trecipient-name\tship-address-1\tship-address-2\tship-city\tship-state\tship-zip\tship-country\tspecial-comments\tupc\tship-method\n\t001-1234567-1234567\t12345678901234\t2009-07-23 08:59:03 PST\t\tFoo Bar\t000000000000\t1234567890\t10.00\t3.99\t1\t13.99\t2009-07-23 08:59:03 PST\t\tfoo@bar.com\tJOHN DOE\tJohn Doe\t1 MAIN ST\t\tNEW YORK\tNY\t10001-1000\tUS\t\t\tstandard\n")
69
- @report.name = :order
70
- res = Peddler::Handlers::TabDelimitedHandler.decode_response(@report.body)
69
+
70
+ it 'retrieves an order report by report name' do
71
+ transport.stub!(:execute_request).and_return("payments-status\torder-id\torder-item-id\tpayments-date\tpayments-transaction-id\titem-name\tlisting-id\tsku\tprice\tshipping-fee\tquantity-purchased\ttotal-price\tpurchase-date\tbatch-id\tbuyer-email\tbuyer-name\trecipient-name\tship-address-1\tship-address-2\tship-city\tship-state\tship-zip\tship-country\tspecial-comments\tupc\tship-method\n\t001-1234567-1234567\t12345678901234\t2009-07-23 08:59:03 PST\t\tFoo Bar\t000000000000\t1234567890\t10.00\t3.99\t1\t13.99\t2009-07-23 08:59:03 PST\t\tfoo@bar.com\tJOHN DOE\tJohn Doe\t1 MAIN ST\t\tNEW YORK\tNY\t10001-1000\tUS\t\t\tstandard\n")
72
+ report.name = :order
73
+ res = Peddler::Handlers::TabDelimitedHandler.decode_response(report.body)
71
74
  res.size.should == 1
72
75
  res[0].order_id.should == '001-1234567-1234567'
73
76
  res[0].buyer_name.should == 'JOHN DOE'
74
77
  end
75
-
76
- it 'should retrieve an open listings liter report by id' do
77
- @transport.stub!(:execute_request).and_return("seller-sku\tquantity\nSKU-FOO\t14\n")
78
- @report.name = :open_listings_liter
79
- @report.id = '1234567890'
80
- res = Peddler::Handlers::TabDelimitedHandler.decode_response(@report.body)
78
+
79
+ it 'retrieves an open listings liter report by id' do
80
+ transport.stub!(:execute_request).and_return("seller-sku\tquantity\nSKU-FOO\t14\n")
81
+ report.name = :open_listings_liter
82
+ report.id = '1234567890'
83
+ res = Peddler::Handlers::TabDelimitedHandler.decode_response(report.body)
81
84
  res.size.should == 1
82
85
  res[0].seller_sku.should == 'SKU-FOO'
83
86
  end
84
87
  end
85
88
  end
86
- end
89
+ end
@@ -1,34 +1,41 @@
1
- require File.join(File.dirname(__FILE__), "/../spec_helper")
1
+ require 'spec_helper'
2
2
 
3
3
  module Peddler
4
4
  module Refunds
5
5
  describe Batch do
6
- before(:each) do
7
- @transport = Peddler::Transport.new
8
- @transport.legacize_request
9
- @refunds = Peddler::Refunds::Batch.new(@transport)
10
- @refund = Peddler::Refunds::Item.new :order_id => "123-1234567-1234567",
11
- :payments_transaction_id => "12341234567890",
12
- :refund_amount => 10.00,
13
- :reason => "CouldNotShip",
14
- :message => "With our apologies"
6
+ let(:transport) do
7
+ transport = Peddler::Transport.new
8
+ transport.legacize_request
9
+ transport
15
10
  end
16
-
17
- it "should add items to batch" do
18
- @refunds.batch.size.should == 0
19
- @refunds << @refund
20
- @refunds.batch.size.should == 1
11
+
12
+ let(:refunds) { Peddler::Refunds::Batch.new(transport) }
13
+
14
+ let(:refund) do
15
+ Peddler::Refunds::Item.new(
16
+ :order_id => "123-1234567-1234567",
17
+ :payments_transaction_id => "12341234567890",
18
+ :refund_amount => 10.00,
19
+ :reason => "CouldNotShip",
20
+ :message => "With our apologies"
21
+ )
22
+ end
23
+
24
+ it "adds items to batch" do
25
+ refunds.batch.size.should == 0
26
+ refunds << refund
27
+ refunds.batch.size.should == 1
21
28
  end
22
-
23
- it "should generate an upload file" do
24
- @refunds << @refund
25
- @refunds.file_content.should == "order-id\tpayments-transaction-id\trefund-amount\treason\tmessage\r\n123-1234567-1234567\t12341234567890\t10.0\tCouldNotShip\tWith our apologies\r\n"
29
+
30
+ it "generates an upload file" do
31
+ refunds << refund
32
+ refunds.file_content.should == "order-id\tpayments-transaction-id\trefund-amount\treason\tmessage\r\n123-1234567-1234567\t12341234567890\t10.0\tCouldNotShip\tWith our apologies\r\n"
26
33
  end
27
-
28
- it "should upload batch" do
29
- @transport.stub!(:execute_request).and_return("<Success>SUCCESS</Success>")
30
- @refunds << @refund
31
- @refunds.upload.should == true
34
+
35
+ it "uploads batch" do
36
+ transport.stub!(:execute_request).and_return("<Success>SUCCESS</Success>")
37
+ refunds << refund
38
+ refunds.upload.should == true
32
39
  end
33
40
  end
34
41
  end
@@ -1,23 +1,25 @@
1
- require File.join(File.dirname(__FILE__), '/../spec_helper')
1
+ require 'spec_helper'
2
2
 
3
3
  module Peddler
4
4
  module Reports
5
5
  describe UnshippedOrdersReport do
6
- before(:each) do
7
- @transport = Peddler::Transport.new
8
- @transport.modernize_request
9
- @transport.stub!(:execute_request).and_return('<?xml version="1.0"?>\n<Response xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://merchant-query.amazon.com/query/schema/MerchantQueryResponses.xsd"><Report><ReportID>2597613290</ReportID><DownloadType>_GET_FLAT_FILE_ACTIONABLE_ORDER_DATA_</DownloadType><StartDate>2009-08-05T19:54:31+00:00</StartDate><EndDate>2009-08-12T19:54:31+00:00</EndDate><Scheduled>false</Scheduled><ReportStatus>_SUBMITTED_</ReportStatus><SubmittedDate>2009-08-12T19:54:31+00:00</SubmittedDate></Report></Response>')
10
- @report = Peddler::Reports::UnshippedOrdersReport.new(@transport)
6
+ let(:transport) do
7
+ transport = Peddler::Transport.new
8
+ transport.modernize_request
9
+ transport.stub!(:execute_request).and_return('<?xml version="1.0"?>\n<Response xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://merchant-query.amazon.com/query/schema/MerchantQueryResponses.xsd"><Report><ReportID>2597613290</ReportID><DownloadType>_GET_FLAT_FILE_ACTIONABLE_ORDER_DATA_</DownloadType><StartDate>2009-08-05T19:54:31+00:00</StartDate><EndDate>2009-08-12T19:54:31+00:00</EndDate><Scheduled>false</Scheduled><ReportStatus>_SUBMITTED_</ReportStatus><SubmittedDate>2009-08-12T19:54:31+00:00</SubmittedDate></Report></Response>')
10
+ transport
11
11
  end
12
-
13
- it 'should generate a request' do
14
- @report.id.should == '2597613290'
15
- @report.status.should == '_SUBMITTED_'
12
+
13
+ let(:report) { Peddler::Reports::UnshippedOrdersReport.new(transport) }
14
+
15
+ it 'generates a request' do
16
+ report.id.should == '2597613290'
17
+ report.status.should == '_SUBMITTED_'
16
18
  end
17
-
18
- it 'should update status' do
19
- @transport.stub!(:execute_request).and_return('<?xml version="1.0"?>\n<Response xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://merchant-query.amazon.com/query/schema/MerchantQueryResponses.xsd"><ReportsList><Report><ReportID>2893967048</ReportID><DownloadType>_GET_FLAT_FILE_ACTIONABLE_ORDER_DATA_</DownloadType><StartDate>2010-01-04T00:00:00+00:00</StartDate><EndDate>2010-01-12T00:00:00+00:00</EndDate><Scheduled>false</Scheduled><ReportStatus>_SUBMITTED_</ReportStatus><SubmittedDate>2010-01-11T06:02:40+00:00</SubmittedDate></Report></ReportsList></Response>')
20
- @report.status!.should == '_SUBMITTED_'
19
+
20
+ it 'updates status' do
21
+ transport.stub!(:execute_request).and_return('<?xml version="1.0"?>\n<Response xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://merchant-query.amazon.com/query/schema/MerchantQueryResponses.xsd"><ReportsList><Report><ReportID>2893967048</ReportID><DownloadType>_GET_FLAT_FILE_ACTIONABLE_ORDER_DATA_</DownloadType><StartDate>2010-01-04T00:00:00+00:00</StartDate><EndDate>2010-01-12T00:00:00+00:00</EndDate><Scheduled>false</Scheduled><ReportStatus>_SUBMITTED_</ReportStatus><SubmittedDate>2010-01-11T06:02:40+00:00</SubmittedDate></Report></ReportsList></Response>')
22
+ report.status!.should == '_SUBMITTED_'
21
23
  end
22
24
  end
23
25
  end