/**
  * @param \Generated\Shared\Transfer\QuoteTransfer $quoteTransfer
  * @param \Generated\Shared\Transfer\ItemTransfer $currentItemTransfer
  * @param \Generated\Shared\Transfer\ClauseTransfer $clauseTransfer
  *
  * @return bool
  */
 public function isSatisfiedBy(QuoteTransfer $quoteTransfer, ItemTransfer $currentItemTransfer, ClauseTransfer $clauseTransfer)
 {
     $currentTime = $this->convertToSeconds($this->getCurrentTime());
     $compareWithTime = $this->convertToSeconds($clauseTransfer->getValue());
     $clauseTransfer->setValue($compareWithTime);
     return $this->comparators->compare($clauseTransfer, $currentTime);
 }
Exemple #2
0
 /**
  * @return void
  */
 public function testCompareWhenClauseValueIsEqualToProvidedProvidedShouldReturnFalse()
 {
     $more = $this->createNotEqual();
     $clauseTransfer = new ClauseTransfer();
     $clauseTransfer->setValue('1');
     $isMatching = $more->compare($clauseTransfer, '1');
     $this->assertFalse($isMatching);
 }
Exemple #3
0
 /**
  * @return void
  */
 public function testCompareWhenValueNotLessThanClauseShouldReturnFalse()
 {
     $less = $this->createLess();
     $clauseTransfer = new ClauseTransfer();
     $clauseTransfer->setValue('1');
     $isMatching = $less->compare($clauseTransfer, '2');
     $this->assertFalse($isMatching);
 }
Exemple #4
0
 /**
  * @return void
  */
 public function testCompareWhenValueNotMatchingClauseShouldReturnFalse()
 {
     $equal = $this->createEqual();
     $clauseTransfer = new ClauseTransfer();
     $clauseTransfer->setValue('2');
     $isMatching = $equal->compare($clauseTransfer, '1');
     $this->assertFalse($isMatching);
 }
 /**
  * @return void
  */
 public function testCompareWhenClauseValueIsEqualShouldReturnTrue()
 {
     $moreEqual = $this->createMoreEqual();
     $clauseTransfer = new ClauseTransfer();
     $clauseTransfer->setValue('1');
     $isMatching = $moreEqual->compare($clauseTransfer, '1');
     $this->assertTrue($isMatching);
 }
Exemple #6
0
 /**
  * @return void
  */
 public function testCompareWhenValueNotExistingInClauseShouldReturnFalse()
 {
     $contains = $this->createContains();
     $clauseTransfer = new ClauseTransfer();
     $clauseTransfer->setValue('zero');
     $isMatching = $contains->compare($clauseTransfer, ' oNe TwO ');
     $this->assertFalse($isMatching);
 }
 /**
  * @return void
  */
 public function testConvertDecimalToCentWhenSingleValueUsedShouldUpdateAllItems()
 {
     $currencyConverterMock = $this->createMoneyValueConverter();
     $clauseTransfer = new ClauseTransfer();
     $clauseTransfer->setValue('10,50');
     $clauseTransfer->setOperator(IsIn::EXPRESSION);
     $currencyConverterMock->convertDecimalToCent($clauseTransfer);
     $this->assertEquals(1050, $clauseTransfer->getValue());
 }
Exemple #8
0
 /**
  * @return void
  */
 public function testCompareWhenValueIsNotInClauseShouldReturnFalse()
 {
     $isIn = $this->createIsIn();
     $clauseTransfer = new ClauseTransfer();
     $list = implode(ComparatorOperators::LIST_DELIMITER, [2, 3]);
     $clauseTransfer->setValue($list);
     $isMatching = $isIn->compare($clauseTransfer, '1');
     $this->assertFalse($isMatching);
 }
 /**
  * @return void
  */
 public function testCompareWhenValueIsNumericZeroProvidedShouldReturnTrue()
 {
     $comparatorOperators = $this->createComparatorOperators([]);
     $clauseTransfer = new ClauseTransfer();
     $clauseTransfer->setValue(ComparatorOperators::MATCH_ALL_IDENTIFIER);
     $isValid = $comparatorOperators->compare($clauseTransfer, 0);
     $this->assertTrue($isValid);
 }
Exemple #10
0
 /**
  * @param string $value
  *
  * @return \Generated\Shared\Transfer\ClauseTransfer
  */
 protected function createClauseTransfer($value)
 {
     $clauseTransfer = new ClauseTransfer();
     $clauseTransfer->setValue($value);
     return $clauseTransfer;
 }
 /**
  * @param \Generated\Shared\Transfer\ClauseTransfer $clauseTransfer
  *
  * @return void
  */
 protected function convertSinglePrice(ClauseTransfer $clauseTransfer)
 {
     $amountInCents = $this->currencyManager->convertDecimalToCent($this->formatValue($clauseTransfer->getValue()));
     $clauseTransfer->setValue($amountInCents);
 }