*/ #[CoversClass(\App\Validator\Constraints\Team::class)] #[CoversClass(TeamValidator::class)] class TeamValidatorTest extends ConstraintValidatorTestCase { protected function createValidator(): TeamValidator { return new TeamValidator(); } public function testConstraintIsInvalid(): void { $this->expectException(UnexpectedTypeException::class); $this->validator->validate('foo', new NotBlank()); // @phpstan-ignore argument.type } public function testMissingTeamlead(): void { $member = new TeamMember(); $member->setTeamlead(false); $member->setUser(new User()); $team = new Team('foo'); $team->addMember($member); $this->validator->validate($team, new TeamConstraint()); $this->buildViolation('At least one team leader must be assigned to the team.') ->atPath('property.path.members') ->setCode(TeamConstraint::MISSING_TEAMLEAD) ->assertRaised(); } }