Skip to content

Commit eb9aa30

Browse files
author
Vitalii Tychenok
committed
Fix for Unit Tests
1 parent b5353a0 commit eb9aa30

File tree

2 files changed

+19
-4
lines changed

2 files changed

+19
-4
lines changed

app/code/Magento/Multishipping/Controller/Checkout/Plugin.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,9 @@ public function __construct(\Magento\Checkout\Model\Cart $cart)
3434
*/
3535
public function beforeExecute(\Magento\Framework\App\Action\Action $subject)
3636
{
37-
if ($this->cart->getQuote()->getIsMultiShipping()) {
38-
$this->cart->getQuote()->setIsMultiShipping(0);
37+
$quote = $this->cart->getQuote();
38+
if ($quote->getIsMultiShipping()) {
39+
$quote->setIsMultiShipping(0);
3940
$this->cart->saveQuote();
4041
}
4142
}

app/code/Magento/Multishipping/Test/Unit/Controller/Checkout/PluginTest.php

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@
44
* Copyright © Magento, Inc. All rights reserved.
55
* See COPYING.txt for license details.
66
*/
7+
8+
declare(strict_types=1);
9+
710
namespace Magento\Multishipping\Test\Unit\Controller\Checkout;
811

912
use Magento\Multishipping\Controller\Checkout\Plugin;
@@ -30,16 +33,27 @@ protected function setUp()
3033
$this->cartMock = $this->createMock(\Magento\Checkout\Model\Cart::class);
3134
$this->quoteMock = $this->createPartialMock(
3235
\Magento\Quote\Model\Quote::class,
33-
['__wakeUp', 'setIsMultiShipping']
36+
['__wakeUp', 'setIsMultiShipping', 'getIsMultiShipping']
3437
);
3538
$this->cartMock->expects($this->once())->method('getQuote')->will($this->returnValue($this->quoteMock));
3639
$this->object = new \Magento\Multishipping\Controller\Checkout\Plugin($this->cartMock);
3740
}
3841

39-
public function testExecuteTurnsOffMultishippingModeOnQuote()
42+
public function testExecuteTurnsOffMultishippingModeOnMultishippingQuote(): void
4043
{
4144
$subject = $this->createMock(\Magento\Checkout\Controller\Index\Index::class);
45+
$this->quoteMock->expects($this->once())->method('getIsMultiShipping')->willReturn(1);
4246
$this->quoteMock->expects($this->once())->method('setIsMultiShipping')->with(0);
47+
$this->cartMock->expects($this->once())->method('saveQuote');
48+
$this->object->beforeExecute($subject);
49+
}
50+
51+
public function testExecuteTurnsOffMultishippingModeOnNotMultishippingQuote(): void
52+
{
53+
$subject = $this->createMock(\Magento\Checkout\Controller\Index\Index::class);
54+
$this->quoteMock->expects($this->once())->method('getIsMultiShipping')->willReturn(0);
55+
$this->quoteMock->expects($this->never())->method('setIsMultiShipping');
56+
$this->cartMock->expects($this->never())->method('saveQuote');
4357
$this->object->beforeExecute($subject);
4458
}
4559
}

0 commit comments

Comments
 (0)