countryProvider = $this->createMock( \Magento\Payment\Model\Checks\CanUseForCountry\CountryProvider::class ); $this->_model = new CanUseForCountry($this->countryProvider); } /** * @dataProvider paymentMethodDataProvider * @param bool $expectation */ public function testIsApplicable($expectation) { $quoteMock = $this->getMockBuilder(\Magento\Quote\Model\Quote::class)->disableOriginalConstructor()->setMethods( [] )->getMock(); $paymentMethod = $this->getMockBuilder( \Magento\Payment\Model\MethodInterface::class )->disableOriginalConstructor()->setMethods([])->getMock(); $paymentMethod->expects($this->once())->method('canUseForCountry')->with( self::EXPECTED_COUNTRY_ID )->will($this->returnValue($expectation)); $this->countryProvider->expects($this->once())->method('getCountry')->willReturn(self::EXPECTED_COUNTRY_ID); $this->assertEquals($expectation, $this->_model->isApplicable($paymentMethod, $quoteMock)); } /** * @return array */ public function paymentMethodDataProvider() { return [[true], [false]]; } }