/** * @return \PHPUnit_Framework_MockObject_MockObject */ protected function getCriteriaBuilder() { $criteriaBuilder = $this->getMockBuilder('Magento\\Framework\\Api\\Search\\SearchCriteriaBuilder')->setMethods(['addFilter', 'create', 'setRequestName'])->disableOriginalConstructor()->getMock(); $this->filter = new \Magento\Framework\Api\Filter(); $this->filter->setField('price_dynamic_algorithm'); $this->filter->setValue(1); $criteriaBuilder->expects($this->once())->method('addFilter')->with($this->filter); $criteria = $this->getMock('Magento\\Framework\\Api\\Search\\SearchCriteria', [], [], '', false); $criteriaBuilder->expects($this->once())->method('create')->willReturn($criteria); $criteria->expects($this->once())->method('setRequestName')->withConsecutive(['catalog_view_container'])->willThrowException(new \Exception('setRequestName', 333)); return $criteriaBuilder; }
/** * {@inheritdoc} */ public function addFilter(\Magento\Framework\Api\Filter $filter) { $field = $filter->getField(); if (in_array($field, ['review_id', 'created_at', 'status_id'])) { $filter->setField('rt.' . $field); } if (in_array($field, ['title', 'nickname', 'detail'])) { $filter->setField('rdt.' . $field); } if ($field === 'review_created_at') { $filter->setField('rt.created_at'); } parent::addFilter($filter); }