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