8
0
Fork 1

remove setParameter in DIC because of frozen parameter bag

Dieser Commit ist enthalten in:
Daniel Seifert 2023-01-12 22:30:17 +01:00
Ursprung 6651d892dd
Commit 88571ad8ed
Signiert von: DanielS
GPG-Schlüssel-ID: 6A513E13AEE66170
16 geänderte Dateien mit 329 neuen und 66 gelöschten Zeilen

Datei anzeigen

@ -64,14 +64,21 @@ class AdminOrder extends AdminController
*/ */
protected function sendMessage(): string protected function sendMessage(): string
{ {
d3GetOxidDIC()->setParameter(Sms::class.'.args.message', $this->getMessageBody()); $sms = $this->getSms($this->getMessageBody());
/** @var Sms $sms */
$sms = d3GetOxidDIC()->get(Sms::class);
return $sms->sendOrderMessage($this->item) ? return $sms->sendOrderMessage($this->item) ?
(string) $this->getSuccessSentMessage($sms) : (string) $this->getSuccessSentMessage($sms) :
$this->getUnsuccessfullySentMessage($sms); $this->getUnsuccessfullySentMessage($sms);
} }
/**
* @param string $message
* @return Sms
*/
protected function getSms(string $message): Sms
{
return oxNew(Sms::class, $message);
}
/*** duplicated code but errors while phpunit coverage run if code is in shared abstract class or trait ***/ /*** duplicated code but errors while phpunit coverage run if code is in shared abstract class or trait ***/
/** /**
@ -120,12 +127,11 @@ class AdminOrder extends AdminController
$messageBody = $request->getRequestEscapedParameter('messagebody'); $messageBody = $request->getRequestEscapedParameter('messagebody');
if (false === is_string($messageBody) || strlen(trim($messageBody)) <= 1) { if (false === is_string($messageBody) || strlen(trim($messageBody)) <= 1) {
d3GetOxidDIC()->setParameter( /** @var InvalidArgumentException $exc */
'd3ox.linkmobility.'.InvalidArgumentException::class.'.args.message', $exc = oxNew(
InvalidArgumentException::class,
Registry::getLang()->translateString('D3LM_EXC_MESSAGE_NO_LENGTH') Registry::getLang()->translateString('D3LM_EXC_MESSAGE_NO_LENGTH')
); );
/** @var InvalidArgumentException $exc */
$exc = d3GetOxidDIC()->get('d3ox.linkmobility.'.InvalidArgumentException::class);
throw $exc; throw $exc;
} }
@ -139,9 +145,8 @@ class AdminOrder extends AdminController
protected function getSuccessSentMessage(Sms $sms): successfullySentException protected function getSuccessSentMessage(Sms $sms): successfullySentException
{ {
$smsCount = $sms->getResponse() ? $sms->getResponse()->getSmsCount() : 0; $smsCount = $sms->getResponse() ? $sms->getResponse()->getSmsCount() : 0;
d3GetOxidDIC()->setParameter(successfullySentException::class.'.args.smscount', $smsCount);
/** @var successfullySentException $exc */ /** @var successfullySentException $exc */
$exc = d3GetOxidDIC()->get(successfullySentException::class); $exc = oxNew(successfullySentException::class, $smsCount);
return $exc; return $exc;
} }

Datei anzeigen

