[Validator] Refactor tests
This commit is contained in:
parent
38b643a9f0
commit
3847badd47
@ -1157,9 +1157,11 @@ abstract class AbstractValidatorTest extends \PHPUnit_Framework_TestCase
|
||||
$this->assertSame('Violation in other group', $violations[0]->getMessage());
|
||||
}
|
||||
|
||||
public function testReplaceDefaultGroupWithObjectFromGroupSequenceProvider()
|
||||
/**
|
||||
* @dataProvider getTestReplaceDefaultGroup
|
||||
*/
|
||||
public function testReplaceDefaultGroup($sequence, array $assertViolations)
|
||||
{
|
||||
$sequence = new GroupSequence(array('Group 1', 'Group 2', 'Group 3', 'Entity'));
|
||||
$entity = new GroupSequenceProviderEntity($sequence);
|
||||
|
||||
$callback1 = function ($value, ExecutionContextInterface $context) {
|
||||
@ -1189,43 +1191,27 @@ abstract class AbstractValidatorTest extends \PHPUnit_Framework_TestCase
|
||||
$violations = $this->validate($entity, null, 'Default');
|
||||
|
||||
/* @var ConstraintViolationInterface[] $violations */
|
||||
$this->assertCount(1, $violations);
|
||||
$this->assertSame('Violation in Group 2', $violations[0]->getMessage());
|
||||
$this->assertCount(count($assertViolations), $violations);
|
||||
foreach ($assertViolations as $key => $message) {
|
||||
$this->assertSame($message, $violations[$key]->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
public function testReplaceDefaultGroupWithArrayFromGroupSequenceProvider()
|
||||
public function getTestReplaceDefaultGroup()
|
||||
{
|
||||
$sequence = array('Group 1', 'Group 2', 'Group 3', 'Entity');
|
||||
$entity = new GroupSequenceProviderEntity($sequence);
|
||||
|
||||
$callback1 = function ($value, ExecutionContextInterface $context) {
|
||||
$context->addViolation('Violation in Group 2');
|
||||
};
|
||||
$callback2 = function ($value, ExecutionContextInterface $context) {
|
||||
$context->addViolation('Violation in Group 3');
|
||||
};
|
||||
|
||||
$metadata = new ClassMetadata(get_class($entity));
|
||||
$metadata->addConstraint(new Callback(array(
|
||||
'callback' => function () {},
|
||||
'groups' => 'Group 1',
|
||||
)));
|
||||
$metadata->addConstraint(new Callback(array(
|
||||
'callback' => $callback1,
|
||||
'groups' => 'Group 2',
|
||||
)));
|
||||
$metadata->addConstraint(new Callback(array(
|
||||
'callback' => $callback2,
|
||||
'groups' => 'Group 3',
|
||||
)));
|
||||
$metadata->setGroupSequenceProvider(true);
|
||||
|
||||
$this->metadataFactory->addMetadata($metadata);
|
||||
|
||||
$violations = $this->validate($entity, null, 'Default');
|
||||
|
||||
/* @var ConstraintViolationInterface[] $violations */
|
||||
$this->assertCount(1, $violations);
|
||||
$this->assertSame('Violation in Group 2', $violations[0]->getMessage());
|
||||
return array(
|
||||
array(
|
||||
'sequence' => new GroupSequence(array('Group 1', 'Group 2', 'Group 3', 'Entity')),
|
||||
'assertViolations' => array(
|
||||
'Violation in Group 2',
|
||||
),
|
||||
),
|
||||
array(
|
||||
'sequence' => array('Group 1', 'Group 2', 'Group 3', 'Entity'),
|
||||
'assertViolations' => array(
|
||||
'Violation in Group 2',
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user