6 declare(strict_types=1);
23 private $configurableTypeMock;
28 private $productRepositoryMock;
37 $this->configurableTypeMock = $this->getMockBuilder(Configurable::class)
38 ->disableOriginalConstructor()
40 $this->productRepositoryMock = $this->getMockBuilder(ProductRepositoryInterface::class)
49 $productIdentity =
'cache_tag_1';
50 $productMock = $this->getMockBuilder(Product::class)
51 ->disableOriginalConstructor()
54 $parentProductIdentity =
'cache_tag_2';
55 $parentProductMock = $this->getMockBuilder(Product::class)
56 ->disableOriginalConstructor()
59 $productMock->expects($this->once())
62 $this->configurableTypeMock->expects($this->once())
63 ->method(
'getParentIdsByChild')
65 ->willReturn([$parentProductId]);
66 $this->productRepositoryMock->expects($this->once())
68 ->with($parentProductId)
69 ->willReturn($parentProductMock);
70 $parentProductMock->expects($this->once())
71 ->method(
'getIdentities')
72 ->willReturn([$parentProductIdentity]);
74 $productIdentities = $this->plugin->afterGetIdentities($productMock, [$productIdentity]);
75 $this->assertEquals([$productIdentity, $parentProductIdentity], $productIdentities);