Skip to content

Commit 59c6470

Browse files
committed
Fixed fulfillment order creator update requirements
1 parent 40bc316 commit 59c6470

File tree

2 files changed

+13
-76
lines changed

2 files changed

+13
-76
lines changed

includes/classes/AmazonFulfillmentOrderCreator.php

Lines changed: 5 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -484,7 +484,7 @@ protected function resetItems(){
484484
*/
485485
public function createOrder(){
486486
if (!array_key_exists('SellerFulfillmentOrderId',$this->options)){
487-
$this->log("Seller Fulfillment OrderID must be set in order to create an order",'Warning');
487+
$this->log("Seller Fulfillment Order ID must be set in order to create an order",'Warning');
488488
return false;
489489
}
490490
if (!array_key_exists('DisplayableOrderId',$this->options)){
@@ -535,39 +535,13 @@ public function createOrder(){
535535
* Updates a Fulfillment Order with Amazon.
536536
*
537537
* Submits an <i>UpdateFulfillmentOrder</i> request to Amazon. In order to do this,
538-
* a number of parameters are required. Amazon will send back an HTTP response,
539-
* so there is no data to retrieve afterwards. The following parameters are required:
540-
* fulfillment order ID, displayed order ID, displayed timestamp, comment,
541-
* shipping speed, address, and items.
538+
* a fulfillment order ID is required. Amazon will send back an HTTP response,
539+
* so there is no data to retrieve afterwards.
542540
* @return boolean <b>TRUE</b> if the order creation was successful, <b>FALSE</b> if something goes wrong
543541
*/
544542
public function updateOrder(){
545543
if (!array_key_exists('SellerFulfillmentOrderId',$this->options)){
546-
$this->log("Seller Fulfillment OrderID must be set in order to update an order",'Warning');
547-
return false;
548-
}
549-
if (!array_key_exists('DisplayableOrderId',$this->options)){
550-
$this->log("Displayable Order ID must be set in order to update an order",'Warning');
551-
return false;
552-
}
553-
if (!array_key_exists('DisplayableOrderDateTime',$this->options)){
554-
$this->log("Date must be set in order to update an order",'Warning');
555-
return false;
556-
}
557-
if (!array_key_exists('DisplayableOrderComment',$this->options)){
558-
$this->log("Comment must be set in order to update an order",'Warning');
559-
return false;
560-
}
561-
if (!array_key_exists('ShippingSpeedCategory',$this->options)){
562-
$this->log("Shipping Speed must be set in order to update an order",'Warning');
563-
return false;
564-
}
565-
if (!array_key_exists('DestinationAddress.Name',$this->options)){
566-
$this->log("Address must be set in order to update an order",'Warning');
567-
return false;
568-
}
569-
if (!array_key_exists('Items.member.1.SellerSKU',$this->options)){
570-
$this->log("Items must be set in order to update an order",'Warning');
544+
$this->log("Seller Fulfillment Order ID must be set in order to update an order",'Warning');
571545
return false;
572546
}
573547

@@ -585,7 +559,7 @@ public function updateOrder(){
585559
if (!$this->checkResponse($response)){
586560
return false;
587561
} else {
588-
$this->log("Successfully updated Fulfillment Order ".$this->options['SellerFulfillmentOrderId']." / ".$this->options['DisplayableOrderId']);
562+
$this->log("Successfully updated Fulfillment Order ".$this->options['SellerFulfillmentOrderId']);
589563
return true;
590564
}
591565
}

test-cases/includes/classes/AmazonFulfillmentOrderCreatorTest.php

Lines changed: 8 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -447,7 +447,7 @@ public function testCreateOrder(){
447447

448448
$check = parseLog();
449449
$this->assertEquals('Mock files array set.',$check[1]);
450-
$this->assertEquals('Seller Fulfillment OrderID must be set in order to create an order',$check[2]);
450+
$this->assertEquals('Seller Fulfillment Order ID must be set in order to create an order',$check[2]);
451451
$this->assertEquals('Displayable Order ID must be set in order to create an order',$check[3]);
452452
$this->assertEquals('Date must be set in order to create an order',$check[4]);
453453
$this->assertEquals('Comment must be set in order to create an order',$check[5]);
@@ -465,54 +465,17 @@ public function testUpdateOrder() {
465465
$this->object->setMock(true, array(503, 200));
466466

467467
$this->assertFalse($this->object->updateOrder()); //no Seller Fulfillment Order ID set yet
468-
469468
$this->object->setFulfillmentOrderId('123ABC');
470-
$this->assertFalse($this->object->updateOrder()); //no Displayable Order ID set yet
471-
472-
$this->object->setDisplayableOrderId('ABC123');
473-
$this->assertFalse($this->object->updateOrder()); //no Date set yet
474-
475-
$this->object->setDate('-1 min');
476-
$this->assertFalse($this->object->updateOrder()); //no Displayable Order Comment set yet
477-
478-
$this->object->setComment('A comment.');
479-
$this->assertFalse($this->object->updateOrder()); //no Shipping Speed Category set yet
480-
481-
$this->object->setShippingSpeed('Standard');
482-
$this->assertFalse($this->object->updateOrder()); //no Destination Address set yet
483-
484-
$a = array();
485-
$a['Name'] = 'Name';
486-
$a['Line1'] = 'Line1';
487-
$a['City'] = 'City';
488-
$a['StateOrProvinceCode'] = 'StateOrProvinceCode';
489-
$a['CountryCode'] = 'CountryCode';
490-
$a['PostalCode'] = 'PostalCode';
491-
$this->object->setAddress($a);
492-
$this->assertFalse($this->object->updateOrder()); //no Items set yet
493-
494-
$i = array();
495-
$i[0]['SellerSKU'] = 'NewSellerSKU';
496-
$i[0]['SellerFulfillmentOrderItemId'] = 'NewSellerFulfillmentOrderItemId';
497-
$i[0]['Quantity'] = 'NewQuantity';
498-
$this->object->setItems($i);
499-
500-
$this->object->updateOrder(); //attempt 1: oops, bad response
501-
$this->object->updateOrder(); //attempt 2: success
469+
$this->assertFalse($this->object->updateOrder()); //attempt 1: oops, bad response
470+
$this->assertTrue($this->object->updateOrder()); //attempt 2: success
502471

503472
$check = parseLog();
504473
$this->assertEquals('Mock files array set.', $check[1]);
505-
$this->assertEquals('Seller Fulfillment OrderID must be set in order to update an order', $check[2]);
506-
$this->assertEquals('Displayable Order ID must be set in order to update an order', $check[3]);
507-
$this->assertEquals('Date must be set in order to update an order', $check[4]);
508-
$this->assertEquals('Comment must be set in order to update an order', $check[5]);
509-
$this->assertEquals('Shipping Speed must be set in order to update an order', $check[6]);
510-
$this->assertEquals('Address must be set in order to update an order', $check[7]);
511-
$this->assertEquals('Items must be set in order to update an order', $check[8]);
512-
$this->assertEquals('Returning Mock Response: 503', $check[9]);
513-
$this->assertEquals('Bad Response! 503 Service Unavailable: Service Unavailable - Service Unavailable', $check[10]);
514-
$this->assertEquals('Returning Mock Response: 200', $check[11]);
515-
$this->assertEquals('Successfully updated Fulfillment Order 123ABC / ABC123', $check[12]);
474+
$this->assertEquals('Seller Fulfillment Order ID must be set in order to update an order', $check[2]);
475+
$this->assertEquals('Returning Mock Response: 503', $check[3]);
476+
$this->assertEquals('Bad Response! 503 Service Unavailable: Service Unavailable - Service Unavailable', $check[4]);
477+
$this->assertEquals('Returning Mock Response: 200', $check[5]);
478+
$this->assertEquals('Successfully updated Fulfillment Order 123ABC', $check[6]);
516479
}
517480

518481
}

0 commit comments

Comments
 (0)