81 lines
2.0 KiB
PHP
Executable File
81 lines
2.0 KiB
PHP
Executable File
<?php
|
|
/**
|
|
* Copyright © Magento, Inc. All rights reserved.
|
|
* See COPYING.txt for license details.
|
|
*/
|
|
declare(strict_types=1);
|
|
|
|
namespace Magento\Review\Block\Account;
|
|
|
|
use Magento\Framework\ObjectManagerInterface;
|
|
use Magento\Framework\View\Result\Page;
|
|
use Magento\Framework\View\Result\PageFactory;
|
|
use Magento\TestFramework\Helper\Bootstrap;
|
|
use PHPUnit\Framework\TestCase;
|
|
|
|
/**
|
|
* Checks "My Product Reviews" link displaying in customer account dashboard
|
|
*
|
|
* @magentoAppArea frontend
|
|
* @magentoDbIsolation enabled
|
|
* @magentoAppIsolation enabled
|
|
*/
|
|
class LinkTest extends TestCase
|
|
{
|
|
/** @var ObjectManagerInterface */
|
|
private $objectManager;
|
|
|
|
/** @var Page */
|
|
private $page;
|
|
|
|
/**
|
|
* @inheritdoc
|
|
*/
|
|
protected function setUp(): void
|
|
{
|
|
parent::setUp();
|
|
|
|
$this->objectManager = Bootstrap::getObjectManager();
|
|
$this->page = $this->objectManager->get(PageFactory::class)->create();
|
|
}
|
|
|
|
/**
|
|
* @return void
|
|
*/
|
|
public function testMyProductReviewsLink(): void
|
|
{
|
|
$this->preparePage();
|
|
$block = $this->page->getLayout()->getBlock('customer-account-navigation-product-reviews-link');
|
|
$this->assertNotFalse($block);
|
|
$html = $block->toHtml();
|
|
$this->assertStringContainsString('/review/customer/', $html);
|
|
$this->assertEquals((string)__('My Product Reviews'), strip_tags($html));
|
|
}
|
|
|
|
/**
|
|
* @magentoConfigFixture current_store catalog/review/active 0
|
|
*
|
|
* @return void
|
|
*/
|
|
public function testMyProductReviewsLinkDisabled(): void
|
|
{
|
|
$this->preparePage();
|
|
$block = $this->page->getLayout()->getBlock('customer-account-navigation-product-reviews-link');
|
|
$this->assertFalse($block);
|
|
}
|
|
|
|
/**
|
|
* Prepare page before render
|
|
*
|
|
* @return void
|
|
*/
|
|
private function preparePage(): void
|
|
{
|
|
$this->page->addHandle([
|
|
'default',
|
|
'customer_account',
|
|
]);
|
|
$this->page->getLayout()->generateXml();
|
|
}
|
|
}
|