Amazon-MWS
view release on metacpan or search on metacpan
t/shipping-confirmation.t view on Meta::CPAN
ok($feed, "Can create the feed and validates against the schema"); # and diag $feed;
# test against the example provided in the documentation
my $expected = <<'XML';
<?xml version="1.0" encoding="UTF-8"?>
<AmazonEnvelope>
<Header>
<DocumentVersion>1.1</DocumentVersion>
<MerchantIdentifier>My Store</MerchantIdentifier>
</Header>
<MessageType>OrderFulfillment</MessageType>
<Message>
<MessageID>1</MessageID>
<OrderFulfillment>
<MerchantOrderID>1234567</MerchantOrderID>
<MerchantFulfillmentID>1234567</MerchantFulfillmentID>
<FulfillmentDate>2002-05-01T15:36:33-08:00</FulfillmentDate>
<FulfillmentData>
<CarrierCode>UPS</CarrierCode>
<ShippingMethod>Second Day</ShippingMethod>
<ShipperTrackingNumber>1234567890</ShipperTrackingNumber>
</FulfillmentData>
<Item>
<MerchantOrderItemID>1234567</MerchantOrderItemID>
<MerchantFulfillmentItemID>1234567</MerchantFulfillmentItemID>
<Quantity>2</Quantity>
</Item>
</OrderFulfillment>
</Message>
</AmazonEnvelope>
XML
%shipped = (
merchant_order_id => 1234567,
merchant_fulfillment_id => 1234567,
fulfillment_date => DateTime->new(year => 2002,
month => 5,
day => 1,
hour => 15,
minute => 36,
second => 33,
time_zone => '-08:00',
),
carrier => 'UPS',
shipping_method => 'Second Day',
shipping_tracking_number => 1234567890,
items => [
{
merchant_order_item_code => 1234567,
merchant_fulfillment_item_id => 1234567,
quantity => 2,
},
],
);
$shipped_order = Amazon::MWS::XML::ShippedOrder->new(%shipped);
is_deeply ([ split(/\n/, $uploader->shipping_confirmation_feed($shipped_order)) ],
[ split(/\n/, $expected) ],
"Feed looks ok");
( run in 0.887 second using v1.01-cache-2.11-cpan-ad19def0cd9 )