@ -66,14 +66,21 @@ class AdminUser extends AdminController
*/ */
protected function sendMessage(): string protected function sendMessage(): string
{ {
d3GetOxidDIC()->setParameter(Sms::class.'.args.message', $this->getMessageBody()); $sms = $this->getSms($this->getMessageBody());
/** @var Sms $sms */
$sms = d3GetOxidDIC()->get(Sms::class);
return $sms->sendUserAccountMessage($this->item) ? return $sms->sendUserAccountMessage($this->item) ?
(string) $this->getSuccessSentMessage($sms) : (string) $this->getSuccessSentMessage($sms) :
$this->getUnsuccessfullySentMessage($sms); $this->getUnsuccessfullySentMessage($sms);
} }
/**
* @param string $message
* @return Sms
*/
protected function getSms(string $message): Sms
{
return oxNew(Sms::class, $message);
}
/*** duplicated code but errors while phpunit coverage run if code is in shared abstract class or trait ***/ /*** duplicated code but errors while phpunit coverage run if code is in shared abstract class or trait ***/
/** /**
@ -122,12 +129,11 @@ class AdminUser extends AdminController
$messageBody = $request->getRequestEscapedParameter('messagebody'); $messageBody = $request->getRequestEscapedParameter('messagebody');
if (false === is_string($messageBody) || strlen(trim($messageBody)) <= 1) { if (false === is_string($messageBody) || strlen(trim($messageBody)) <= 1) {
d3GetOxidDIC()->setParameter( /** @var InvalidArgumentException $exc */
'd3ox.linkmobility.'.InvalidArgumentException::class.'.args.message', $exc = oxNew(
InvalidArgumentException::class,
Registry::getLang()->translateString('D3LM_EXC_MESSAGE_NO_LENGTH') Registry::getLang()->translateString('D3LM_EXC_MESSAGE_NO_LENGTH')
); );
/** @var InvalidArgumentException $exc */
$exc = d3GetOxidDIC()->get('d3ox.linkmobility.'.InvalidArgumentException::class);
throw $exc; throw $exc;
} }
@ -141,9 +147,8 @@ class AdminUser extends AdminController
protected function getSuccessSentMessage(Sms $sms): successfullySentException protected function getSuccessSentMessage(Sms $sms): successfullySentException
{ {
$smsCount = $sms->getResponse() ? $sms->getResponse()->getSmsCount() : 0; $smsCount = $sms->getResponse() ? $sms->getResponse()->getSmsCount() : 0;
d3GetOxidDIC()->setParameter(successfullySentException::class.'.args.smscount', $smsCount);
/** @var successfullySentException $exc */ /** @var successfullySentException $exc */
$exc = d3GetOxidDIC()->get(successfullySentException::class); $exc = oxNew(successfullySentException::class, $smsCount);
return $exc; return $exc;
} }

Datei anzeigen

@ -29,9 +29,8 @@ class MessageClient
/** @var Configuration $configuration */ /** @var Configuration $configuration */
$configuration = d3GetOxidDIC()->get(Configuration::class); $configuration = d3GetOxidDIC()->get(Configuration::class);
d3GetOxidDIC()->setParameter(Client::class.'.args.accesstoken', $configuration->getApiToken());
/** @var Client $client */ /** @var Client $client */
$client = d3GetOxidDIC()->get(Client::class); $client = oxNew(Client::class, $configuration->getApiToken());
/** @var LoggerHandler $loggerHandler */ /** @var LoggerHandler $loggerHandler */
$loggerHandler = d3GetOxidDIC()->get(LoggerHandler::class); $loggerHandler = d3GetOxidDIC()->get(LoggerHandler::class);

Datei anzeigen

@ -74,14 +74,21 @@ class MessageSender
} }
try { try {
d3GetOxidDIC()->setParameter(Sms::class.'.args.message', $messageBody); $sms = $this->getSms($messageBody);
/** @var Sms $sms */
$sms = d3GetOxidDIC()->get(Sms::class);
$sms->sendOrderMessage($order); $sms->sendOrderMessage($order);
} catch (noRecipientFoundException $e) { } catch (noRecipientFoundException $e) {
} }
} }
/**
* @param string $message
* @return Sms
*/
protected function getSms(string $message): Sms
{
return oxNew(Sms::class, $message);
}
/** /**
* @return Configuration * @return Configuration
*/ */

Datei anzeigen

