123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Sales\Test\Unit\Helper;
- /**
- * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
- */
- class DataTest extends \PHPUnit\Framework\TestCase
- {
- /**
- * @var \Magento\Sales\Helper\Data
- */
- protected $helper;
- /**
- * @var \PHPUnit_Framework_MockObject_MockObject | \Magento\Framework\App\Config\ScopeConfigInterface
- */
- protected $scopeConfigMock;
- /**
- * @var \PHPUnit_Framework_MockObject_MockObject | \Magento\Sales\Model\Store
- */
- protected $storeMock;
- /**
- * @return void
- */
- protected function setUp()
- {
- $this->scopeConfigMock = $this->getMockBuilder(\Magento\Framework\App\Config\ScopeConfigInterface::class)
- ->disableOriginalConstructor()
- ->getMock();
- $contextMock = $this->getMockBuilder(\Magento\Framework\App\Helper\Context::class)
- ->disableOriginalConstructor()
- ->getMock();
- $contextMock->expects($this->any())
- ->method('getScopeConfig')
- ->willReturn($this->scopeConfigMock);
- $storeManagerMock = $this->getMockBuilder(\Magento\Store\Model\StoreManagerInterface::class)
- ->disableOriginalConstructor()
- ->getMock();
- $appStateMock = $this->getMockBuilder(\Magento\Framework\App\State::class)
- ->disableOriginalConstructor()
- ->getMock();
- $pricingCurrencyMock = $this->getMockBuilder(\Magento\Framework\Pricing\PriceCurrencyInterface::class)
- ->disableOriginalConstructor()
- ->getMock();
- $this->helper = new \Magento\Sales\Helper\Data(
- $contextMock,
- $storeManagerMock,
- $appStateMock,
- $pricingCurrencyMock
- );
- $this->storeMock = $this->getMockBuilder(\Magento\Sales\Model\Store::class)
- ->disableOriginalConstructor()
- ->getMock();
- }
- /**
- * @dataProvider getScopeConfigValue
- */
- public function testCanSendNewOrderConfirmationEmail($scopeConfigValue)
- {
- $this->setupScopeConfigIsSetFlag(
- \Magento\Sales\Model\Order\Email\Container\OrderIdentity::XML_PATH_EMAIL_ENABLED,
- $scopeConfigValue
- );
- $this->assertEquals($scopeConfigValue, $this->helper->canSendNewOrderConfirmationEmail($this->storeMock));
- }
- /**
- * @dataProvider getScopeConfigValue
- * @return void
- */
- public function testCanSendNewOrderEmail($scopeConfigValue)
- {
- $this->setupScopeConfigIsSetFlag(
- \Magento\Sales\Model\Order\Email\Container\OrderIdentity::XML_PATH_EMAIL_ENABLED,
- $scopeConfigValue
- );
- $this->assertEquals($scopeConfigValue, $this->helper->canSendNewOrderEmail($this->storeMock));
- }
- /**
- * @dataProvider getScopeConfigValue
- * @return void
- */
- public function testCanSendOrderCommentEmail($scopeConfigValue)
- {
- $this->setupScopeConfigIsSetFlag(
- \Magento\Sales\Model\Order\Email\Container\OrderCommentIdentity::XML_PATH_EMAIL_ENABLED,
- $scopeConfigValue
- );
- $this->assertEquals($scopeConfigValue, $this->helper->canSendOrderCommentEmail($this->storeMock));
- }
- /**
- * @dataProvider getScopeConfigValue
- * @return void
- */
- public function testCanSendNewShipmentEmail($scopeConfigValue)
- {
- $this->setupScopeConfigIsSetFlag(
- \Magento\Sales\Model\Order\Email\Container\ShipmentIdentity::XML_PATH_EMAIL_ENABLED,
- $scopeConfigValue
- );
- $this->assertEquals($scopeConfigValue, $this->helper->canSendNewShipmentEmail($this->storeMock));
- }
- /**
- * @dataProvider getScopeConfigValue
- * @return void
- */
- public function testCanSendShipmentCommentEmail($scopeConfigValue)
- {
- $this->setupScopeConfigIsSetFlag(
- \Magento\Sales\Model\Order\Email\Container\ShipmentCommentIdentity::XML_PATH_EMAIL_ENABLED,
- $scopeConfigValue
- );
- $this->assertEquals($scopeConfigValue, $this->helper->canSendShipmentCommentEmail($this->storeMock));
- }
- /**
- * @dataProvider getScopeConfigValue
- */
- public function testCanSendNewInvoiceEmail($scopeConfigValue)
- {
- $this->setupScopeConfigIsSetFlag(
- \Magento\Sales\Model\Order\Email\Container\InvoiceIdentity::XML_PATH_EMAIL_ENABLED,
- $scopeConfigValue
- );
- $this->assertEquals($scopeConfigValue, $this->helper->canSendNewInvoiceEmail($this->storeMock));
- }
- /**
- * @dataProvider getScopeConfigValue
- */
- public function testCanSendInvoiceCommentEmail($scopeConfigValue)
- {
- $this->setupScopeConfigIsSetFlag(
- \Magento\Sales\Model\Order\Email\Container\InvoiceCommentIdentity::XML_PATH_EMAIL_ENABLED,
- $scopeConfigValue
- );
- $this->assertEquals($scopeConfigValue, $this->helper->canSendInvoiceCommentEmail($this->storeMock));
- }
- /**
- * @dataProvider getScopeConfigValue
- * @return void
- */
- public function testCanSendNewCreditmemoEmail($scopeConfigValue)
- {
- $this->setupScopeConfigIsSetFlag(
- \Magento\Sales\Model\Order\Email\Container\CreditmemoIdentity::XML_PATH_EMAIL_ENABLED,
- $scopeConfigValue
- );
- $this->assertEquals($scopeConfigValue, $this->helper->canSendNewCreditmemoEmail($this->storeMock));
- }
- /**
- * @dataProvider getScopeConfigValue
- * @return void
- */
- public function testCanSendCreditmemoCommentEmail($scopeConfigValue)
- {
- $this->setupScopeConfigIsSetFlag(
- \Magento\Sales\Model\Order\Email\Container\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,
- \Magento\Store\Model\ScopeInterface::SCOPE_STORE,
- $this->storeMock
- )
- ->will($this->returnValue($returnValue));
- }
- /**
- * @return array
- */
- public function getScopeConfigValue()
- {
- return [
- [true],
- [false]
- ];
- }
- }
|