Skip to content

Commit

Permalink
Fixed the parcel locker 'unregistered' and 'reducedMobilityZone' elem…
Browse files Browse the repository at this point in the history
…ents
  • Loading branch information
Jachim Coudenys committed Feb 13, 2017
1 parent f5de27e commit c1449e2
Show file tree
Hide file tree
Showing 6 changed files with 72 additions and 70 deletions.
26 changes: 13 additions & 13 deletions src/Bpost/Order/Box/At247.php
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?php
namespace Bpost\BpostApiClient\Bpost\Order\Box;

use Bpost\BpostApiClient\Bpost\Order\Box\National\UnregisteredParcelLockerMember;
use Bpost\BpostApiClient\Bpost\Order\Box\National\ParcelLocker\Unregistered;
use Bpost\BpostApiClient\Bpost\Order\Box\Option\Messaging;
use Bpost\BpostApiClient\Bpost\Order\ParcelsDepotAddress;
use Bpost\BpostApiClient\Bpost\ProductConfiguration\Product;
Expand Down Expand Up @@ -33,8 +33,8 @@ class At247 extends National
/** @var string */
private $memberId;

/** @var UnregisteredParcelLockerMember */
private $unregisteredParcelLockerMember;
/** @var Unregistered */
private $unregistered;

/** @var string */
private $receiverName;
Expand Down Expand Up @@ -110,19 +110,19 @@ public function getParcelsDepotName()
}

/**
* @return UnregisteredParcelLockerMember
* @return Unregistered
*/
public function getUnregisteredParcelLockerMember()
public function getUnregistered()
{
return $this->unregisteredParcelLockerMember;
return $this->unregistered;
}

/**
* @param UnregisteredParcelLockerMember $unregisteredParcelLockerMember
* @param Unregistered $unregistered
*/
public function setUnregisteredParcelLockerMember(UnregisteredParcelLockerMember $unregisteredParcelLockerMember)
public function setUnregistered(Unregistered $unregistered)
{
$this->unregisteredParcelLockerMember = $unregisteredParcelLockerMember;
$this->unregistered = $unregistered;
}

