/** * @param string $language * * @dataProvider provideAliasIdAndLanguage */ public function testGetAliasIdForLanguage($language) { $alias1 = Phake::mock('OpenOrchestra\\ModelInterface\\Model\\SiteAliasInterface'); Phake::when($alias1)->getLanguage()->thenReturn('fr'); $alias2 = Phake::mock('OpenOrchestra\\ModelInterface\\Model\\SiteAliasInterface'); Phake::when($alias2)->getLanguage()->thenReturn('en'); $this->site->addAlias($alias1); $this->site->addAlias($alias2); $aliases = $this->site->getAliases(); $this->assertTrue($aliases->containsKey($this->site->getAliasIdForLanguage($language))); $this->assertSame($language, $aliases[$this->site->getAliasIdForLanguage($language)]->getLanguage()); }
/** * Checks if the passed value is valid. * * @param SiteInterface $value The value that should be validated * @param UniqueMainAlias|Constraint $constraint The constraint for the validation * * @api */ public function validate($value, Constraint $constraint) { if ($value->getAliases()->filter(function (SiteAliasInterface $alias) { return $alias->isMain(); })->count() > 1) { $this->context->addViolation($constraint->message); } }