googleAnalyticsDataMock = $this->getMockBuilder(GaDataHelper::class) ->disableOriginalConstructor() ->getMock(); $this->storeManagerMock = $this->getMockBuilder(StoreManagerInterface::class) ->disableOriginalConstructor() ->getMock(); $this->layoutMock = $this->getMockBuilder(LayoutInterface::class) ->disableOriginalConstructor() ->getMock(); $this->observerMock = $this->getMockBuilder(Observer::class)->getMock(); $this->eventMock = $this->getMockBuilder(Event::class)->getMock(); $objectManager = new ObjectManager($this); $this->orderSuccessObserver = $objectManager->getObject( SetGoogleAnalyticsOnOrderSuccessPageViewObserver::class, [ 'storeManager' => $this->storeManagerMock, 'layout' => $this->layoutMock, 'googleAnalyticsData' => $this->googleAnalyticsDataMock ] ); } /** * Observer test */ public function testExecuteWithNoOrderIds() { $this->observerMock->expects($this->once()) ->method('getEvent') ->willReturn($this->eventMock); $this->eventMock->expects($this->once()) ->method('__call') ->with( $this->equalTo('getOrderIds') ) ->willReturn([]); $this->layoutMock->expects($this->never()) ->method('getBlock'); $this->orderSuccessObserver->execute($this->observerMock); } /** * Observer test */ public function testExecuteWithOrderIds() { $blockMock = $this->getMockBuilder(AbstractBlock::class) ->disableOriginalConstructor() ->getMock(); $orderIds = [8]; $this->observerMock->expects($this->once()) ->method('getEvent') ->willReturn($this->eventMock); $this->eventMock->expects($this->once()) ->method('__call') ->with( $this->equalTo('getOrderIds') ) ->willReturn($orderIds); $this->layoutMock->expects($this->once()) ->method('getBlock') ->willReturn($blockMock); $blockMock->expects($this->once()) ->method('__call') ->with( $this->equalTo('setOrderIds'), $this->equalTo([$orderIds]) ); $this->orderSuccessObserver->execute($this->observerMock); } }