public function setRoles(array $roles)
{
$this->roleIdentifiers = [];
$this->roles = [];
foreach ($roles as $role) {
if (!$role instanceof Role) {
throw new \InvalidArgumentException(sprintf('setRoles() only accepts an array of %s instances, given: "%s"', Role::class, gettype($role)), 1397125997);
}
$this->addRole($role);
}
}
/** * @test */ public function setRolesWorks() { $roles = [$this->administratorRole, $this->customerRole]; $expectedRoles = [$this->administratorRole->getIdentifier() => $this->administratorRole, $this->customerRole->getIdentifier() => $this->customerRole]; $this->account->setRoles($roles); $this->assertSame($expectedRoles, $this->account->getRoles()); }