21 private $selectAttributes;
31 private $registryMock;
46 private $urlBuilderMock;
53 $this->contextMock = $this->getMockBuilder(Context::class)
54 ->disableOriginalConstructor()
56 $this->registryMock = $this->getMockBuilder(Registry::class)
58 $this->buttonMock = $this->getMockBuilder(Button::class)
59 ->disableOriginalConstructor()
60 ->setMethods([
'isAllowed',
'getAuthorization',
'toHtml'])
62 $this->layoutMock = $this->getMockBuilder(LayoutInterface::class)
63 ->disableOriginalConstructor()
65 $this->urlBuilderMock = $this->getMockBuilder(UrlInterface::class)
66 ->disableOriginalConstructor()
69 $this->contextMock->expects($this->any())
71 ->willReturn($this->layoutMock);
72 $this->contextMock->expects($this->any())
73 ->method(
'getUrlBuilder')
74 ->willReturn($this->urlBuilderMock);
92 $productMock = $this->getMockBuilder(ProductInterface::class)
93 ->setMethods([
'getStoreId'])
94 ->getMockForAbstractClass();
95 $this->registryMock->expects($this->any())
97 ->with(
'current_product')
98 ->willReturn($productMock);
99 $this->buttonMock->expects($this->any())
103 $this->layoutMock->expects($this->once())
104 ->method(
'createBlock')
105 ->willReturn($this->buttonMock);
106 $this->buttonMock->expects($this->once())
107 ->method(
'getAuthorization')
109 $this->buttonMock->expects($this->once())
110 ->method(
'isAllowed')
111 ->with(
'Magento_Catalog::attributes_attributes')
114 $this->assertEquals(
$result, $this->selectAttributes->getAddNewAttributeButton());
124 [
true,
'attribute html']
testGetAddNewAttributeButton($isAllowed, $result)