<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\UrlRewrite\Test\Unit\Model\Exception; use Magento\UrlRewrite\Model\Exception\UrlAlreadyExistsException; use Magento\Framework\Phrase; /** * Class UrlAlreadyExistsExceptionTest */ class UrlAlreadyExistsExceptionTest extends \PHPUnit\Framework\TestCase { /** @var \Magento\Framework\Phrase\RendererInterface */ private $defaultRenderer; /** @var string */ private $renderedMessage; /** * @return void */ protected function setUp() { $this->defaultRenderer = \Magento\Framework\Phrase::getRenderer(); $rendererMock = $this->getMockBuilder(\Magento\Framework\Phrase\Renderer\Placeholder::class) ->disableOriginalConstructor() ->getMock(); $this->renderedMessage = 'rendered message'; $rendererMock->expects($this->once()) ->method('render') ->will($this->returnValue($this->renderedMessage)); \Magento\Framework\Phrase::setRenderer($rendererMock); } /** * @return void */ public function tearDown() { \Magento\Framework\Phrase::setRenderer($this->defaultRenderer); } public function testUrls() { $expectedCode = 42; $urls = ['someUrl.html']; $localizedException = new UrlAlreadyExistsException( new Phrase("message %1", ['test']), new \Exception(), $expectedCode, $urls ); $this->assertEquals($urls, $localizedException->getUrls()); } public function testDefaultPhrase() { $localizedException = new UrlAlreadyExistsException(); $this->assertEquals( 'rendered message', $localizedException->getMessage() ); } }