/** * @dataProvider paymentMethodDataProvider * @param bool $expectation */ public function testIsApplicable($expectation) { $quote = $this->getMockBuilder('Magento\\Quote\\Model\\Quote')->disableOriginalConstructor()->setMethods([])->getMock(); $paymentMethod = $this->getMockBuilder('\\Magento\\Payment\\Model\\MethodInterface')->disableOriginalConstructor()->setMethods([])->getMock(); $specification = $this->getMockBuilder('Magento\\Payment\\Model\\Checks\\SpecificationInterface')->disableOriginalConstructor()->setMethods([])->getMock(); $specification->expects($this->once())->method('isApplicable')->with($paymentMethod, $quote)->will($this->returnValue($expectation)); $model = new Composite([$specification]); $this->assertEquals($expectation, $model->isApplicable($paymentMethod, $quote)); }
/** * {@inheritdoc} */ public function isApplicable(\Magento\Payment\Model\MethodInterface $paymentMethod, \Magento\Quote\Model\Quote $quote) { $pluginInfo = $this->pluginList->getNext($this->subjectType, 'isApplicable'); if (!$pluginInfo) { return parent::isApplicable($paymentMethod, $quote); } else { return $this->___callPlugins('isApplicable', func_get_args(), $pluginInfo); } }