Amazon-MWS

 view release on metacpan or  search on metacpan

t/orders.t  view on Meta::CPAN

                  'EarliestShipDate' => '2014-10-26T23:00:00Z',
                  'FulfillmentChannel' => 'MFN',
                  'OrderType' => 'StandardOrder',
                  'MarketplaceId' => 'MARKETPLACE-ID',
                  'LatestDeliveryDate' => '2014-10-31T22:59:59Z',
                  'OrderStatus' => 'Shipped'
                 };
my $orderline_data = [
                      {
                       'ShippingPrice' => {
                                           'Amount' => '0.00',
                                           'CurrencyCode' => 'EUR'
                                          },
                       'GiftWrapPrice' => {
                                           'CurrencyCode' => 'EUR',
                                           'Amount' => '0.00'
                                          },
                       'PromotionDiscount' => {
                                               'CurrencyCode' => 'EUR',
                                               'Amount' => '0.00'
                                              },
                       'ConditionId' => 'New',
                       'ItemPrice' => {
                                       'CurrencyCode' => 'EUR',
                                       'Amount' => '119.80'
                                      },
                       'ShippingTax' => {
                                         'Amount' => '0.00',
                                         'CurrencyCode' => 'EUR'
                                        },
                       'ShippingDiscount' => {
                                              'CurrencyCode' => 'EUR',
                                              'Amount' => '0.00'
                                             },
                       'OrderItemId' => '999999999999999',
                       'Title' => "Blablablablba",
                       'SellerSKU' => '9999999',
                       'ItemTax' => {
                                     'Amount' => '0.00',
                                     'CurrencyCode' => 'EUR'
                                    },
                       'QuantityOrdered' => '2',
                       'ConditionSubtypeId' => 'New',
                       'ASIN' => 'AAAAAAAAA',
                       'GiftWrapTax' => {
                                         'Amount' => '0.00',
                                         'CurrencyCode' => 'EUR'
                                        },
                       'QuantityShipped' => '2'
                      }
                     ];

my $order = Amazon::MWS::XML::Order->new(order => $order_data,
                                         orderline => $orderline_data);

is($order->subtotal, "119.80");
my @items = $order->items;
is($items[0]->price, "59.90");
ok ($order->order_is_shipped, "It is shipped");

my $global = 0;

my $get_orderline = sub {
    diag "Retrieving orderline";
    $global++;
    return $orderline_data;
};

$order = Amazon::MWS::XML::Order->new(order => $order_data,
                                      retrieve_orderline_sub => $get_orderline);

my $amazon_order_number = $order->amazon_order_number;

is $global, 0, "No get_orderline called yet";

my @newitems = $order->items;

is $global, 1, "get_orderline called";

is_deeply(\@newitems, \@items);
is($items[0]->price, "59.90");
is ($items[0]->amazon_order_item, $items[0]->remote_shop_order_item);
ok ($order->order_is_shipped, "It is shipped");
is ($order->amazon_order_number, $order->remote_shop_order_id, "alias ok");
is ($order->shipping_address->state, $order->shipping_address->region, "state and region are aliases");
is ($order->shipping_address->address1, '');
is ($order->shipping_address->address2, 'Strazze');
is ($order->first_name, 'John U.');
is ($order->last_name, 'Doe');
is ($order->shipping_method, 'Standard');

$order_data->{ShippingAddress}->{Name} = 'Doe';
$order = Amazon::MWS::XML::Order->new(order => $order_data);
is ($order->first_name, '');
is ($order->last_name, 'Doe');

{
    my $address = Amazon::MWS::XML::Address->new(AddressLine1 => {test => 1});
    is $address->address1, 'test 1';
    is $address->address2, '';
}
{
    my $address = Amazon::MWS::XML::Address->new(AddressLine1 => {});
    is $address->address1, '';
    is $address->address2, '';
}
{
    my $address = Amazon::MWS::XML::Address->new(AddressFieldOne => ['pippo']);
    is $address->address1, 'pippo';
    is $address->address2, '';
}
{
    my $address = Amazon::MWS::XML::Address->new(AddressFieldOne => []);
    is $address->address1, '';
    is $address->address2, '';
}
{
    my $address = Amazon::MWS::XML::Address->new(AddressLine2 => {test => 2});
    is $address->address1, '';
    is $address->address2, 'test 2';
}
{
    my $address = Amazon::MWS::XML::Address->new(AddressLine2 => {});
    is $address->address1, '';
    is $address->address2, '';
}
{
    my $address = Amazon::MWS::XML::Address->new(AddressFieldTwo => ['pippo']);
    is $address->address1, '';
    is $address->address2, 'pippo';
}
{
    my $address = Amazon::MWS::XML::Address->new(AddressFieldTwo => []);
    is $address->address1, '';
    is $address->address2, '';
}
{
    my $address = Amazon::MWS::XML::Address->new(AddressFieldTwo => \0);



( run in 2.136 seconds using v1.01-cache-2.11-cpan-0d23b851a93 )