public function testStatusAfterLoad()
 {
     $this->resource->expects($this->once())->method('load')->with($this->model, 1, null);
     $this->eventManagerMock->expects($this->exactly(4))->method('dispatch');
     $this->model->load(1);
     $this->assertEquals(Status::STATUS_ENABLED, $this->model->getData(\Magento\Catalog\Model\Product::STATUS));
     $this->assertFalse($this->model->hasDataChanges());
     $this->model->setStatus(Status::STATUS_DISABLED);
     $this->assertTrue($this->model->hasDataChanges());
 }
 /**
  * @covers \Magento\Catalog\Model\Product::isSalable
  * @covers \Magento\Catalog\Model\Product::isSaleable
  * @covers \Magento\Catalog\Model\Product::isAvailable
  * @covers \Magento\Catalog\Model\Product::isInStock
  */
 public function testIsSalable()
 {
     $this->_model->load(1);
     // fixture
     $this->assertTrue((bool) $this->_model->isSalable());
     $this->assertTrue((bool) $this->_model->isSaleable());
     $this->assertTrue((bool) $this->_model->isAvailable());
     $this->assertTrue($this->_model->isInStock());
     $this->_model->setStatus(0);
     $this->assertFalse((bool) $this->_model->isSalable());
     $this->assertFalse((bool) $this->_model->isSaleable());
     $this->assertFalse((bool) $this->_model->isAvailable());
     $this->assertFalse($this->_model->isInStock());
 }
Example #3
0
 /**
  * @covers \Magento\Catalog\Model\Product::isSalable
  * @covers \Magento\Catalog\Model\Product::isSaleable
  * @covers \Magento\Catalog\Model\Product::isAvailable
  * @covers \Magento\Catalog\Model\Product::isInStock
  */
 public function testIsSalable()
 {
     $this->_model = $this->productRepository->get('simple');
     // fixture
     $this->assertTrue((bool) $this->_model->isSalable());
     $this->assertTrue((bool) $this->_model->isSaleable());
     $this->assertTrue((bool) $this->_model->isAvailable());
     $this->assertTrue($this->_model->isInStock());
     $this->_model->setStatus(0);
     $this->assertFalse((bool) $this->_model->isSalable());
     $this->assertFalse((bool) $this->_model->isSaleable());
     $this->assertFalse((bool) $this->_model->isAvailable());
     $this->assertFalse($this->_model->isInStock());
 }
 public function testGetAttributeText()
 {
     $this->assertNull($this->_model->getAttributeText('status'));
     $this->_model->setStatus(\Magento\Catalog\Model\Product\Attribute\Source\Status::STATUS_ENABLED);
     $this->assertEquals('Enabled', $this->_model->getAttributeText('status'));
 }
Example #5
0
 public function testIsInStock()
 {
     $this->model->setStatus(\Magento\Catalog\Model\Product\Attribute\Source\Status::STATUS_ENABLED);
     $this->assertTrue($this->model->isInStock());
 }
 /**
  * {@inheritdoc}
  */
 public function setStatus($status)
 {
     $pluginInfo = $this->pluginList->getNext($this->subjectType, 'setStatus');
     if (!$pluginInfo) {
         return parent::setStatus($status);
     } else {
         return $this->___callPlugins('setStatus', func_get_args(), $pluginInfo);
     }
 }