validator->validate('foo', new NotBlank()); } /** * @dataProvider getValidRoles * @param string $role */ public function testConstraintWithValidRole($role) { $constraint = new Role(); $this->validator->validate($role, $constraint); $this->assertNoViolation(); } public function testNullIsInvalid() { $this->validator->validate(null, new Role(['message' => 'myMessage'])); $this->buildViolation('myMessage') ->setParameter('{{ value }}', 'null') ->setCode(Role::ROLE_ERROR) ->assertRaised(); } public function getInvalidRoles() { return [ ['foo'], [0], ['role_user'], ['ROLE-CUSTOMER'], ['anonymous'], [''], ]; } /** * @dataProvider getInvalidRoles * @param mixed $role */ public function testValidationError($role) { $constraint = new Role([ 'message' => 'myMessage', ]); $this->validator->validate($role, $constraint); $expectedFormat = is_string($role) ? '"' . $role . '"' : $role; $this->buildViolation('myMessage') ->setParameter('{{ value }}', $expectedFormat) ->setCode(Role::ROLE_ERROR) ->assertRaised(); } }