![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/dev/tests/integration/testsuite/Magento/Eav/Model/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Eav\Model; use Magento\Eav\Api\AttributeRepositoryInterface; use Magento\Framework\Api\FilterBuilder; use Magento\Framework\Api\SearchCriteriaBuilder; use Magento\Framework\Api\SortOrder; use Magento\Framework\Api\SortOrderBuilder; use Magento\TestFramework\Helper\Bootstrap; class AttributeRepositoryTest extends \PHPUnit\Framework\TestCase { /** * @var AttributeRepositoryInterface */ private $repository; protected function setUp(): void { $this->repository = Bootstrap::getObjectManager()->create(AttributeRepositoryInterface::class); } /** * @magentoDataFixture Magento/Eav/_files/attribute_for_search.php */ public function testGetList() { /** @var FilterBuilder $filterBuilder */ $filterBuilder = Bootstrap::getObjectManager()->create(FilterBuilder::class); $filter1 = $filterBuilder->setField('backend_type') ->setValue('varchar') ->create(); $filter2 = $filterBuilder->setField('is_user_defined') ->setValue(true) ->create(); $filter3 = $filterBuilder->setField('is_required') ->setValue(true) ->create(); /** @var SearchCriteriaBuilder $searchCriteriaBuilder */ $searchCriteriaBuilder = Bootstrap::getObjectManager()->create(SearchCriteriaBuilder::class); $searchCriteriaBuilder->addFilters([$filter1, $filter2]); $searchCriteriaBuilder->addFilters([$filter3]); /** @var SortOrderBuilder $sortOrderBuilder */ $sortOrderBuilder = Bootstrap::getObjectManager()->create(SortOrderBuilder::class); /** @var SortOrder $sortOrder */ $sortOrder = $sortOrderBuilder->setField('attribute_code') ->setDirection(SortOrder::SORT_ASC) ->create(); $searchCriteriaBuilder->setSortOrders([$sortOrder]); $searchCriteriaBuilder->setPageSize(2); $searchCriteriaBuilder->setCurrentPage(2); $searchCriteria = $searchCriteriaBuilder->create(); $searchResult = $this->repository->getList('test', $searchCriteria); $this->assertEquals(3, $searchResult->getTotalCount()); $items = array_values($searchResult->getItems()); $this->assertCount(1, $items); $this->assertEquals('attribute_for_search_3', $items[0]['attribute_code']); } }