@ -24,6 +24,7 @@ use D3\Linkmobility4OXID\Application\Model\RequestFactory;
use D3\Linkmobility4OXID\Application\Model\UserRecipients; use D3\Linkmobility4OXID\Application\Model\UserRecipients;
use D3\LinkmobilityClient\Client; use D3\LinkmobilityClient\Client;
use D3\LinkmobilityClient\Exceptions\ApiException; use D3\LinkmobilityClient\Exceptions\ApiException;
use D3\LinkmobilityClient\Exceptions\RecipientException;
use D3\LinkmobilityClient\RecipientsList\RecipientsList; use D3\LinkmobilityClient\RecipientsList\RecipientsList;
use D3\LinkmobilityClient\RecipientsList\RecipientsListInterface; use D3\LinkmobilityClient\RecipientsList\RecipientsListInterface;
use D3\LinkmobilityClient\Request\RequestInterface; use D3\LinkmobilityClient\Request\RequestInterface;
@ -34,6 +35,7 @@ use D3\LinkmobilityClient\ValueObject\Sender;
use Exception; use Exception;
use GuzzleHttp\Exception\GuzzleException; use GuzzleHttp\Exception\GuzzleException;
use InvalidArgumentException; use InvalidArgumentException;
use libphonenumber\NumberParseException;
use OxidEsales\Eshop\Application\Model\Order; use OxidEsales\Eshop\Application\Model\Order;
use OxidEsales\Eshop\Application\Model\User; use OxidEsales\Eshop\Application\Model\User;
use OxidEsales\Eshop\Core\Registry; use OxidEsales\Eshop\Core\Registry;
@ -175,18 +177,13 @@ class Sms extends AbstractMessage
* @param Configuration $configuration * @param Configuration $configuration
* @param Client $client * @param Client $client
* @return SmsRequestInterface * @return SmsRequestInterface
* @throws NumberParseException
* @throws RecipientException
*/ */
protected function getRequest(Configuration $configuration, Client $client): SmsRequestInterface protected function getRequest(Configuration $configuration, Client $client): SmsRequestInterface
{ {
d3GetOxidDIC()->setParameter(RequestFactory::class.'.args.message', $this->getMessage()); $requestFactory = $this->getRequestFactory($this->getMessage(), $client);
d3GetOxidDIC()->set(RequestFactory::class.'.args.client', $client); $sender = $this->getSender($configuration->getSmsSenderNumber(), $configuration->getSmsSenderCountry());
/** @var RequestFactory $requestFactory */
$requestFactory = d3GetOxidDIC()->get(RequestFactory::class);
d3GetOxidDIC()->setParameter(Sender::class.'.args.number', $configuration->getSmsSenderNumber());
d3GetOxidDIC()->setParameter(Sender::class.'.args.iso2countrycode', $configuration->getSmsSenderCountry());
/** @var Sender $sender */
$sender = d3GetOxidDIC()->get(Sender::class);
/** @var SmsRequestInterface $request */ /** @var SmsRequestInterface $request */
$request = $requestFactory->getSmsRequest(); $request = $requestFactory->getSmsRequest();
@ -197,6 +194,28 @@ class Sms extends AbstractMessage
return $request; return $request;
} }
/**
* @param string $message
* @param Client $client
* @return RequestFactory
*/
protected function getRequestFactory(string $message, Client $client): RequestFactory
{
return oxNew(RequestFactory::class, $message, $client);
}
/**
* @param string $number
* @param string $countryCode
* @throws NumberParseException
* @throws RecipientException
* @return Sender
*/
protected function getSender(string $number, string $countryCode): Sender
{
return oxNew(Sender::class, $number, $countryCode);
}
/** /**
* @param RecipientsListInterface $recipientsList * @param RecipientsListInterface $recipientsList
* @return ResponseInterface * @return ResponseInterface

Datei anzeigen

@ -70,12 +70,7 @@ class OrderRecipients
/** @var string $countryId */ /** @var string $countryId */
$countryId = $this->order->getFieldData(trim($countryIdFieldName)); $countryId = $this->order->getFieldData(trim($countryIdFieldName));
$country->load($countryId); $country->load($countryId);
return $this->getRecipient($content, $country->getFieldData('oxisoalpha2'));
d3GetOxidDIC()->setParameter(Recipient::class.'.args.number', $content);
d3GetOxidDIC()->setParameter(Recipient::class.'.args.iso2countrycode', $country->getFieldData('oxisoalpha2'));
/** @var Recipient $recipient */
$recipient = d3GetOxidDIC()->get(Recipient::class);
return $recipient;
} }
} catch (NumberParseException|RecipientException $e) { } catch (NumberParseException|RecipientException $e) {
/** @var LoggerHandler $loggerHandler */ /** @var LoggerHandler $loggerHandler */
@ -89,6 +84,18 @@ class OrderRecipients
return null; return null;
} }
/**
* @param string $content
* @param string $countryCode
* @throws NumberParseException
* @throws RecipientException
* @return Recipient
*/
protected function getRecipient(string $content, string $countryCode): Recipient
{
return oxNew(Recipient::class, $content, $countryCode);
}
/** /**
* @return string[] * @return string[]
*/ */

Datei anzeigen

