/** * @expectedException \Magento\Framework\Exception\CouldNotSaveException * @expectedExceptionMessage Invalid data provided for linked products */ public function testSetProductLinksInvalidDataException() { $productSku = 'Simple Product 1'; $linkType = 'related'; $this->productRepositoryMock->expects($this->once())->method('get')->with($productSku)->willReturn($this->productMock); $inputRelatedLink = $this->objectManager->getObject('Magento\\Catalog\\Model\\ProductLink\\Link'); $inputRelatedLink->setProductSku($productSku); $inputRelatedLink->setLinkType($linkType); $inputRelatedLink->setData("sku", "bad sku"); $inputRelatedLink->setData("type_id", "bad type"); $inputRelatedLink->setPosition(0); $links = [$inputRelatedLink]; $linkTypes = ['related' => 1, 'upsell' => 4, 'crosssell' => 5, 'associated' => 3]; $this->linkTypeProviderMock->expects($this->once())->method('getLinkTypes')->willReturn($linkTypes); $this->productMock->expects($this->once())->method('getProductLinks')->willReturn([]); $this->productRepositoryMock->expects($this->once())->method('save')->willThrowException(new \Exception()); $this->model->setProductLinks($productSku, $linkType, $links); }