UrlAlreadyExistsExceptionTest.php 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\UrlRewrite\Test\Unit\Model\Exception;
  7. use Magento\UrlRewrite\Model\Exception\UrlAlreadyExistsException;
  8. use Magento\Framework\Phrase;
  9. /**
  10. * Class UrlAlreadyExistsExceptionTest
  11. */
  12. class UrlAlreadyExistsExceptionTest extends \PHPUnit\Framework\TestCase
  13. {
  14. /** @var \Magento\Framework\Phrase\RendererInterface */
  15. private $defaultRenderer;
  16. /** @var string */
  17. private $renderedMessage;
  18. /**
  19. * @return void
  20. */
  21. protected function setUp()
  22. {
  23. $this->defaultRenderer = \Magento\Framework\Phrase::getRenderer();
  24. $rendererMock = $this->getMockBuilder(\Magento\Framework\Phrase\Renderer\Placeholder::class)
  25. ->disableOriginalConstructor()
  26. ->getMock();
  27. $this->renderedMessage = 'rendered message';
  28. $rendererMock->expects($this->once())
  29. ->method('render')
  30. ->will($this->returnValue($this->renderedMessage));
  31. \Magento\Framework\Phrase::setRenderer($rendererMock);
  32. }
  33. /**
  34. * @return void
  35. */
  36. public function tearDown()
  37. {
  38. \Magento\Framework\Phrase::setRenderer($this->defaultRenderer);
  39. }
  40. public function testUrls()
  41. {
  42. $expectedCode = 42;
  43. $urls = ['someUrl.html'];
  44. $localizedException = new UrlAlreadyExistsException(
  45. new Phrase("message %1", ['test']),
  46. new \Exception(),
  47. $expectedCode,
  48. $urls
  49. );
  50. $this->assertEquals($urls, $localizedException->getUrls());
  51. }
  52. public function testDefaultPhrase()
  53. {
  54. $localizedException = new UrlAlreadyExistsException();
  55. $this->assertEquals(
  56. 'rendered message',
  57. $localizedException->getMessage()
  58. );
  59. }
  60. }