[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());
|
$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);
|
$entity = new GroupSequenceProviderEntity($sequence);
|
||||||
|
|
||||||
$callback1 = function ($value, ExecutionContextInterface $context) {
|
$callback1 = function ($value, ExecutionContextInterface $context) {
|
||||||
@ -1189,43 +1191,27 @@ abstract class AbstractValidatorTest extends \PHPUnit_Framework_TestCase
|
|||||||
$violations = $this->validate($entity, null, 'Default');
|
$violations = $this->validate($entity, null, 'Default');
|
||||||
|
|
||||||
/* @var ConstraintViolationInterface[] $violations */
|
/* @var ConstraintViolationInterface[] $violations */
|
||||||
$this->assertCount(1, $violations);
|
$this->assertCount(count($assertViolations), $violations);
|
||||||
$this->assertSame('Violation in Group 2', $violations[0]->getMessage());
|
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');
|
return array(
|
||||||
$entity = new GroupSequenceProviderEntity($sequence);
|
array(
|
||||||
|
'sequence' => new GroupSequence(array('Group 1', 'Group 2', 'Group 3', 'Entity')),
|
||||||
$callback1 = function ($value, ExecutionContextInterface $context) {
|
'assertViolations' => array(
|
||||||
$context->addViolation('Violation in Group 2');
|
'Violation in Group 2',
|
||||||
};
|
),
|
||||||
$callback2 = function ($value, ExecutionContextInterface $context) {
|
),
|
||||||
$context->addViolation('Violation in Group 3');
|
array(
|
||||||
};
|
'sequence' => array('Group 1', 'Group 2', 'Group 3', 'Entity'),
|
||||||
|
'assertViolations' => array(
|
||||||
$metadata = new ClassMetadata(get_class($entity));
|
'Violation in Group 2',
|
||||||
$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());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user