class EntityResourceValidationTraitTest in Drupal 10
Same name and namespace in other branches
- 8 core/modules/rest/tests/src/Unit/EntityResourceValidationTraitTest.php \Drupal\Tests\rest\Unit\EntityResourceValidationTraitTest
- 9 core/modules/rest/tests/src/Unit/EntityResourceValidationTraitTest.php \Drupal\Tests\rest\Unit\EntityResourceValidationTraitTest
@group rest @coversDefaultClass \Drupal\rest\Plugin\rest\resource\EntityResourceValidationTrait
Hierarchy
- class \Drupal\Tests\UnitTestCase extends \PHPUnit\Framework\TestCase uses \Drupal\Tests\PhpUnitCompatibilityTrait, \Symfony\Bridge\PhpUnit\ExpectDeprecationTrait, PhpUnitWarnings
- class \Drupal\Tests\rest\Unit\EntityResourceValidationTraitTest
Expanded class hierarchy of EntityResourceValidationTraitTest
File
- core/
modules/ rest/ tests/ src/ Unit/ EntityResourceValidationTraitTest.php, line 17
Namespace
Drupal\Tests\rest\UnitView source
class EntityResourceValidationTraitTest extends UnitTestCase {
/**
* @covers ::validate
*/
public function testValidate() {
$trait = new EntityResourceValidationTraitTestClass();
$method = new \ReflectionMethod($trait, 'validate');
$method
->setAccessible(TRUE);
$violations = $this
->prophesize(EntityConstraintViolationList::class);
$violations
->filterByFieldAccess()
->shouldBeCalled()
->willReturn([]);
$violations
->count()
->shouldBeCalled()
->willReturn(0);
$entity = $this
->prophesize(Node::class);
$entity
->validate()
->shouldBeCalled()
->willReturn($violations
->reveal());
$method
->invoke($trait, $entity
->reveal());
}
/**
* @covers ::validate
*/
public function testFailedValidate() {
$violation1 = $this
->prophesize(ConstraintViolationInterface::class);
$violation1
->getPropertyPath()
->willReturn('property_path');
$violation1
->getMessage()
->willReturn('message');
$violation2 = $this
->prophesize(ConstraintViolationInterface::class);
$violation2
->getPropertyPath()
->willReturn('property_path');
$violation2
->getMessage()
->willReturn('message');
$entity = $this
->prophesize(User::class);
$violations = $this
->getMockBuilder(EntityConstraintViolationList::class)
->setConstructorArgs([
$entity
->reveal(),
[
$violation1
->reveal(),
$violation2
->reveal(),
],
])
->onlyMethods([
'filterByFieldAccess',
])
->getMock();
$violations
->expects($this
->once())
->method('filterByFieldAccess')
->will($this
->returnValue([]));
$entity
->validate()
->willReturn($violations);
$trait = new EntityResourceValidationTraitTestClass();
$method = new \ReflectionMethod($trait, 'validate');
$method
->setAccessible(TRUE);
$this
->expectException(UnprocessableEntityHttpException::class);
$method
->invoke($trait, $entity
->reveal());
}
}