magento2-docker/dev/tests/integration/testsuite/Magento/Review/Block/FormTest.php

87 lines
2.3 KiB
PHP
Executable File

<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Review\Block;
use Magento\Framework\App\Area;
use Magento\Framework\App\Config\Value;
use Magento\Framework\App\ReinitableConfig;
use Magento\Framework\App\State;
use Magento\TestFramework\ObjectManager;
class FormTest extends \PHPUnit\Framework\TestCase
{
/**
* @var ObjectManager;
*/
private $objectManager;
protected function setUp(): void
{
$this->objectManager = $this->getObjectManager();
parent::setUp();
}
/**
* @magentoDbIsolation enabled
* @magentoDataFixture Magento/Review/_files/config.php
* @dataProvider getCorrectFlagDataProvider
*/
public function testGetCorrectFlag(
$path,
$scope,
$scopeId,
$value,
$expectedResult
) {
/** @var State $appState */
$appState = $this->objectManager->get(State::class);
$appState->setAreaCode(Area::AREA_FRONTEND);
/** @var Value $config */
$config = $this->objectManager->create(Value::class);
$config->setPath($path);
$config->setScope($scope);
$config->setScopeId($scopeId);
$config->setValue($value);
$config->save();
/** @var ReinitableConfig $reinitableConfig */
$reinitableConfig = $this->objectManager->create(ReinitableConfig::class);
$reinitableConfig->reinit();
/** @var \Magento\Review\Block\Form $form */
$form = $this->objectManager->create(\Magento\Review\Block\Form::class);
$result = $form->getAllowWriteReviewFlag();
$this->assertEquals($result, $expectedResult);
}
public function getCorrectFlagDataProvider()
{
return [
[
'path' => 'catalog/review/allow_guest',
'scope' => 'websites',
'scopeId' => '1',
'value' => 0,
'expectedResult' => false,
],
[
'path' => 'catalog/review/allow_guest',
'scope' => 'websites',
'scopeId' => '1',
'value' => 1,
'expectedResult' => true
]
];
}
private function getObjectManager()
{
return \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
}
}