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