public function test_add_cart_condition_with_condition_attributes()
 {
     $cartCondition1 = new CartCondition(array('name' => 'SALE 5%', 'type' => 'sale', 'target' => 'subtotal', 'value' => '-5%', 'attributes' => array('description' => 'october fest promo sale', 'sale_start_date' => '2015-01-20', 'sale_end_date' => '2015-01-30')));
     $item = array('id' => 456, 'name' => 'Sample Item 1', 'price' => 100, 'quantity' => 1, 'attributes' => array());
     $this->cart->add($item);
     $this->cart->condition([$cartCondition1]);
     // prove first we have now the condition on the cart
     $contition = $this->cart->getCondition("SALE 5%");
     $this->assertEquals('SALE 5%', $contition->getName());
     // when get attribute is called and there is no attributes added,
     // it should return an empty array
     $conditionAttributes = $contition->getAttributes();
     $this->assertInternalType('array', $conditionAttributes);
     $this->assertArrayHasKey('description', $conditionAttributes);
     $this->assertArrayHasKey('sale_start_date', $conditionAttributes);
     $this->assertArrayHasKey('sale_end_date', $conditionAttributes);
     $this->assertEquals('october fest promo sale', $conditionAttributes['description']);
     $this->assertEquals('2015-01-20', $conditionAttributes['sale_start_date']);
     $this->assertEquals('2015-01-30', $conditionAttributes['sale_end_date']);
 }
Esempio n. 2
0
 /**
  * get condition applied on the cart by its name
  *
  * @param $conditionName
  * @return \Darryldecode\Cart\CartCondition 
  * @static 
  */
 public static function getCondition($conditionName)
 {
     return \Darryldecode\Cart\Cart::getCondition($conditionName);
 }