@ -15,15 +15,22 @@ declare(strict_types=1);
namespace D3\Linkmobility4OXID\Application\Model; namespace D3\Linkmobility4OXID\Application\Model;
use D3\LinkmobilityClient\Exceptions\RecipientException;
use D3\LinkmobilityClient\Request\RequestInterface; use D3\LinkmobilityClient\Request\RequestInterface;
use D3\LinkmobilityClient\SMS\SmsRequestInterface; use D3\LinkmobilityClient\SMS\SmsRequestInterface;
use D3\LinkmobilityClient\ValueObject\Sender; use D3\LinkmobilityClient\ValueObject\Sender;
use D3\TestingTools\Production\IsMockable; use D3\TestingTools\Production\IsMockable;
use libphonenumber\NumberParseException;
class RequestFactory extends \D3\LinkmobilityClient\SMS\RequestFactory class RequestFactory extends \D3\LinkmobilityClient\SMS\RequestFactory
{ {
use IsMockable; use IsMockable;
/**
* @return SmsRequestInterface
* @throws NumberParseException
* @throws RecipientException
*/
public function getSmsRequest(): SmsRequestInterface public function getSmsRequest(): SmsRequestInterface
{ {
/** @var Configuration $configuration */ /** @var Configuration $configuration */
@ -33,14 +40,23 @@ class RequestFactory extends \D3\LinkmobilityClient\SMS\RequestFactory
/** @var SmsRequestInterface $request */ /** @var SmsRequestInterface $request */
$request = $this->d3CallMockableFunction([\D3\LinkmobilityClient\SMS\RequestFactory::class, 'getSmsRequest']); $request = $this->d3CallMockableFunction([\D3\LinkmobilityClient\SMS\RequestFactory::class, 'getSmsRequest']);
d3GetOxidDIC()->setParameter(Sender::class.'.args.number', $configuration->getSmsSenderNumber()); $sender = $this->getSender($configuration->getSmsSenderNumber(), $configuration->getSmsSenderCountry());
d3GetOxidDIC()->setParameter(Sender::class.'.args.iso2countrycode', $configuration->getSmsSenderCountry());
/** @var Sender $sender */
$sender = d3GetOxidDIC()->get(Sender::class);
$request->setTestMode($configuration->getTestMode()) $request->setTestMode($configuration->getTestMode())
->setSenderAddress($sender) ->setSenderAddress($sender)
->setSenderAddressType(RequestInterface::SENDERADDRESSTYPE_INTERNATIONAL); ->setSenderAddressType(RequestInterface::SENDERADDRESSTYPE_INTERNATIONAL);
return $request; return $request;
} }
/**
* @param string $number
* @param string $countryCode
* @throws NumberParseException
* @throws RecipientException
* @return Sender
*/
protected function getSender(string $number, string $countryCode): Sender
{
return oxNew(Sender::class, $number, $countryCode);
}
} }

Datei anzeigen

@ -70,11 +70,7 @@ class UserRecipients
/** @var string $countryId */ /** @var string $countryId */
$countryId = $this->user->getFieldData('oxcountryid'); $countryId = $this->user->getFieldData('oxcountryid');
$country->load($countryId); $country->load($countryId);
d3GetOxidDIC()->setParameter(Recipient::class.'.args.number', $content); return $this->getRecipient($content, $country->getFieldData('oxisoalpha2'));
d3GetOxidDIC()->setParameter(Recipient::class.'.args.iso2countrycode', $country->getFieldData('oxisoalpha2'));
/** @var Recipient $recipient */
$recipient = d3GetOxidDIC()->get(Recipient::class);
return $recipient;
} }
} catch (NumberParseException|RecipientException $e) { } catch (NumberParseException|RecipientException $e) {
/** @var LoggerHandler $loggerHandler */ /** @var LoggerHandler $loggerHandler */
@ -88,6 +84,18 @@ class UserRecipients
return null; return null;
} }
/**
* @param string $content
* @param string $countryCode
* @throws NumberParseException
* @throws RecipientException
* @return Recipient
*/
protected function getRecipient(string $content, string $countryCode): Recipient
{
return oxNew(Recipient::class, $content, $countryCode);
}
/** /**
* @return string[] * @return string[]
*/ */

Datei anzeigen

@ -75,18 +75,18 @@ class AdminOrderTest extends AdminSend
->onlyMethods(['sendOrderMessage']) ->onlyMethods(['sendOrderMessage'])
->getMock(); ->getMock();
$smsMock->expects($this->once())->method('sendOrderMessage')->willReturn($canSendItemMessage); $smsMock->expects($this->once())->method('sendOrderMessage')->willReturn($canSendItemMessage);
d3GetOxidDIC()->set(Sms::class, $smsMock);
/** @var AdminOrder|MockObject $sut */ /** @var AdminOrder|MockObject $sut */
$sut = $this->getMockBuilder(AdminOrder::class) $sut = $this->getMockBuilder(AdminOrder::class)
->disableOriginalConstructor() ->disableOriginalConstructor()
->onlyMethods(['getMessageBody', 'getSuccessSentMessage', 'getUnsuccessfullySentMessage']) ->onlyMethods(['getMessageBody', 'getSuccessSentMessage', 'getUnsuccessfullySentMessage', 'getSms'])
->getMock(); ->getMock();
$sut->method('getMessageBody')->willReturn('messageBodyFixture'); $sut->method('getMessageBody')->willReturn('messageBodyFixture');
$sut->expects($this->exactly((int) $canSendItemMessage))->method('getSuccessSentMessage') $sut->expects($this->exactly((int) $canSendItemMessage))->method('getSuccessSentMessage')
->willReturn(oxNew(successfullySentException::class, 'expectedReturn')); ->willReturn(oxNew(successfullySentException::class, 'expectedReturn'));
$sut->expects($this->exactly((int) !$canSendItemMessage))->method('getUnsuccessfullySentMessage') $sut->expects($this->exactly((int) !$canSendItemMessage))->method('getUnsuccessfullySentMessage')
->willReturn('expectedReturn'); ->willReturn('expectedReturn');
$sut->method('getSms')->willReturn($smsMock);
$this->setValue( $this->setValue(
$sut, $sut,
@ -101,4 +101,27 @@ class AdminOrderTest extends AdminSend
) )
); );
} }
/**
* @test
* @return void
* @throws ReflectionException
* @covers \D3\Linkmobility4OXID\Application\Controller\Admin\AdminOrder::getSms
*/
public function canGetSms()
{
/** @var AdminOrder|MockObject $sut */
$sut = $this->getMockBuilder(AdminOrder::class)
->disableOriginalConstructor()
->getMock();
$this->assertInstanceOf(
Sms::class,
$this->callMethod(
$sut,
'getSms',
['messageFixture']
)
);
}
} }

