_objectManagerHelper = new ObjectManager($this); $objects = [ [ SecureHtmlRenderer::class, $this->createMock(SecureHtmlRenderer::class) ], [ Random::class, $this->createMock(Random::class) ] ]; $this->_objectManagerHelper->prepareObjectManager($objects); } public function testGetUrl() { $path = 'checkout'; $url = 'http://example.com/'; $urlBuilder = $this->getMockForAbstractClass(UrlInterface::class); $urlBuilder->expects($this->once())->method('getUrl')->with($path)->willReturn($url . $path); $context = $this->_objectManagerHelper->getObject( Context::class, ['urlBuilder' => $urlBuilder] ); $link = $this->_objectManagerHelper->getObject(Link::class, ['context' => $context]); $this->assertEquals($url . $path, $link->getHref()); } /** * @dataProvider toHtmlDataProvider */ public function testToHtml($canOnepageCheckout, $isOutputEnabled) { $helper = $this->getMockBuilder( Data::class )->disableOriginalConstructor() ->onlyMethods( ['canOnepageCheckout', 'isModuleOutputEnabled'] )->getMock(); $moduleManager = $this->getMockBuilder( Manager::class )->disableOriginalConstructor() ->onlyMethods( ['isOutputEnabled'] )->getMock(); /** @var Link $block */ $block = $this->_objectManagerHelper->getObject( Link::class, ['moduleManager' => $moduleManager, 'checkoutHelper' => $helper] ); $helper->expects($this->any())->method('canOnepageCheckout')->willReturn($canOnepageCheckout); $moduleManager->expects( $this->any() )->method( 'isOutputEnabled' )->with( 'Magento_Checkout' )->willReturn( $isOutputEnabled ); $this->assertEquals('', $block->toHtml()); } /** * @return array */ public function toHtmlDataProvider() { return [[false, true], [true, false], [false, false]]; } }