From 56408d26cd9320e168dd0bd5a76dcde049d0a921 Mon Sep 17 00:00:00 2001 From: Ievgen Shakhsuvarov <ishakhsuvarov@ebay.com> Date: Sun, 28 Jun 2015 14:59:24 +0300 Subject: [PATCH] MAGETWO-39372: Build stabilization - unit tests --- .../Model/Customer/Plugin/AjaxLoginTest.php | 21 +++++++++-- .../Unit/Model/Cart/ImageProviderTest.php | 35 +++++++++++++++++-- 2 files changed, 51 insertions(+), 5 deletions(-) diff --git a/app/code/Magento/Captcha/Test/Unit/Model/Customer/Plugin/AjaxLoginTest.php b/app/code/Magento/Captcha/Test/Unit/Model/Customer/Plugin/AjaxLoginTest.php index 07f63f78136..7a79969f8ef 100644 --- a/app/code/Magento/Captcha/Test/Unit/Model/Customer/Plugin/AjaxLoginTest.php +++ b/app/code/Magento/Captcha/Test/Unit/Model/Customer/Plugin/AjaxLoginTest.php @@ -42,6 +42,11 @@ class AjaxLoginTest extends \PHPUnit_Framework_TestCase */ protected $loginControllerMock; + /** + * @var array + */ + protected $formIds; + /** * @var \Magento\Captcha\Model\Customer\Plugin\AjaxLogin */ @@ -67,11 +72,13 @@ class AjaxLoginTest extends \PHPUnit_Framework_TestCase ->will($this->returnValue($this->requestMock)); $this->captchaHelperMock->expects($this->once())->method('getCaptcha') ->with('user_login')->will($this->returnValue($this->captchaMock)); + $this->formIds = ['user_login']; $this->model = new \Magento\Captcha\Model\Customer\Plugin\AjaxLogin( $this->captchaHelperMock, $this->sessionManagerMock, - $this->jsonFactoryMock + $this->jsonFactoryMock, + $this->formIds ); } @@ -79,7 +86,11 @@ class AjaxLoginTest extends \PHPUnit_Framework_TestCase { $username = 'name'; $captchaString = 'string'; - $requestContent = json_encode(['username' => $username, 'captcha_string' => $captchaString]); + $requestContent = json_encode([ + 'username' => $username, + 'captcha_string' => $captchaString, + 'captcha_form_id' => $this->formIds[0] + ]); $this->requestMock->expects($this->once())->method('getContent')->will($this->returnValue($requestContent)); $this->captchaMock->expects($this->once())->method('isRequired')->with($username) @@ -98,7 +109,11 @@ class AjaxLoginTest extends \PHPUnit_Framework_TestCase { $username = 'name'; $captchaString = 'string'; - $requestContent = json_encode(['username' => $username, 'captcha_string' => $captchaString]); + $requestContent = json_encode([ + 'username' => $username, + 'captcha_string' => $captchaString, + 'captcha_form_id' => $this->formIds[0] + ]); $this->requestMock->expects($this->once())->method('getContent')->will($this->returnValue($requestContent)); $this->captchaMock->expects($this->once())->method('isRequired')->with($username) diff --git a/app/code/Magento/Checkout/Test/Unit/Model/Cart/ImageProviderTest.php b/app/code/Magento/Checkout/Test/Unit/Model/Cart/ImageProviderTest.php index f1ba6659395..7166fd7e97c 100644 --- a/app/code/Magento/Checkout/Test/Unit/Model/Cart/ImageProviderTest.php +++ b/app/code/Magento/Checkout/Test/Unit/Model/Cart/ImageProviderTest.php @@ -8,13 +8,44 @@ namespace Magento\Checkout\Test\Unit\Model\Cart; class ImageProviderTest extends \PHPUnit_Framework_TestCase { + /** + * @var \Magento\Checkout\Model\Cart\ImageProvider + */ + public $model; + + /** + * @var \PHPUnit_Framework_Mockobject_Mockobject | \Magento\Quote\Api\CartItemRepositoryInterface + */ + protected $itemRepositoryMock; + + /** + * @var \PHPUnit_Framework_Mockobject_Mockobject | \Magento\Checkout\CustomerData\ItemPoolInterface + */ + protected $itemPoolMock; + protected function setUp() { - //@TODO implement test + $this->itemRepositoryMock = $this->getMock('Magento\Quote\Api\CartItemRepositoryInterface', [], [], '', false); + $this->itemPoolMock = $this->getMock('Magento\Checkout\CustomerData\ItemPoolInterface', [], [], '', false); + $this->model = new \Magento\Checkout\Model\Cart\ImageProvider ( + $this->itemRepositoryMock, + $this->itemPoolMock + ); } public function testGetImages() { - $this->fail('to be implemented'); + $cartId = 42; + $itemId = 74; + $itemData = ['product_image' => 'Magento.png', 'random' => '3.1415926535']; + $itemMock = $this->getMock('Magento\Quote\Model\Quote\Item', [], [], '', false); + $itemMock->expects($this->once())->method('getItemId')->willReturn($itemId); + + $expectedResult = [$itemId => $itemData['product_image']]; + + $this->itemRepositoryMock->expects($this->once())->method('getList')->with($cartId)->willReturn([$itemMock]); + $this->itemPoolMock->expects($this->once())->method('getItemData')->with($itemMock)->willReturn($itemData); + + $this->assertEquals($expectedResult, $this->model->getImages($cartId)); } } -- GitLab