Example #1
0
 public function testToArrayFromArray()
 {
     $product = new Product();
     $product->setId('id');
     $product->setSku('zzzz');
     $product->setTitle('Product X');
     $product->setAction('purchase');
     $product->setCategory('Category A');
     $product->setBrand('Brand A');
     $product->setCoupon('COUPONA');
     $product->setList('Search Results A');
     $product->setPrice(50.0);
     $product->setQuantity(1);
     $product->setPosition(1);
     $product->setVariant('Black');
     $toArray = $product->toArray();
     $product2 = new Product();
     $product2->fromArray($toArray);
     $this->assertEquals($product, $product2);
 }
Example #2
0
 /**
  * @param string $action
  *
  * @return array[] AntiMattr\GoogleBundle\Analytics\Product $products
  */
 private function getProductsFromSession($action = '')
 {
     $productArray = $this->get(self::EC_PRODUCTS_KEY . '/' . $action);
     $hydratedProducts = array();
     foreach ($productArray as $value) {
         if (is_object($value)) {
             $hydratedProducts[] = $value;
             continue;
         }
         $product = new Product();
         $product->fromArray($value);
         $hydratedProducts[] = $product;
     }
     return $hydratedProducts;
 }
Example #3
0
 public function testAddGetProducts()
 {
     $product = new Product();
     $product->setSku('zzzz');
     $product->setTitle('Product X');
     $product->setCategory('Category A');
     $product->setBrand('Brand A');
     $product->setCoupon('COUPONA');
     $product->setPrice(50.0);
     $product->setQuantity(1);
     $product->setPosition(1);
     $product->setVariant('Black');
     $this->analytics->addProduct($product);
     $this->assertTrue($this->analytics->hasProduct($product));
     $product = new Product();
     $product->setSku('jjjj');
     $product->setTitle('Product J');
     $product->setCategory('Category B');
     $product->setBrand('Brand B');
     $product->setCoupon('COUPONB');
     $product->setPrice(25.0);
     $product->setQuantity(2);
     $product->setPosition(2);
     $this->analytics->addProduct($product);
     $this->assertTrue($this->analytics->hasProduct($product));
     $this->assertTrue($this->analytics->hasProducts());
     $this->assertEquals(2, count($this->analytics->getProducts()));
 }