/**
  * @covers \Magento\Eav\Model\Entity\Attribute\Source\Boolean::addValueSortToCollection
  *
  * @dataProvider addValueSortToCollectionDataProvider
  * @param string $direction
  * @param bool $isScopeGlobal
  * @param array $expectedJoinCondition
  * @param string $expectedOrder
  */
 public function testAddValueSortToCollection($direction, $isScopeGlobal, $expectedJoinCondition, $expectedOrder)
 {
     $attributeMock = $this->getAttributeMock();
     $attributeMock->expects($this->any())->method('isScopeGlobal')->will($this->returnValue($isScopeGlobal));
     $selectMock = $this->getMock('\\Magento\\Framework\\DB\\Select', [], [], '', false);
     $collectionMock = $this->getCollectionMock();
     $collectionMock->expects($this->any())->method('getSelect')->will($this->returnValue($selectMock));
     foreach ($expectedJoinCondition as $step => $data) {
         $selectMock->expects($this->at($step))->method('joinLeft')->with($data['requisites'], $data['condition'], [])->will($this->returnSelf());
     }
     $selectMock->expects($this->once())->method('order')->with($expectedOrder);
     $this->_model->setAttribute($attributeMock);
     $this->_model->addValueSortToCollection($collectionMock, $direction);
 }
Beispiel #2
0
 /**
  * @covers \Magento\Eav\Model\Entity\Attribute\Source\Boolean::addValueSortToCollection
  *
  * @dataProvider addValueSortToCollectionDataProvider
  * @param string $direction
  * @param bool $isScopeGlobal
  * @param array $expectedJoinCondition
  * @param string $expectedOrder
  */
 public function testAddValueSortToCollection($direction, $isScopeGlobal, $expectedJoinCondition, $expectedOrder)
 {
     $attributeMock = $this->getAttributeMock();
     $attributeMock->expects($this->any())->method('isScopeGlobal')->will($this->returnValue($isScopeGlobal));
     $entity = $this->getMockBuilder(AbstractEntity::class)->disableOriginalConstructor()->setMethods(['getLinkField'])->getMockForAbstractClass();
     $entity->expects($this->once())->method('getLinkField')->willReturn('entity_id');
     $attributeMock->expects($this->once())->method('getEntity')->willReturn($entity);
     $selectMock = $this->getMock('\\Magento\\Framework\\DB\\Select', [], [], '', false);
     $collectionMock = $this->getCollectionMock();
     $collectionMock->expects($this->any())->method('getSelect')->will($this->returnValue($selectMock));
     foreach ($expectedJoinCondition as $step => $data) {
         $selectMock->expects($this->at($step))->method('joinLeft')->with($data['requisites'], $data['condition'], [])->will($this->returnSelf());
     }
     $selectMock->expects($this->once())->method('order')->with($expectedOrder);
     $this->_model->setAttribute($attributeMock);
     $this->_model->addValueSortToCollection($collectionMock, $direction);
 }