Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php /** * Copyright Magento, Inc. All rights reserved. * See COPYING.txt for license ..
Decoded Output download
<?php
/**
* Copyright Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
declare(strict_types=1);
namespace Magento\Catalog\Test\Unit\Model\Layer\Filter;
use Magento\Catalog\Model\Layer;
use Magento\Catalog\Model\Layer\Filter\DataProvider\Price;
use Magento\Catalog\Model\Layer\Filter\DataProvider\PriceFactory;
use Magento\Catalog\Model\Layer\Filter\Dynamic\AlgorithmFactory;
use Magento\Catalog\Model\Layer\Filter\Dynamic\Auto;
use Magento\Catalog\Model\Layer\Filter\Item;
use Magento\Catalog\Model\Layer\Filter\Item\DataBuilder;
use Magento\Catalog\Model\Layer\Filter\ItemFactory;
use Magento\Catalog\Model\Layer\State;
use Magento\Eav\Model\Entity\Attribute;
use Magento\Framework\App\RequestInterface;
use Magento\Framework\Escaper;
use Magento\Framework\TestFramework\Unit\Helper\ObjectManager as ObjectManagerHelper;
use PHPUnit\Framework\MockObject\MockObject;
use PHPUnit\Framework\TestCase;
/**
* Test for \Magento\Catalog\Model\Layer\Filter\Price
* @SuppressWarnings(PHPMD.UnusedPrivateField)
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
*/
class PriceTest extends TestCase
{
/**
* @var DataBuilder|MockObject
*/
private $itemDataBuilder;
/**
* @var \Magento\Catalog\Model\ResourceModel\Layer\Filter\Price|MockObject
*/
private $resource;
/**
* @var Auto|MockObject
*/
private $algorithm;
/**
* @var Layer|MockObject
*/
private $layer;
/**
* @var Price|MockObject
*/
private $dataProvider;
/**
* @var \Magento\Catalog\Model\Layer\Filter\Price
*/
private $target;
/**
* @var RequestInterface|MockObject
*/
private $request;
/**
* @var ItemFactory|MockObject
*/
private $filterItemFactory;
/**
* @var State|MockObject
*/
private $state;
/**
* @var Attribute|MockObject
*/
private $attribute;
/**
* @inheritDoc
* @SuppressWarnings(PHPMD.ExcessiveMethodLength)
*/
protected function setUp(): void
{
$this->request = $this->getMockBuilder(RequestInterface::class)
->disableOriginalConstructor()
->onlyMethods(['getParam'])
->getMockForAbstractClass();
$dataProviderFactory = $this->getMockBuilder(PriceFactory::class)
->disableOriginalConstructor()
->onlyMethods(['create'])
->getMock();
$this->dataProvider = $this->getMockBuilder(Price::class)
->disableOriginalConstructor()
->onlyMethods(['getResource'])
->addMethods(['setPriceId', 'getPrice'])
->getMock();
$this->resource = $this->getMockBuilder(\Magento\Catalog\Model\ResourceModel\Layer\Filter\Price::class)
->disableOriginalConstructor()
->onlyMethods(['applyPriceRange'])
->getMock();
$this->dataProvider->expects($this->any())
->method('getResource')
->willReturn($this->resource);
$dataProviderFactory->expects($this->once())
->method('create')
->willReturn($this->dataProvider);
$this->layer = $this->getMockBuilder(Layer::class)
->disableOriginalConstructor()
->onlyMethods(['getState'])
->getMock();
$this->state = $this->getMockBuilder(State::class)
->disableOriginalConstructor()
->onlyMethods(['addFilter'])
->getMock();
$this->layer->expects($this->any())
->method('getState')
->willReturn($this->state);
$this->itemDataBuilder = $this->getMockBuilder(DataBuilder::class)
->disableOriginalConstructor()
->onlyMethods(['addItemData', 'build'])
->getMock();
$this->filterItemFactory = $this->getMockBuilder(ItemFactory::class)
->disableOriginalConstructor()
->onlyMethods(['create'])
->getMock();
$filterItem = $this->getMockBuilder(Item::class)
->disableOriginalConstructor()
->addMethods(['setFilter', 'setLabel', 'setValue', 'setCount'])
->getMock();
$filterItem->expects($this->any())
->method($this->anything())->willReturnSelf();
$this->filterItemFactory->expects($this->any())
->method('create')
->willReturn($filterItem);
$escaper = $this->getMockBuilder(Escaper::class)
->disableOriginalConstructor()
->onlyMethods(['escapeHtml'])
->getMock();
$escaper->expects($this->any())
->method('escapeHtml')
->willReturnArgument(0);
$this->attribute = $this->getMockBuilder(Attribute::class)
->disableOriginalConstructor()
->onlyMethods(['getAttributeCode', 'getFrontend'])
->addMethods(['getIsFilterable'])
->getMock();
$algorithmFactory = $this->getMockBuilder(AlgorithmFactory::class)
->disableOriginalConstructor()
->onlyMethods(['create'])
->getMock();
$this->algorithm = $this->getMockBuilder(Auto::class)
->disableOriginalConstructor()
->onlyMethods(['getItemsData'])
->getMock();
$algorithmFactory->expects($this->any())
->method('create')
->willReturn($this->algorithm);
$objectManagerHelper = new ObjectManagerHelper($this);
$this->target = $objectManagerHelper->getObject(
\Magento\Catalog\Model\Layer\Filter\Price::class,
[
'dataProviderFactory' => $dataProviderFactory,
'layer' => $this->layer,
'itemDataBuilder' => $this->itemDataBuilder,
'filterItemFactory' => $this->filterItemFactory,
'escaper' => $escaper,
'algorithmFactory' => $algorithmFactory
]
);
}
/**
* @param $requestValue
* @param $idValue
*
* @return void
* @dataProvider applyWithEmptyRequestDataProvider
*/
public function testApplyWithEmptyRequest($requestValue, $idValue): void
{
$requestField = 'test_request_var';
$idField = 'id';
$this->target->setRequestVar($requestField);
$this->request
->method('getParam')
->with($requestField)
->willReturnCallback(
function ($field) use ($requestField, $idField, $requestValue, $idValue) {
switch ($field) {
case $requestField:
return $requestValue;
case $idField:
return $idValue;
}
}
);
$result = $this->target->apply($this->request);
$this->assertSame($this->target, $result);
}
/**
* @return array
*/
public function applyWithEmptyRequestDataProvider(): array
{
return [
[
'requestValue' => null,
'id' => 0
],
[
'requestValue' => 0,
'id' => false
],
[
'requestValue' => 0,
'id' => null
]
];
}
/**
* @return void
*/
public function testApply(): void
{
$priceId = '15-50';
$requestVar = 'test_request_var';
$this->target->setRequestVar($requestVar);
$this->request->expects($this->exactly(1))
->method('getParam')
->willReturnCallback(
function ($field) use ($requestVar, $priceId) {
$this->assertContains($field, [$requestVar, 'id']);
return $priceId;
}
);
$this->target->apply($this->request);
}
/**
* @return void
*/
public function testGetItems(): void
{
$this->target->setAttributeModel($this->attribute);
$attributeCode = 'attributeCode';
$this->attribute->expects($this->any())
->method('getAttributeCode')
->willReturn($attributeCode);
$this->algorithm->expects($this->any())
->method('getItemsData')
->willReturn([]);
$this->target->getItems();
}
}
?>
Did this file decode correctly?
Original Code
<?php
/**
* Copyright Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
declare(strict_types=1);
namespace Magento\Catalog\Test\Unit\Model\Layer\Filter;
use Magento\Catalog\Model\Layer;
use Magento\Catalog\Model\Layer\Filter\DataProvider\Price;
use Magento\Catalog\Model\Layer\Filter\DataProvider\PriceFactory;
use Magento\Catalog\Model\Layer\Filter\Dynamic\AlgorithmFactory;
use Magento\Catalog\Model\Layer\Filter\Dynamic\Auto;
use Magento\Catalog\Model\Layer\Filter\Item;
use Magento\Catalog\Model\Layer\Filter\Item\DataBuilder;
use Magento\Catalog\Model\Layer\Filter\ItemFactory;
use Magento\Catalog\Model\Layer\State;
use Magento\Eav\Model\Entity\Attribute;
use Magento\Framework\App\RequestInterface;
use Magento\Framework\Escaper;
use Magento\Framework\TestFramework\Unit\Helper\ObjectManager as ObjectManagerHelper;
use PHPUnit\Framework\MockObject\MockObject;
use PHPUnit\Framework\TestCase;
/**
* Test for \Magento\Catalog\Model\Layer\Filter\Price
* @SuppressWarnings(PHPMD.UnusedPrivateField)
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
*/
class PriceTest extends TestCase
{
/**
* @var DataBuilder|MockObject
*/
private $itemDataBuilder;
/**
* @var \Magento\Catalog\Model\ResourceModel\Layer\Filter\Price|MockObject
*/
private $resource;
/**
* @var Auto|MockObject
*/
private $algorithm;
/**
* @var Layer|MockObject
*/
private $layer;
/**
* @var Price|MockObject
*/
private $dataProvider;
/**
* @var \Magento\Catalog\Model\Layer\Filter\Price
*/
private $target;
/**
* @var RequestInterface|MockObject
*/
private $request;
/**
* @var ItemFactory|MockObject
*/
private $filterItemFactory;
/**
* @var State|MockObject
*/
private $state;
/**
* @var Attribute|MockObject
*/
private $attribute;
/**
* @inheritDoc
* @SuppressWarnings(PHPMD.ExcessiveMethodLength)
*/
protected function setUp(): void
{
$this->request = $this->getMockBuilder(RequestInterface::class)
->disableOriginalConstructor()
->onlyMethods(['getParam'])
->getMockForAbstractClass();
$dataProviderFactory = $this->getMockBuilder(PriceFactory::class)
->disableOriginalConstructor()
->onlyMethods(['create'])
->getMock();
$this->dataProvider = $this->getMockBuilder(Price::class)
->disableOriginalConstructor()
->onlyMethods(['getResource'])
->addMethods(['setPriceId', 'getPrice'])
->getMock();
$this->resource = $this->getMockBuilder(\Magento\Catalog\Model\ResourceModel\Layer\Filter\Price::class)
->disableOriginalConstructor()
->onlyMethods(['applyPriceRange'])
->getMock();
$this->dataProvider->expects($this->any())
->method('getResource')
->willReturn($this->resource);
$dataProviderFactory->expects($this->once())
->method('create')
->willReturn($this->dataProvider);
$this->layer = $this->getMockBuilder(Layer::class)
->disableOriginalConstructor()
->onlyMethods(['getState'])
->getMock();
$this->state = $this->getMockBuilder(State::class)
->disableOriginalConstructor()
->onlyMethods(['addFilter'])
->getMock();
$this->layer->expects($this->any())
->method('getState')
->willReturn($this->state);
$this->itemDataBuilder = $this->getMockBuilder(DataBuilder::class)
->disableOriginalConstructor()
->onlyMethods(['addItemData', 'build'])
->getMock();
$this->filterItemFactory = $this->getMockBuilder(ItemFactory::class)
->disableOriginalConstructor()
->onlyMethods(['create'])
->getMock();
$filterItem = $this->getMockBuilder(Item::class)
->disableOriginalConstructor()
->addMethods(['setFilter', 'setLabel', 'setValue', 'setCount'])
->getMock();
$filterItem->expects($this->any())
->method($this->anything())->willReturnSelf();
$this->filterItemFactory->expects($this->any())
->method('create')
->willReturn($filterItem);
$escaper = $this->getMockBuilder(Escaper::class)
->disableOriginalConstructor()
->onlyMethods(['escapeHtml'])
->getMock();
$escaper->expects($this->any())
->method('escapeHtml')
->willReturnArgument(0);
$this->attribute = $this->getMockBuilder(Attribute::class)
->disableOriginalConstructor()
->onlyMethods(['getAttributeCode', 'getFrontend'])
->addMethods(['getIsFilterable'])
->getMock();
$algorithmFactory = $this->getMockBuilder(AlgorithmFactory::class)
->disableOriginalConstructor()
->onlyMethods(['create'])
->getMock();
$this->algorithm = $this->getMockBuilder(Auto::class)
->disableOriginalConstructor()
->onlyMethods(['getItemsData'])
->getMock();
$algorithmFactory->expects($this->any())
->method('create')
->willReturn($this->algorithm);
$objectManagerHelper = new ObjectManagerHelper($this);
$this->target = $objectManagerHelper->getObject(
\Magento\Catalog\Model\Layer\Filter\Price::class,
[
'dataProviderFactory' => $dataProviderFactory,
'layer' => $this->layer,
'itemDataBuilder' => $this->itemDataBuilder,
'filterItemFactory' => $this->filterItemFactory,
'escaper' => $escaper,
'algorithmFactory' => $algorithmFactory
]
);
}
/**
* @param $requestValue
* @param $idValue
*
* @return void
* @dataProvider applyWithEmptyRequestDataProvider
*/
public function testApplyWithEmptyRequest($requestValue, $idValue): void
{
$requestField = 'test_request_var';
$idField = 'id';
$this->target->setRequestVar($requestField);
$this->request
->method('getParam')
->with($requestField)
->willReturnCallback(
function ($field) use ($requestField, $idField, $requestValue, $idValue) {
switch ($field) {
case $requestField:
return $requestValue;
case $idField:
return $idValue;
}
}
);
$result = $this->target->apply($this->request);
$this->assertSame($this->target, $result);
}
/**
* @return array
*/
public function applyWithEmptyRequestDataProvider(): array
{
return [
[
'requestValue' => null,
'id' => 0
],
[
'requestValue' => 0,
'id' => false
],
[
'requestValue' => 0,
'id' => null
]
];
}
/**
* @return void
*/
public function testApply(): void
{
$priceId = '15-50';
$requestVar = 'test_request_var';
$this->target->setRequestVar($requestVar);
$this->request->expects($this->exactly(1))
->method('getParam')
->willReturnCallback(
function ($field) use ($requestVar, $priceId) {
$this->assertContains($field, [$requestVar, 'id']);
return $priceId;
}
);
$this->target->apply($this->request);
}
/**
* @return void
*/
public function testGetItems(): void
{
$this->target->setAttributeModel($this->attribute);
$attributeCode = 'attributeCode';
$this->attribute->expects($this->any())
->method('getAttributeCode')
->willReturn($attributeCode);
$this->algorithm->expects($this->any())
->method('getItemsData')
->willReturn([]);
$this->target->getItems();
}
}
Function Calls
None |
Stats
MD5 | 11babb3e5a60764edd73dd2eac53b1b3 |
Eval Count | 0 |
Decode Time | 113 ms |