![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/cartforge.co/vendor/magento/module-sales/Test/Unit/Helper/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\Sales\Test\Unit\Helper; use Magento\Framework\App\Config\ScopeConfigInterface; use Magento\Framework\App\Helper\Context; use Magento\Sales\Helper\Data; use Magento\Sales\Model\Order\Email\Container\CreditmemoCommentIdentity; use Magento\Sales\Model\Order\Email\Container\CreditmemoIdentity; use Magento\Sales\Model\Order\Email\Container\InvoiceCommentIdentity; use Magento\Sales\Model\Order\Email\Container\InvoiceIdentity; use Magento\Sales\Model\Order\Email\Container\OrderCommentIdentity; use Magento\Sales\Model\Order\Email\Container\OrderIdentity; use Magento\Sales\Model\Order\Email\Container\ShipmentCommentIdentity; use Magento\Sales\Model\Order\Email\Container\ShipmentIdentity; use Magento\Store\Model\ScopeInterface; use Magento\Store\Model\Store; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; /** * @SuppressWarnings(PHPMD.CouplingBetweenObjects) */ class DataTest extends TestCase { /** * @var Data */ protected $helper; /** * @var MockObject|ScopeConfigInterface */ protected $scopeConfigMock; /** * @var MockObject|Store */ protected $storeMock; /** * @return void */ protected function setUp(): void { $this->scopeConfigMock = $this->getMockBuilder(ScopeConfigInterface::class) ->disableOriginalConstructor() ->getMockForAbstractClass(); $contextMock = $this->getMockBuilder(Context::class) ->disableOriginalConstructor() ->getMock(); $contextMock->expects($this->any()) ->method('getScopeConfig') ->willReturn($this->scopeConfigMock); $this->helper = new Data($contextMock); $this->storeMock = $this->getMockBuilder(Store::class) ->disableOriginalConstructor() ->getMock(); } /** * @dataProvider getScopeConfigValue */ public function testCanSendNewOrderConfirmationEmail($scopeConfigValue) { $this->setupScopeConfigIsSetFlag( OrderIdentity::XML_PATH_EMAIL_ENABLED, $scopeConfigValue ); $this->assertEquals($scopeConfigValue, $this->helper->canSendNewOrderConfirmationEmail($this->storeMock)); } /** * @dataProvider getScopeConfigValue * @return void */ public function testCanSendNewOrderEmail($scopeConfigValue) { $this->setupScopeConfigIsSetFlag( OrderIdentity::XML_PATH_EMAIL_ENABLED, $scopeConfigValue ); $this->assertEquals($scopeConfigValue, $this->helper->canSendNewOrderEmail($this->storeMock)); } /** * @dataProvider getScopeConfigValue * @return void */ public function testCanSendOrderCommentEmail($scopeConfigValue) { $this->setupScopeConfigIsSetFlag( OrderCommentIdentity::XML_PATH_EMAIL_ENABLED, $scopeConfigValue ); $this->assertEquals($scopeConfigValue, $this->helper->canSendOrderCommentEmail($this->storeMock)); } /** * @dataProvider getScopeConfigValue * @return void */ public function testCanSendNewShipmentEmail($scopeConfigValue) { $this->setupScopeConfigIsSetFlag( ShipmentIdentity::XML_PATH_EMAIL_ENABLED, $scopeConfigValue ); $this->assertEquals($scopeConfigValue, $this->helper->canSendNewShipmentEmail($this->storeMock)); } /** * @dataProvider getScopeConfigValue * @return void */ public function testCanSendShipmentCommentEmail($scopeConfigValue) { $this->setupScopeConfigIsSetFlag( ShipmentCommentIdentity::XML_PATH_EMAIL_ENABLED, $scopeConfigValue ); $this->assertEquals($scopeConfigValue, $this->helper->canSendShipmentCommentEmail($this->storeMock)); } /** * @dataProvider getScopeConfigValue */ public function testCanSendNewInvoiceEmail($scopeConfigValue) { $this->setupScopeConfigIsSetFlag( InvoiceIdentity::XML_PATH_EMAIL_ENABLED, $scopeConfigValue ); $this->assertEquals($scopeConfigValue, $this->helper->canSendNewInvoiceEmail($this->storeMock)); } /** * @dataProvider getScopeConfigValue */ public function testCanSendInvoiceCommentEmail($scopeConfigValue) { $this->setupScopeConfigIsSetFlag( InvoiceCommentIdentity::XML_PATH_EMAIL_ENABLED, $scopeConfigValue ); $this->assertEquals($scopeConfigValue, $this->helper->canSendInvoiceCommentEmail($this->storeMock)); } /** * @dataProvider getScopeConfigValue * @return void */ public function testCanSendNewCreditmemoEmail($scopeConfigValue) { $this->setupScopeConfigIsSetFlag( CreditmemoIdentity::XML_PATH_EMAIL_ENABLED, $scopeConfigValue ); $this->assertEquals($scopeConfigValue, $this->helper->canSendNewCreditmemoEmail($this->storeMock)); } /** * @dataProvider getScopeConfigValue * @return void */ public function testCanSendCreditmemoCommentEmail($scopeConfigValue) { $this->setupScopeConfigIsSetFlag( CreditmemoCommentIdentity::XML_PATH_EMAIL_ENABLED, $scopeConfigValue ); $this->assertEquals($scopeConfigValue, $this->helper->canSendCreditmemoCommentEmail($this->storeMock)); } /** * Sets up the scope config mock which will return a specified value for a config flag. * * @param string $flagName * @param bool $returnValue * @return void */ protected function setupScopeConfigIsSetFlag($flagName, $returnValue) { $this->scopeConfigMock->expects($this->once()) ->method('isSetFlag') ->with( $flagName, ScopeInterface::SCOPE_STORE, $this->storeMock ) ->willReturn($returnValue); } /** * @return array */ public function getScopeConfigValue() { return [ [true], [false] ]; } }