62 $this->stockStatusMock = $this->getMockBuilder(\
Magento\CatalogInventory\Model\Stock\Status::class)
63 ->disableOriginalConstructor()
65 $this->stockStatusResourceMock =
67 ->disableOriginalConstructor()
69 $this->stockStatusFactoryMock = $this->getMockBuilder(
70 \
Magento\CatalogInventory\Model\Stock\StatusFactory::class
72 ->setMethods([
'create'])
73 ->disableOriginalConstructor()
75 $this->stockStatusCollectionMock = $this->getMockBuilder(
76 \
Magento\CatalogInventory\Api\Data\StockStatusCollectionInterfaceFactory::class
78 ->setMethods([
'create'])
79 ->disableOriginalConstructor()
81 $this->queryBuilderFactoryMock = $this->getMockBuilder(\
Magento\Framework\DB\QueryBuilderFactory::class)
82 ->setMethods([
'create'])
83 ->disableOriginalConstructor()
85 $this->mapperMock = $this->getMockBuilder(\
Magento\Framework\DB\MapperFactory::class)
86 ->disableOriginalConstructor()
88 $this->stockRegistryStorage = $this->getMockBuilder(StockRegistryStorage::class)
89 ->disableOriginalConstructor()
93 StockStatusRepository::class,
95 'resource' => $this->stockStatusResourceMock,
96 'stockStatusFactory' => $this->stockStatusFactoryMock,
97 'collectionFactory' => $this->stockStatusCollectionMock,
98 'queryBuilderFactory' => $this->queryBuilderFactoryMock,
99 'mapperFactory' => $this->mapperMock,
100 'stockRegistryStorage' => $this->stockRegistryStorage,
107 $this->stockStatusResourceMock->expects($this->once())
109 ->with($this->stockStatusMock)
112 $this->assertEquals($this->stockStatusMock, $this->model->save($this->stockStatusMock));
120 $this->stockStatusResourceMock->expects($this->once())
122 ->with($this->stockStatusMock)
123 ->willThrowException(
new \Exception());
125 $this->model->save($this->stockStatusMock);
130 $criteriaMock = $this->getMockBuilder(\
Magento\CatalogInventory\Api\StockStatusCriteriaInterface::class)
132 $queryBuilderMock = $this->getMockBuilder(\
Magento\Framework\DB\QueryBuilder::class)
133 ->disableOriginalConstructor()
134 ->setMethods([
'setCriteria',
'setResource',
'create'])
136 $queryMock = $this->getMockBuilder(\
Magento\Framework\DB\QueryInterface::class)
138 $queryCollectionMock = $this->getMockBuilder(
139 \
Magento\CatalogInventory\Api\Data\StockStatusCollectionInterface::class
142 $this->queryBuilderFactoryMock->expects($this->once())->method(
'create')->willReturn($queryBuilderMock);
143 $queryBuilderMock->expects($this->once())->method(
'setCriteria')->with($criteriaMock)->willReturnSelf();
144 $queryBuilderMock->expects($this->once())
145 ->method(
'setResource')
146 ->with($this->stockStatusResourceMock)
148 $queryBuilderMock->expects($this->once())->method(
'create')->willReturn($queryMock);
149 $this->stockStatusCollectionMock->expects($this->once())->method(
'create')->willReturn($queryCollectionMock);
151 $this->assertEquals($queryCollectionMock, $this->model->getList($criteriaMock));
157 $this->stockStatusMock->expects($this->atLeastOnce())->method(
'getProductId')->willReturn(
$productId);
158 $this->stockRegistryStorage->expects($this->once())->method(
'removeStockStatus')->with(
$productId);
160 $this->stockStatusResourceMock->expects($this->once())
162 ->with($this->stockStatusMock)
165 $this->assertTrue($this->model->delete($this->stockStatusMock));
173 $this->stockStatusResourceMock->expects($this->once())
175 ->with($this->stockStatusMock)
176 ->willThrowException(
new \Exception());
178 $this->model->delete($this->stockStatusMock);
185 $this->stockStatusFactoryMock->expects($this->once())->method(
'create')->willReturn($this->stockStatusMock);
186 $this->stockStatusResourceMock->expects($this->once())->method(
'load')->with($this->stockStatusMock,
$id);
188 $this->assertTrue($this->model->deleteById(
$id));
198 $this->stockStatusFactoryMock->expects($this->once())->method(
'create')->willReturn($this->stockStatusMock);
199 $this->stockStatusResourceMock->expects($this->once())->method(
'load')->with($this->stockStatusMock,
$id);
200 $this->stockStatusResourceMock->expects($this->once())
202 ->with($this->stockStatusMock)
203 ->willThrowException(
new \Exception());
205 $this->assertTrue($this->model->deleteById(
$id));
$stockStatusCollectionMock
testDeleteByIdException()