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(); }
public function test_canAddAlwaysInStock() { $req = new RequiredData(); $req->setSku('foobar'); $req->setQty(0, true); $product1 = new Stock($req); $this->assertEquals(0, $product1->getRequiredData()->getQty()); $this->assertEquals(1, $product1->getRequiredData()->get('is_in_stock')); }