/** * @expectedException \InvalidArgumentException * @expectedExceptionMessage WrongClassName doesn't implement \Tobai\GeoStoreSwitcher\Model\Store\Switcher\RuleInterface */ public function testCreateWrongClass() { $className = 'WrongClassName'; $rule = $this->getMockBuilder('WrongClassName')->disableOriginalConstructor()->getMock(); $this->objectManager->expects($this->once())->method('create')->with($className)->willReturn($rule); $this->ruleFactory->create($className); }
/** * @param string $countryCode * @return int|bool */ public function getStoreId($countryCode) { foreach ($this->rules as $ruleClass) { $rule = $this->ruleFactory->create($ruleClass); $storeId = $rule->getStoreId($countryCode); if ($storeId) { return $storeId; } } return false; }