Datei anzeigen

@ -305,12 +305,6 @@ class AdminSend extends LMUnitTestCase
*/ */
public function canGetSuccessSentMessage($hasResponse) public function canGetSuccessSentMessage($hasResponse)
{ {
/** @var successfullySentException|MockObject $successfullySendExceptionMock */
$successfullySendExceptionMock = $this->getMockBuilder(successfullySentException::class)
->disableOriginalConstructor()
->getMock();
d3GetOxidDIC()->set(successfullySentException::class, $successfullySendExceptionMock);
/** @var Response|MockObject $resonseMock */ /** @var Response|MockObject $resonseMock */
$resonseMock = $this->getMockBuilder(Response::class) $resonseMock = $this->getMockBuilder(Response::class)
->onlyMethods(['getSmsCount']) ->onlyMethods(['getSmsCount'])
@ -332,8 +326,8 @@ class AdminSend extends LMUnitTestCase
->onlyMethods(['__construct']) ->onlyMethods(['__construct'])
->getMock(); ->getMock();
$this->assertSame( $this->assertInstanceOf(
$successfullySendExceptionMock, successfullySentException::class,
$this->callMethod( $this->callMethod(
$sut, $sut,
'getSuccessSentMessage', 'getSuccessSentMessage',

Datei anzeigen

@ -75,18 +75,18 @@ class AdminUserTest extends AdminSend
->onlyMethods(['sendUserAccountMessage']) ->onlyMethods(['sendUserAccountMessage'])
->getMock(); ->getMock();
$smsMock->expects($this->once())->method('sendUserAccountMessage')->willReturn($canSendItemMessage); $smsMock->expects($this->once())->method('sendUserAccountMessage')->willReturn($canSendItemMessage);
d3GetOxidDIC()->set(Sms::class, $smsMock);
/** @var AdminUser|MockObject $sut */ /** @var AdminUser|MockObject $sut */
$sut = $this->getMockBuilder(AdminUser::class) $sut = $this->getMockBuilder(AdminUser::class)
->disableOriginalConstructor() ->disableOriginalConstructor()
->onlyMethods(['getMessageBody', 'getSuccessSentMessage', 'getUnsuccessfullySentMessage']) ->onlyMethods(['getMessageBody', 'getSuccessSentMessage', 'getUnsuccessfullySentMessage', 'getSms'])
->getMock(); ->getMock();
$sut->method('getMessageBody')->willReturn('messageBodyFixture'); $sut->method('getMessageBody')->willReturn('messageBodyFixture');
$sut->expects($this->exactly((int) $canSendItemMessage))->method('getSuccessSentMessage') $sut->expects($this->exactly((int) $canSendItemMessage))->method('getSuccessSentMessage')
->willReturn(oxNew(successfullySentException::class, 'expectedReturn')); ->willReturn(oxNew(successfullySentException::class, 'expectedReturn'));
$sut->expects($this->exactly((int) !$canSendItemMessage))->method('getUnsuccessfullySentMessage') $sut->expects($this->exactly((int) !$canSendItemMessage))->method('getUnsuccessfullySentMessage')
->willReturn('expectedReturn'); ->willReturn('expectedReturn');
$sut->method('getSms')->willReturn($smsMock);
$this->setValue( $this->setValue(
$sut, $sut,
@ -101,4 +101,27 @@ class AdminUserTest extends AdminSend
) )
); );
} }
/**
* @test
* @return void
* @throws ReflectionException
* @covers \D3\Linkmobility4OXID\Application\Controller\Admin\AdminUser::getSms
*/
public function canGetSms()
{
/** @var AdminUser|MockObject $sut */
$sut = $this->getMockBuilder(AdminUser::class)
->disableOriginalConstructor()
->getMock();
$this->assertInstanceOf(
Sms::class,
$this->callMethod(
$sut,
'getSms',
['messageFixture']
)
);
}
} }

