/** * @dataProvider testIsMethodAvailableDataProvider * @param bool $methodIsAvailable * @param bool $expected */ public function testIsMethodAvailable($methodIsAvailable, $expected) { $methodInstance = $this->getMockBuilder('Magento\\Payment\\Model\\MethodInterface')->getMockForAbstractClass(); $methodInstance->expects($this->any())->method('isAvailable')->will($this->returnValue($methodIsAvailable)); $this->_paymentData->expects($this->any())->method('getMethodInstance')->will($this->returnValue($methodInstance)); $this->assertEquals($expected, $this->helper->isMethodAvailable('payment_code')); }
public function testValidate() { $code = 'code'; $isInCatalog = true; $methodInstanceMock = $this->getMockBuilder('Magento\\Payment\\Model\\Method\\AbstractMethod')->disableOriginalConstructor()->setMethods([])->getMock(); $this->paypalShortcutHelperMock->expects($this->once())->method('isContextAvailable')->with($code, $isInCatalog)->will($this->returnValue(true)); $this->paypalShortcutHelperMock->expects($this->once())->method('isPriceOrSetAvailable')->with($isInCatalog)->will($this->returnValue(true)); $this->paymentHelperMock->expects($this->once())->method('getMethodInstance')->with($code)->will($this->returnValue($methodInstanceMock)); $methodInstanceMock->expects($this->once())->method('isAvailable')->with(null)->will($this->returnValue(true)); $this->assertTrue($this->checkoutValidator->validate($code, $isInCatalog)); }
/** * @dataProvider testIsMethodAvailableDataProvider * @param bool $methodExists * @param bool $methodIsAvailable * @param bool $expected */ public function testIsMethodAvailable($methodExists, $methodIsAvailable, $expected) { $methodInstance = $this->getMock('MethodInstance', ['isAvailable']); $methodInstance->expects($this->any())->method('isAvailable')->will($this->returnValue($methodIsAvailable)); $this->_paymentData->expects($this->any())->method('getMethodInstance')->will($this->returnValue($methodExists ? $methodInstance : false)); $this->assertEquals($expected, $this->helper->isMethodAvailable('payment_code')); }