40         $objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
    42         $this->productIndexFactoryMock = $this->getMockBuilder(
    43             \
Magento\Reports\Model\Product\Index\ViewedFactory::class
    44         )->setMethods([
'create'])
    45             ->disableOriginalConstructor()->getMock();
    46         $this->productIndexMock = $this->getMockBuilder(\
Magento\Reports\Model\Product\Index\Viewed::class)
    47             ->disableOriginalConstructor()->getMock();
    49         $this->productIndexFactoryMock->expects($this->any())
    51             ->willReturn($this->productIndexMock);
    53         $this->productCompModelMock = $this->getMockBuilder(\
Magento\Reports\Model\Product\Index\Compared::class)
    54             ->disableOriginalConstructor()
    57         $this->productCompFactoryMock = $this->getMockBuilder(
    58             \
Magento\Reports\Model\Product\Index\ComparedFactory::class
    60             ->disableOriginalConstructor()
    61             ->setMethods([
'create'])
    63         $this->productCompFactoryMock->expects($this->any())
    65             ->willReturn($this->productCompModelMock);
    68             \
Magento\Reports\Observer\CustomerLogoutObserver::class,
    70                 'productIndxFactory' => $this->productIndexFactoryMock,
    71                 'productCompFactory' => $this->productCompFactoryMock,
    83         $this->productCompModelMock->expects($this->once())->method(
'purgeVisitorByCustomer')->willReturnSelf();
    84         $this->productCompModelMock->expects($this->once())->method(
'calculate')->willReturnSelf();
    86         $this->productIndexMock->expects($this->once())->method(
'purgeVisitorByCustomer')->willReturnSelf();
    87         $this->productIndexMock->expects($this->once())->method(
'calculate')->willReturnSelf();
    89         $this->observer->execute($observerMock);
    98         $eventObserverMock = $this->getMockBuilder(\
Magento\Framework\Event\Observer::class)
    99             ->disableOriginalConstructor()
   101         $eventMock = $this->getMockBuilder(\
Magento\Framework\Event::class)
   102             ->disableOriginalConstructor()
   103             ->setMethods([
'getProduct'])->getMock();
   104         $productMock = $this->getMockBuilder(\
Magento\Catalog\Model\Product::class)
   105             ->disableOriginalConstructor()
   108         $productMock->expects($this->any())->method(
'getId')->willReturn(
$productId);
   110         $eventMock->expects($this->any())->method(
'getProduct')->willReturn($productMock);
   112         $eventObserverMock->expects($this->any())->method(
'getEvent')->willReturn($eventMock);
   114         return $eventObserverMock;
 getObserverMock($productId)