/** * @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)); }