Example #1
0
 /**
  * Filter card types for specific country
  * @param array $configCardTypes
  * @param string $countryId
  * @return array
  */
 private function filterCardTypesForCountry(array $configCardTypes, $countryId)
 {
     $filtered = $configCardTypes;
     $countryCardTypes = $this->gatewayConfig->getCountryAvailableCardTypes($countryId);
     // filter card types only if specific card types are set for country
     if (!empty($countryCardTypes)) {
         $availableTypes = array_fill_keys($countryCardTypes, '');
         $filtered = array_intersect_key($filtered, $availableTypes);
     }
     return $filtered;
 }
 /**
  * @covers       \Magento\BraintreeTwo\Gateway\Config\Config::getCountryAvailableCardTypes
  * @dataProvider getCountrySpecificCardTypeConfigDataProvider
  */
 public function testCountryAvailableCardTypes($data, $countryData)
 {
     $this->scopeConfigMock->expects(static::any())->method('getValue')->with($this->getPath(Config::KEY_COUNTRY_CREDIT_CARD), ScopeInterface::SCOPE_STORE, null)->willReturn($data);
     foreach ($countryData as $countryId => $types) {
         $result = $this->model->getCountryAvailableCardTypes($countryId);
         static::assertEquals($types, $result);
     }
 }