/**
Expand Down Expand Up @@ -243,7 +243,7 @@ public function toXML(\DOMDocument $document, $prefix = null, $type = null)
)
);
}
$this->addToXmlUnregisteredParcelLockerMember($document, $boxElement, $prefix);
$this->addToXmlUnregistered($document, $boxElement, $prefix);
if ($this->getReceiverName() !== null) {
$boxElement->appendChild(
$document->createElement(
Expand Down Expand Up @@ -287,11 +287,11 @@ protected function addToXmlRequestedDeliveryDate(\DOMDocument $document, \DOMEle
* @param \DOMElement $typeElement
* @param string $prefix
*/
protected function addToXmlUnregisteredParcelLockerMember(\DOMDocument $document, \DOMElement $typeElement, $prefix)
protected function addToXmlUnregistered(\DOMDocument $document, \DOMElement $typeElement, $prefix)
{
if ($this->getUnregisteredParcelLockerMember() !== null) {
if ($this->getUnregistered() !== null) {
$typeElement->appendChild(
$this->getUnregisteredParcelLockerMember()->toXml($document)
$this->getUnregistered()->toXml($document)
);
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
<?php
namespace Bpost\BpostApiClient\Bpost\Order\Box\National;
namespace Bpost\BpostApiClient\Bpost\Order\Box\National\ParcelLocker;

use Bpost\BpostApiClient\Common\ComplexAttribute;

class ParcelLockerReducedMobilityZone extends ComplexAttribute
class ReducedMobilityZone extends ComplexAttribute
{

/**
* @param \DOMDocument $document
* @param string $prefix
Expand All @@ -14,7 +13,7 @@ class ParcelLockerReducedMobilityZone extends ComplexAttribute
*/
function toXml(\DOMDocument $document, $prefix = null, $type = null)
{
$tagName = $this->getPrefixedTagName('parcelLockerReducedMobilityZone', $prefix);
$tagName = $this->getPrefixedTagName('reducedMobilityZone', $prefix);

$xml = $document->createElement($tagName);

Expand All @@ -23,8 +22,10 @@ function toXml(\DOMDocument $document, $prefix = null, $type = null)

/**
* @todo Implement it, because today, nothing is specified
*
* @param \SimpleXMLElement $xml
* @return ParcelLockerReducedMobilityZone|\Bpost\BpostApiClient\IComplexAttribute
*
* @return ReducedMobilityZone|\Bpost\BpostApiClient\Common\ComplexAttribute
*/
static function createFromXml(\SimpleXMLElement $xml)
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
<?php
namespace Bpost\BpostApiClient\Bpost\Order\Box\National;
namespace Bpost\BpostApiClient\Bpost\Order\Box\National\ParcelLocker;

use Bpost\BpostApiClient\Common\BasicAttribute\EmailAddressCharacteristic;
use Bpost\BpostApiClient\Common\BasicAttribute\Language;
use Bpost\BpostApiClient\Common\BasicAttribute\PhoneNumber;
use Bpost\BpostApiClient\Common\ComplexAttribute;

class UnregisteredParcelLockerMember extends ComplexAttribute
class Unregistered extends ComplexAttribute
{

/** @var Language */
Expand All @@ -18,8 +18,8 @@ class UnregisteredParcelLockerMember extends ComplexAttribute
/** @var EmailAddressCharacteristic */
private $emailAddress;

/** @var ParcelLockerReducedMobilityZone */
private $parcelLockerReducedMobilityZone;
/** @var ReducedMobilityZone */
private $reducedMobilityZone;

/**
* @return bool
Expand Down Expand Up @@ -96,25 +96,25 @@ public function setEmailAddress($emailAddress)
/**
* @return bool
*/
public function hasParcelLockerReducedMobilityZone()
public function hasReducedMobilityZone()
{
return $this->parcelLockerReducedMobilityZone !== null;
return $this->reducedMobilityZone !== null;
}

/**
* @return ParcelLockerReducedMobilityZone
* @return ReducedMobilityZone
*/
public function getParcelLockerReducedMobilityZone()
public function getReducedMobilityZone()
{
return $this->parcelLockerReducedMobilityZone;
return $this->reducedMobilityZone;
}

/**
* @param ParcelLockerReducedMobilityZone $parcelLockerReducedMobilityZone
* @param ReducedMobilityZone $reducedMobilityZone
*/
public function setParcelLockerReducedMobilityZone(ParcelLockerReducedMobilityZone $parcelLockerReducedMobilityZone)
public function setReducedMobilityZone(ReducedMobilityZone $reducedMobilityZone)
{
$this->parcelLockerReducedMobilityZone = $parcelLockerReducedMobilityZone;
$this->reducedMobilityZone = $reducedMobilityZone;
}

/**
Expand All @@ -125,7 +125,7 @@ public function setParcelLockerReducedMobilityZone(ParcelLockerReducedMobilityZo
*/
function toXml(\DOMDocument $document, $prefix = null, $type = null)
{
$tagName = $this->getPrefixedTagName('unregisteredParcelLockerMember', $prefix);
$tagName = $this->getPrefixedTagName('unregistered', $prefix);

$xml = $document->createElement($tagName);

Expand All @@ -144,9 +144,9 @@ function toXml(\DOMDocument $document, $prefix = null, $type = null)
$xml->appendChild($document->createElement($tagName, $this->getEmailAddress()));
}

if ($this->hasParcelLockerReducedMobilityZone()) {
if ($this->hasReducedMobilityZone()) {
$xml->appendChild(
$this->getParcelLockerReducedMobilityZone()->toXML($document, $prefix, $type)
$this->getReducedMobilityZone()->toXML($document, $prefix, $type)
);
}

Expand All @@ -155,7 +155,8 @@ function toXml(\DOMDocument $document, $prefix = null, $type = null)

/**
* @param \SimpleXMLElement $xml
* @return UnregisteredParcelLockerMember
*
* @return Unregistered
*/
static function createFromXml(\SimpleXMLElement $xml)
{
Expand All @@ -174,8 +175,8 @@ static function createFromXml(\SimpleXMLElement $xml)
}

if (isset($xml->parcelLockerReducedMobilityZone)) {
$self->setParcelLockerReducedMobilityZone(
parcelLockerReducedMobilityZone::createFromXml($xml->parcelLockerReducedMobilityZone)
$self->setReducedMobilityZone(
ReducedMobilityZone::createFromXml($xml->reducedMobilityZone)
);
}

Expand Down
22 changes: 11 additions & 11 deletions tests/Bpost/Order/Box/At247Test.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
namespace Bpost;

use Bpost\BpostApiClient\Bpost\Order\Box\At247;
use Bpost\BpostApiClient\Bpost\Order\Box\National\UnregisteredParcelLockerMember;
use Bpost\BpostApiClient\Bpost\Order\Box\National\ParcelLocker\Unregistered;
use Bpost\BpostApiClient\Bpost\Order\ParcelsDepotAddress;
use Bpost\BpostApiClient\Common\BasicAttribute\Language;
use Bpost\BpostApiClient\Exception\BpostLogicException\BpostInvalidValueException;
Expand All @@ -27,8 +27,8 @@ private static function createDomDocument()
* Tests At247->toXML
*
* @warning
* That is a bad test, we cannot have a memberId AND an unregisteredParcelLockerMember
* We must to have a XML with memberId, another one with unregisteredParcelLockerMember and another one without (to see comportment)
* That is a bad test, we cannot have a memberId AND an unregistered
* We must to have a XML with memberId, another one with unregistered and another one without (to see comportment)
*/
public function testToXML()
{
Expand All @@ -47,11 +47,11 @@ public function testToXML()
'countryCode' => 'BE',
),
'memberId' => '188565346',
'unregisteredParcelLockerMember' => array(
'unregistered' => array(
'language' => 'EN',
'mobilePhone' => '0471000000',
'emailAddress' => '[email protected]'
), // Bad test: We cannot have a memberId AND an unregisteredParcelLockerMember
), // Bad test: We cannot have a memberId AND an unregistered
'receiverName' => 'Tijs Verkoyen',
'receiverCompany' => 'Sumo Coders',
'requestedDeliveryDate' => '2016-03-16',
Expand All @@ -73,7 +73,7 @@ public function testToXML()
);
}
$at247->appendChild($address);
} elseif ($key == 'unregisteredParcelLockerMember') {
} elseif ($key == 'unregistered') {
$child = $expectedDocument->createElement($key);
foreach ($value as $key2 => $value2) {
$child->appendChild(
Expand All @@ -97,10 +97,10 @@ public function testToXML()
$data['at24-7']['parcelsDepotAddress']['locality'],
$data['at24-7']['parcelsDepotAddress']['countryCode']
);
$unregisteredParcelLockerMember = new UnregisteredParcelLockerMember();
$unregisteredParcelLockerMember->setLanguage($data['at24-7']['unregisteredParcelLockerMember']['language']);
$unregisteredParcelLockerMember->setMobilePhone($data['at24-7']['unregisteredParcelLockerMember']['mobilePhone']);
$unregisteredParcelLockerMember->setEmailAddress($data['at24-7']['unregisteredParcelLockerMember']['emailAddress']);
$unregistered = new Unregistered();
$unregistered->setLanguage($data['at24-7']['unregistered']['language']);
$unregistered->setMobilePhone($data['at24-7']['unregistered']['mobilePhone']);
$unregistered->setEmailAddress($data['at24-7']['unregistered']['emailAddress']);

$at247 = new At247();
$at247->setProduct($data['at24-7']['product']);
Expand All @@ -110,7 +110,7 @@ public function testToXML()
$at247->setParcelsDepotName($data['at24-7']['parcelsDepotName']);
$at247->setParcelsDepotAddress($parcelsDepotAddress);
$at247->setMemberId($data['at24-7']['memberId']);
$at247->setUnregisteredParcelLockerMember($unregisteredParcelLockerMember);
$at247->setUnregistered($unregistered);
$at247->setReceiverName($data['at24-7']['receiverName']);
$at247->setReceiverCompany($data['at24-7']['receiverCompany']);
$actualDocument->appendChild(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
<?php
namespace Bpost\BpostApiClient\Bpost\Order\Box\National;

class ParcelLockerReducedMobilityZoneTest extends \PHPUnit_Framework_TestCase
namespace Bpost\BpostApiClient\Bpost\Order\Box\National\ParcelLocker;

class ReducedMobilityZoneTest extends \PHPUnit_Framework_TestCase
{

/**
Expand All @@ -27,12 +28,12 @@ public function testToXML()
// Without prefix

$expectedDocument = self::createDomDocument();
$xml = $expectedDocument->createElement('parcelLockerReducedMobilityZone');
$xml = $expectedDocument->createElement('reducedMobilityZone');

$expectedDocument->appendChild($xml);

$actualDocument = self::createDomDocument();
$self = new ParcelLockerReducedMobilityZone();
$self = new ReducedMobilityZone();
$actualDocument->appendChild(
$self->toXML($actualDocument)
);
Expand All @@ -42,11 +43,11 @@ public function testToXML()
// With prefix

$expectedDocument = self::createDomDocument();
$xml = $expectedDocument->createElement('foo:parcelLockerReducedMobilityZone');
$xml = $expectedDocument->createElement('foo:reducedMobilityZone');
$expectedDocument->appendChild($xml);

$actualDocument = self::createDomDocument();
$self = new ParcelLockerReducedMobilityZone();
$self = new ReducedMobilityZone();
$actualDocument->appendChild(
$self->toXML($actualDocument, 'foo')
);
Expand All @@ -56,11 +57,11 @@ public function testToXML()

public function testCreateFromXml()
{
$xml = new \SimpleXMLElement('<parcelLockerReducedMobilityZone/>');
$xml = new \SimpleXMLElement('<reducedMobilityZone/>');

$this->assertInstanceOf(
'Bpost\BpostApiClient\Bpost\Order\Box\National\ParcelLockerReducedMobilityZone',
ParcelLockerReducedMobilityZone::createFromXml($xml)
'Bpost\BpostApiClient\Bpost\Order\Box\National\ParcelLocker\ReducedMobilityZone',
ReducedMobilityZone::createFromXml($xml)
);
}
}
Loading

0 comments on commit c1449e2

Please sign in to comment.