/** * @expectedException \Magento\Framework\Model\Exception * @expectedExceptionMessage Please specify the product's option(s). */ public function testCheckProductBuyStateException() { $productMock = $this->getMockBuilder('\\Magento\\Catalog\\Model\\Product')->setMethods(['__wakeup', 'getCustomOption', 'getSkipCheckRequiredOption'])->disableOriginalConstructor()->getMock(); $optionMock = $this->getMockBuilder('\\Magento\\Quote\\Model\\Quote\\Item\\Option')->setMethods(['getValue'])->disableOriginalConstructor()->getMock(); $productMock->expects($this->once())->method('getSkipCheckRequiredOption')->willReturn(true); $productMock->expects($this->once())->method('getCustomOption')->with('info_buyRequest')->willReturn($optionMock); $optionMock->expects($this->once())->method('getValue')->willReturn(serialize([])); $this->_model->checkProductBuyState($productMock); }