Exemplo 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();
 }
Exemplo n.º 2
0
 public function test_CanTestForMissingFields()
 {
     $this->setExpectedException('Datapump\\Exception\\MissingProductData');
     $requiredData = new RequiredData();
     $requiredData->setSku('sku');
     $product = new Simple($requiredData);
     $this->productholder->addProduct($product);
 }
Exemplo n.º 3
0
 public function __construct()
 {
     parent::__construct();
     $this->simpleRequiredData = new RequiredData();
     $this->simpleRequiredData->setSku('sku')->setName('name')->setPrice(100)->setQty(100)->setShortDescription('short description')->setDescription('long description')->setTax(1)->setWeight(100);
     $this->configRequiredData = new RequiredData();
     $this->configRequiredData->setSku('sku')->setName('name')->setShortDescription('short description')->setDescription('long description');
 }
Exemplo n.º 4
0
 /**
  * Our configurable product
  *
  * @param RequiredData $data
  * @param string|array $configurableAttribute : The attribute we should look for on the simple products
  */
 public function __construct(RequiredData $data, $configurableAttribute)
 {
     if (!is_array($configurableAttribute)) {
         $configurableAttribute = array($configurableAttribute);
     }
     $data->set(self::CONFIG_ATTR_KEY, $configurableAttribute);
     parent::__construct($data);
 }
Exemplo n.º 5
0
 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'));
 }
Exemplo n.º 6
0
 public function test_SimpleProductHasKey()
 {
     $product = new Configurable($this->configRequiredData, 'color');
     $simpleproduct1 = new Simple(clone $this->simpleRequiredData->setSku('sku'));
     $simpleproduct1->set('color', 'blue');
     $product->addSimpleProduct($simpleproduct1);
     $this->assertEquals(1, $product->countSimpleProducts());
     $this->assertEquals('sku', $simpleproduct1->get('sku'));
     $simpleproduct2 = new Simple(clone $this->simpleRequiredData->setSku('sku2'));
     $simpleproduct2->set('color', 'green');
     $product->addSimpleProduct($simpleproduct2);
     $this->assertEquals(2, $product->countSimpleProducts());
     $this->assertEquals('sku', $simpleproduct1->get('sku'));
 }
Exemplo n.º 7
0
 public function test_canDebug()
 {
     $holder = new ItemHolder(self::getLogger());
     $product1 = new Simple(clone $this->requiredData->setSku('sku-1'));
     $product2 = new Simple(clone $this->requiredData->setSku('sku-2'));
     $product3 = new Simple(clone $this->requiredData->setSku('sku-3'));
     $holder->addProduct(array($product1, $product2, $product3));
     $debug = $holder->import(true);
     $this->assertTrue(is_array($debug));
 }
Exemplo n.º 8
0
 /**
  * Before import runner
  * @return $this
  */
 public function import()
 {
     $this->beforeImport();
     $this->data = array_merge($this->data, $this->requiredData->getData());
     return $this;
 }
Exemplo n.º 9
0
 public function test_canMakeImageProduct()
 {
     $req = new RequiredData();
     $req->setType(RequiredData::TYPE_SIMPLE)->setSku('foobar');
     $product = new Imageproduct($req);
 }