26 private $priceProcessorMock;
31 private $resultRedirectMock;
41 private $productBuilderMock;
46 private $abstractDbMock;
53 protected function setUp()
55 $this->priceProcessorMock = $this->getMockBuilder(Processor::class)
56 ->disableOriginalConstructor()->getMock();
57 $this->productBuilderMock = $this->getMockBuilder(Builder::class)
58 ->setMethods([
'build'])
59 ->disableOriginalConstructor()
62 $productMock = $this->getMockBuilder(\
Magento\Catalog\Model\Product::class)
63 ->disableOriginalConstructor()
64 ->setMethods([
'getTypeId',
'getStoreId',
'__sleep',
'__wakeup'])
66 $productMock->expects($this->any())
68 ->willReturn(
'simple');
69 $productMock->expects($this->any())
70 ->method(
'getStoreId')
72 $this->productBuilderMock->expects($this->any())
74 ->willReturn($productMock);
76 $this->resultRedirectMock = $this->getMockBuilder(\
Magento\Backend\Model\
View\Result\Redirect::class)
77 ->disableOriginalConstructor()
79 $resultFactory = $this->getMockBuilder(\
Magento\Framework\Controller\ResultFactory::class)
80 ->disableOriginalConstructor()
81 ->setMethods([
'create'])
83 $resultFactory->expects($this->atLeastOnce())
86 ->willReturn($this->resultRedirectMock);
88 $this->abstractDbMock = $this->getMockBuilder(AbstractDb::class)
89 ->disableOriginalConstructor()
90 ->setMethods([
'getAllIds',
'getResource'])
92 $this->filterMock = $this->getMockBuilder(\
Magento\Ui\Component\MassAction\Filter::class)
93 ->disableOriginalConstructor()
94 ->setMethods([
'getCollection'])
96 $this->actionMock = $this->getMockBuilder(Action::class)
97 ->disableOriginalConstructor()
100 $collectionFactoryMock =
102 ->disableOriginalConstructor()
103 ->setMethods([
'create'])
105 $collectionFactoryMock->expects($this->any())
107 ->willReturn($this->abstractDbMock);
109 $additionalParams = [
110 'resultFactory' => $resultFactory
115 $this->action = new \Magento\Catalog\Controller\Adminhtml\Product\MassStatus(
117 $this->productBuilderMock,
118 $this->priceProcessorMock,
120 $collectionFactoryMock
127 $status = \Magento\Catalog\Model\Product\Attribute\Source\Status::STATUS_DISABLED;
132 $this->filterMock->expects($this->once())
133 ->method(
'getCollection')
134 ->willReturn($this->abstractDbMock);
135 $this->abstractDbMock->expects($this->once())
136 ->method(
'getAllIds')
138 $this->request->expects($this->exactly(3))
145 $this->actionMock->expects($this->once())
146 ->method(
'updateAttributes')
147 ->with([3], [
'status' =>
$status], 2);
148 $this->priceProcessorMock->expects($this->once())
149 ->method(
'reindexList');
151 $this->action->execute();
initContext(array $additionalParams=[], array $objectManagerMap=[])