Пример #1
0
 /**
  * Retrieve all tax rates as an options array.
  *
  * @return array
  */
 public function toOptionArray()
 {
     if (!$this->options) {
         $searchCriteria = $this->searchCriteriaBuilder->create();
         $searchResults = $this->taxRateRepository->getList($searchCriteria);
         $this->options = $this->converter->toOptionArray($searchResults->getItems(), Rate::KEY_ID, Rate::KEY_CODE);
     }
     return $this->options;
 }
 /**
  * {@inheritdoc}
  */
 public function loadData($printQuery = false, $logQuery = false)
 {
     if (!$this->isLoaded()) {
         $searchCriteria = $this->getSearchCriteria();
         $searchResults = $this->taxRateRepository->getList($searchCriteria);
         $this->_totalRecords = $searchResults->getTotalCount();
         foreach ($searchResults->getItems() as $taxRate) {
             $this->_addItem($this->createTaxRateCollectionItem($taxRate));
         }
         $this->_setIsLoaded();
     }
     return $this;
 }
 /**
  *
  * @param \Magento\Framework\Api\Filter[] $filters
  * @param \Magento\Framework\Api\Filter[] $filterGroup
  * @param $expectedRateCodes
  *
  * @magentoDbIsolation enabled
  * @dataProvider searchTaxRatesDataProvider
  * @SuppressWarnings(PHPMD.UnusedLocalVariable)
  */
 public function testGetList($filters, $filterGroup, $expectedRateCodes)
 {
     $taxRates = $this->taxRateFixtureFactory->createTaxRates([['percentage' => 7.5, 'country' => 'US', 'region' => '42'], ['percentage' => 7.5, 'country' => 'US', 'region' => '12'], ['percentage' => 22.0, 'country' => 'US', 'region' => '42'], ['percentage' => 10.0, 'country' => 'US', 'region' => '12']]);
     /** @var \Magento\Framework\Api\SearchCriteriaBuilder $searchBuilder */
     $searchBuilder = Bootstrap::getObjectManager()->create('Magento\\Framework\\Api\\SearchCriteriaBuilder');
     foreach ($filters as $filter) {
         $searchBuilder->addFilters([$filter]);
     }
     if ($filterGroup !== null) {
         $searchBuilder->addFilters($filterGroup);
     }
     $searchCriteria = $searchBuilder->create();
     $searchResults = $this->rateRepository->getList($searchCriteria);
     $this->assertEquals($searchCriteria, $searchResults->getSearchCriteria());
     $this->assertEquals(count($expectedRateCodes), $searchResults->getTotalCount());
     foreach ($searchResults->getItems() as $rate) {
         $this->assertContains($rate->getCode(), $expectedRateCodes);
     }
 }