peddler 0.2.4 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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