示例#1
0
 /**
  * {@inheritdoc}
  */
 public function isAssignedToObjects()
 {
     $searchCriteria = $this->searchCriteriaBuilder->addFilter([$this->filterBuilder->setField('tax_class_id')->setValue($this->getId())->create()])->create();
     $result = $this->groupService->searchGroups($searchCriteria);
     $items = $result->getItems();
     return !empty($items);
 }
 /**
  * Load customer group collection data from service
  *
  * @param bool $printQuery
  * @param bool $logQuery
  * @return $this
  */
 public function loadData($printQuery = false, $logQuery = false)
 {
     if (!$this->isLoaded()) {
         $searchCriteria = $this->getSearchCriteria();
         $searchResults = $this->groupService->searchGroups($searchCriteria);
         $this->_totalRecords = $searchResults->getTotalCount();
         /** @var CustomerGroup[] $groups */
         $groups = $searchResults->getItems();
         foreach ($groups as $group) {
             $groupItem = new \Magento\Framework\Object();
             $groupItem->addData(\Magento\Framework\Service\DataObjectConverter::toFlatArray($group));
             $this->_addItem($groupItem);
         }
         $this->_setIsLoaded();
     }
     return $this;
 }
 /**
  * @param Filter[] $filters
  * @param Filter[] $filterGroup
  * @param array $expectedResult array of expected results indexed by ID
  *
  * @dataProvider searchGroupsDataProvider
  */
 public function testSearchGroups($filters, $filterGroup, $expectedResult)
 {
     /** @var \Magento\Framework\Service\V1\Data\SearchCriteriaBuilder $searchBuilder */
     $searchBuilder = Bootstrap::getObjectManager()->create('Magento\\Framework\\Service\\V1\\Data\\SearchCriteriaBuilder');
     foreach ($filters as $filter) {
         $searchBuilder->addFilter([$filter]);
     }
     if (!is_null($filterGroup)) {
         $searchBuilder->addFilter($filterGroup);
     }
     $searchResults = $this->_groupService->searchGroups($searchBuilder->create());
     /** @var $item Data\CustomerGroup */
     foreach ($searchResults->getItems() as $item) {
         $this->assertEquals($expectedResult[$item->getId()][CustomerGroup::CODE], $item->getCode());
         $this->assertEquals($expectedResult[$item->getId()][CustomerGroup::TAX_CLASS_ID], $item->getTaxClassId());
         unset($expectedResult[$item->getId()]);
     }
 }