Datei anzeigen

@ -21,6 +21,7 @@ use D3\Linkmobility4OXID\Application\Model\MessageSender;
use D3\Linkmobility4OXID\Application\Model\MessageTypes\Sms; use D3\Linkmobility4OXID\Application\Model\MessageTypes\Sms;
use D3\Linkmobility4OXID\tests\unit\LMUnitTestCase; use D3\Linkmobility4OXID\tests\unit\LMUnitTestCase;
use D3\TestingTools\Development\CanAccessRestricted; use D3\TestingTools\Development\CanAccessRestricted;
use Hoa\Iterator\Mock;
use OxidEsales\Eshop\Application\Model\Order; use OxidEsales\Eshop\Application\Model\Order;
use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\MockObject\MockObject;
use ReflectionException; use ReflectionException;
@ -170,7 +171,6 @@ class MessageSenderTest extends LMUnitTestCase
$this->throwException(d3GetOxidDIC()->get(noRecipientFoundException::class)) : $this->throwException(d3GetOxidDIC()->get(noRecipientFoundException::class)) :
$this->returnValue(true) $this->returnValue(true)
); );
d3GetOxidDIC()->set(Sms::class, $smsMock);
/** @var Order|MockObject $orderMock */ /** @var Order|MockObject $orderMock */
$orderMock = $this->getMockBuilder(Order::class) $orderMock = $this->getMockBuilder(Order::class)
@ -179,8 +179,9 @@ class MessageSenderTest extends LMUnitTestCase
/** @var MessageSender|MockObject $sut */ /** @var MessageSender|MockObject $sut */
$sut = $this->getMockBuilder(MessageSender::class) $sut = $this->getMockBuilder(MessageSender::class)
->onlyMethods(['getConfiguration']) ->onlyMethods(['getSms', 'getConfiguration'])
->getMock(); ->getMock();
$sut->method('getSms')->willReturn($smsMock);
$this->callMethod( $this->callMethod(
$sut, $sut,
@ -202,6 +203,28 @@ class MessageSenderTest extends LMUnitTestCase
]; ];
} }
/**
* @test
* @return void
* @throws ReflectionException
* @covers \D3\Linkmobility4OXID\Application\Model\MessageSender::getSms
*/
public function canGetSms()
{
/** @var MessageSender|MockObject $sut */
$sut = $this->getMockBuilder(MessageSender::class)
->getMock();
$this->assertInstanceOf(
Sms::class,
$this->callMethod(
$sut,
'getSms',
['messageFixture']
)
);
}
/** /**
* @test * @test
* @return void * @return void

Datei anzeigen

@ -29,6 +29,7 @@ use D3\LinkmobilityClient\RecipientsList\RecipientsList;
use D3\LinkmobilityClient\SMS\BinaryRequest; use D3\LinkmobilityClient\SMS\BinaryRequest;
use D3\LinkmobilityClient\SMS\Response; use D3\LinkmobilityClient\SMS\Response;
use D3\LinkmobilityClient\ValueObject\Recipient; use D3\LinkmobilityClient\ValueObject\Recipient;
use D3\LinkmobilityClient\ValueObject\Sender;
use D3\TestingTools\Development\CanAccessRestricted; use D3\TestingTools\Development\CanAccessRestricted;
use Monolog\Logger; use Monolog\Logger;
use OxidEsales\Eshop\Application\Model\Order; use OxidEsales\Eshop\Application\Model\Order;
@ -637,6 +638,10 @@ class SmsTest extends LMUnitTestCase
*/ */
public function canGetRequest() public function canGetRequest()
{ {
/** @var Sender|MockObject $senderMock */
$senderMock = $this->getMockBuilder(Sender::class)
->getMock();
/** @var Client|MockObject $clientMock */ /** @var Client|MockObject $clientMock */
$clientMock = $this->getMockBuilder(Client::class) $clientMock = $this->getMockBuilder(Client::class)
->disableOriginalConstructor() ->disableOriginalConstructor()
@ -644,7 +649,11 @@ class SmsTest extends LMUnitTestCase
/** @var Configuration|MockObject $configurationMock */ /** @var Configuration|MockObject $configurationMock */
$configurationMock = $this->getMockBuilder(Configuration::class) $configurationMock = $this->getMockBuilder(Configuration::class)
->onlyMethods(['getSmsSenderNumber', 'getSmsSenderCountry'])
->getMock(); ->getMock();
$configurationMock->method('getSmsSenderNumber')->willReturn('01512 3456789');
$configurationMock->method('getSmsSenderCountry')->willReturn('DE');
/** @var BinaryRequest|MockObject $binaryRequestMock */ /** @var BinaryRequest|MockObject $binaryRequestMock */
$binaryRequestMock = $this->getMockBuilder(BinaryRequest::class) $binaryRequestMock = $this->getMockBuilder(BinaryRequest::class)
@ -657,12 +666,15 @@ class SmsTest extends LMUnitTestCase
->onlyMethods(['getSmsRequest']) ->onlyMethods(['getSmsRequest'])
->getMock(); ->getMock();
$requestFactoryMock->method('getSmsRequest')->willReturn($binaryRequestMock); $requestFactoryMock->method('getSmsRequest')->willReturn($binaryRequestMock);
d3GetOxidDIC()->set(RequestFactory::class, $requestFactoryMock);
/** @var Sms|MockObject $sut */ /** @var Sms|MockObject $sut */
$sut = $this->getMockBuilder(Sms::class) $sut = $this->getMockBuilder(Sms::class)
->onlyMethods(['getRequestFactory', 'getSender', 'getMessage'])
->disableOriginalConstructor() ->disableOriginalConstructor()
->getMock(); ->getMock();
$sut->method('getRequestFactory')->willReturn($requestFactoryMock);
$sut->method('getSender')->willReturn($senderMock);
$sut->method('getMessage')->willReturn('messageFixture');
$this->assertSame( $this->assertSame(
$binaryRequestMock, $binaryRequestMock,
@ -674,6 +686,57 @@ class SmsTest extends LMUnitTestCase
); );
} }
/**
* @test
* @return void
* @throws ReflectionException
* @covers \D3\Linkmobility4OXID\Application\Model\MessageTypes\Sms::getRequestFactory
*/
public function canGetRequestFactory()
{
/** @var Client|MockObject $clientMock */
$clientMock = $this->getMockBuilder(Client::class)
->disableOriginalConstructor()
->getMock();
/** @var Sms|MockObject $sut */
$sut = $this->getMockBuilder(Sms::class)
->disableOriginalConstructor()
->getMock();
$this->assertInstanceOf(
RequestFactory::class,
$this->callMethod(
$sut,
'getRequestFactory',
['messageFixture', $clientMock]
)
);
}
/**
* @test
* @return void
* @throws ReflectionException
* @covers \D3\Linkmobility4OXID\Application\Model\MessageTypes\Sms::getSender
*/
public function canGetSender()
{
/** @var Sms|MockObject $sut */
$sut = $this->getMockBuilder(Sms::class)
->disableOriginalConstructor()
->getMock();
$this->assertInstanceOf(
Sender::class,
$this->callMethod(
$sut,
'getSender',
['01512 3456789', 'DE']
)
);
}
/** /**
* @test * @test
* @param $submitSuccessful * @param $submitSuccessful

Datei anzeigen

@ -130,7 +130,6 @@ class OrderRecipientsTest extends LMUnitTestCase
$recipientMock = $this->getMockBuilder(Recipient::class) $recipientMock = $this->getMockBuilder(Recipient::class)
->disableOriginalConstructor() ->disableOriginalConstructor()
->getMock(); ->getMock();
d3GetOxidDIC()->set(Recipient::class, $recipientMock);
/** @var Country|MockObject $countryMock */ /** @var Country|MockObject $countryMock */
$countryMock = $this->getMockBuilder(Country::class) $countryMock = $this->getMockBuilder(Country::class)
@ -158,8 +157,10 @@ class OrderRecipientsTest extends LMUnitTestCase
/** @var OrderRecipients|MockObject $sut */ /** @var OrderRecipients|MockObject $sut */
$sut = $this->getMockBuilder(OrderRecipients::class) $sut = $this->getMockBuilder(OrderRecipients::class)
->onlyMethods(['getRecipient'])
->disableOriginalConstructor() ->disableOriginalConstructor()
->getMock(); ->getMock();
$sut->method('getRecipient')->willReturn($recipientMock);
$this->setValue( $this->setValue(
$sut, $sut,
@ -191,6 +192,29 @@ class OrderRecipientsTest extends LMUnitTestCase
]; ];
} }
/**
* @test
* @return void
* @throws ReflectionException
* @covers \D3\Linkmobility4OXID\Application\Model\OrderRecipients::getRecipient
*/
public function canGetRecipient()
{
/** @var OrderRecipients|MockObject $sut */
$sut = $this->getMockBuilder(OrderRecipients::class)
->disableOriginalConstructor()
->getMock();
$this->assertInstanceOf(
Recipient::class,
$this->callMethod(
$sut,
'getRecipient',
['01512 3456789', 'DE']
)
);
}
/** /**
* @test * @test
* @param $configuredFields * @param $configuredFields

Datei anzeigen

@ -50,7 +50,6 @@ class RequestFactoryTest extends LMUnitTestCase
$senderMock = $this->getMockBuilder(Sender::class) $senderMock = $this->getMockBuilder(Sender::class)
->disableOriginalConstructor() ->disableOriginalConstructor()
->getMock(); ->getMock();
d3GetOxidDIC()->set(Sender::class, $senderMock);
/** @var TextRequest|MockObject $textRequestMock */ /** @var TextRequest|MockObject $textRequestMock */
$textRequestMock = $this->getMockBuilder(TextRequest::class) $textRequestMock = $this->getMockBuilder(TextRequest::class)
@ -60,9 +59,10 @@ class RequestFactoryTest extends LMUnitTestCase
/** @var RequestFactory|MockObject $sut */ /** @var RequestFactory|MockObject $sut */
$sut = $this->getMockBuilder(RequestFactory::class) $sut = $this->getMockBuilder(RequestFactory::class)
->disableOriginalConstructor() ->disableOriginalConstructor()
->onlyMethods(['d3CallMockableFunction']) ->onlyMethods(['d3CallMockableFunction', 'getSender'])
->getMock(); ->getMock();
$sut->method('d3CallMockableFunction')->willReturn($textRequestMock); $sut->method('d3CallMockableFunction')->willReturn($textRequestMock);
$sut->method('getSender')->willReturn($senderMock);
$this->assertInstanceOf( $this->assertInstanceOf(
SmsRequestInterface::class, SmsRequestInterface::class,
@ -72,4 +72,27 @@ class RequestFactoryTest extends LMUnitTestCase
) )
); );
} }
/**
* @test
* @return void
* @throws ReflectionException
* @covers \D3\Linkmobility4OXID\Application\Model\RequestFactory::getSender
*/
public function canGetSender()
{
/** @var RequestFactory|MockObject $sut */
$sut = $this->getMockBuilder(RequestFactory::class)
->disableOriginalConstructor()
->getMock();
$this->assertInstanceOf(
Sender::class,
$this->callMethod(
$sut,
'getSender',
['01512 3456789', 'DE']
)
);
}
} }

