Ejemplo n.º 1
0
 public function __construct()
 {
     parent::__construct();
     parent::initializeDatabase();
     $this->itemholder = new ItemHolder(self::getLogger());
     $this->simpleRequiredData = new RequiredData();
     $this->simpleRequiredData->setShortDescription('short description')->setDescription('long description')->setTax(0)->setWeight(100);
     $this->configRequiredData = new RequiredData();
     $this->configRequiredData->setShortDescription('short description')->setDescription('long description');
     $config = new Configurable(clone $this->configRequiredData->setSku('config1')->setName('config1'), 'color');
     $category = new Category();
     $category->set('active-config');
     $category->set('inactive-config', false);
     $category->set('level01/level02/level03');
     $config->injectData($category);
     $config->addSimpleProduct(new Simple(clone $this->simpleRequiredData->setSku('configsimple-sku1')->setName('configsimple-sku1')->setQty(12)->setPrice(120)->set('special_price', 100)->set('color', 'blue')));
     $config->addSimpleProduct(new Simple(clone $this->simpleRequiredData->setSku('configsimple-sku2')->setName('configsimple-sku2')->setQty(24)->setPrice(110)->set('special_price', 80)->set('color', 'green')));
     $this->itemholder->addProduct($config);
     $this->itemholder->addProduct(new Simple(clone $this->simpleRequiredData->setSku('simple-sku1-dontmanagestock')->setQty(null)->setPrice(500)->setName('simple-sku1-dontmanagestock')));
     $this->itemholder->addProduct(new Simple(clone $this->simpleRequiredData->setSku('simple-sku2')->setQty(10)->setPrice(400)->setName('simple-sku2')));
     $this->itemholder->addProduct(new Simple(clone $this->simpleRequiredData->setSku('simple-sku3')->setQty(-10)->setPrice(300)->setName('simple-sku3')));
     $this->itemholder->addProduct(new Simple(clone $this->simpleRequiredData->setSku('simple-sku4')->setQty(0)->setPrice(200)->setName('simple-sku4')));
     $req = new RequiredData();
     $req->setType(RequiredData::TYPE_SIMPLE)->setSku('foobar');
     $this->itemholder->addProduct(new Imageproduct($req));
     $product1 = new Stock(new RequiredData());
     $product1->set('sku', 'stock-sku1')->set('qty', 10);
     $product2 = new Stock(new RequiredData());
     $product2->set('sku', 'stock-sku2')->set('qty', 30);
     $this->itemholder->addProduct($product1)->addProduct($product2);
     $this->itemsInserted = $this->itemholder->countProducts();
 }
Ejemplo n.º 2
0
 public function test_AddConfigurableProductToHolder()
 {
     $product = new Configurable($this->configRequiredData, 'color');
     $simpleproduct1 = new Simple(clone $this->simpleRequiredData);
     $simpleproduct1->set('color', 'blue');
     $product->addSimpleProduct($simpleproduct1);
     $simpleproduct2 = new Simple(clone $this->simpleRequiredData);
     $simpleproduct2->set('sku', 'sku2');
     $simpleproduct2->set('color', 'green');
     $product->addSimpleProduct($simpleproduct2);
     $productholder = new ItemHolder(self::getLogger());
     $productholder->addProduct($simpleproduct1)->addProduct($simpleproduct2);
 }
Ejemplo n.º 3
0
 public function test_canCountProducts()
 {
     $holder = new ItemHolder(self::getLogger());
     $product1 = new Simple(clone $this->requiredData->setSku('sku-1')->set('color', 'blue'));
     $product2 = new Simple(clone $this->requiredData->setSku('sku-2')->set('color', 'red'));
     $product3 = new Simple(clone $this->requiredData->setSku('sku-3'));
     $req = new RequiredData();
     $req->setSku('sku')->setName('name')->setShortDescription('short description')->setDescription('long description');
     $product4 = new Configurable($req, 'color');
     $product4->addSimpleProduct($product1)->addSimpleProduct($product2);
     $holder->addProduct(array($product3, $product4));
     $this->assertEquals(4, $holder->countProducts());
 }