/**
  * @return void
  */
 public function testGetSpecificationContextShouldThrowExceptionWhenSpecificationNotFound()
 {
     $this->expectException(QueryStringException::class);
     $decisionRulePluginMock = $this->createCollectorPluginMock();
     $decisionRulePluginMock->expects($this->once())->method('getFieldName')->willReturn('does not exists');
     $clauseTransfer = new ClauseTransfer();
     $clauseTransfer->setField('sku');
     $decisionRuleProvider = $this->createCollectorProvider($decisionRulePluginMock);
     $decisionRuleProvider->getSpecificationContext($clauseTransfer);
 }
 /**
  * @return void
  */
 public function testCompareWhenComparatorCannotHandleTypeShouldThrowException()
 {
     $this->expectException(ComparatorException::class);
     $equalComparatorMock = $this->createComparatorMock();
     $equalComparatorMock->expects($this->once())->method('accept')->willReturn(true);
     $equalComparatorMock->expects($this->once())->method('getAcceptedTypes')->willReturn([ComparatorOperators::TYPE_NUMBER]);
     $comparatorOperators = $this->createComparatorOperators([$equalComparatorMock]);
     $clauseTransfer = new ClauseTransfer();
     $clauseTransfer->setField('sku');
     $clauseTransfer->setValue('123');
     $clauseTransfer->setOperator('=');
     $clauseTransfer->setAcceptedTypes([ComparatorOperators::TYPE_STRING]);
     $comparatorOperators->compare($clauseTransfer, '123');
 }
 /**
  * @param string $fieldName
  * @param \Generated\Shared\Transfer\ClauseTransfer $clauseTransfer
  *
  * @return void
  */
 protected function setClauseField($fieldName, ClauseTransfer $clauseTransfer)
 {
     if (strpos($fieldName, '.') !== false) {
         list($fieldName, $attribute) = explode('.', $fieldName);
         $clauseTransfer->setAttribute($attribute);
     }
     $clauseTransfer->setField(trim($fieldName));
 }