Datei anzeigen

@ -130,7 +130,6 @@ class UserRecipientsTest extends LMUnitTestCase
$recipientMock = $this->getMockBuilder(Recipient::class) $recipientMock = $this->getMockBuilder(Recipient::class)
->disableOriginalConstructor() ->disableOriginalConstructor()
->getMock(); ->getMock();
d3GetOxidDIC()->set(Recipient::class, $recipientMock);
/** @var Country|MockObject $countryMock */ /** @var Country|MockObject $countryMock */
$countryMock = $this->getMockBuilder(Country::class) $countryMock = $this->getMockBuilder(Country::class)
@ -158,8 +157,10 @@ class UserRecipientsTest extends LMUnitTestCase
/** @var UserRecipients|MockObject $sut */ /** @var UserRecipients|MockObject $sut */
$sut = $this->getMockBuilder(UserRecipients::class) $sut = $this->getMockBuilder(UserRecipients::class)
->onlyMethods(['getRecipient'])
->disableOriginalConstructor() ->disableOriginalConstructor()
->getMock(); ->getMock();
$sut->method('getRecipient')->willReturn($recipientMock);
$this->setValue( $this->setValue(
$sut, $sut,
@ -191,6 +192,29 @@ class UserRecipientsTest extends LMUnitTestCase
]; ];
} }
/**
* @test
* @return void
* @throws ReflectionException
* @covers \D3\Linkmobility4OXID\Application\Model\UserRecipients::getRecipient
*/
public function canGetRecipient()
{
/** @var UserRecipients|MockObject $sut */
$sut = $this->getMockBuilder(UserRecipients::class)
->disableOriginalConstructor()
->getMock();
$this->assertInstanceOf(
Recipient::class,
$this->callMethod(
$sut,
'getRecipient',
['01512 3456789', 'DE']
)
);
}
/** /**
* @test * @test
* @param $configuredFields * @param $configuredFields