class EntityResourceValidationTraitTest
Same name and namespace in other branches
- 11.x 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 uses \Drupal\Tests\Traits\PhpUnitWarnings, \Drupal\Tests\PhpUnitCompatibilityTrait, \Symfony\Bridge\PhpUnit\ExpectDeprecationTrait implements \PHPUnit\Framework\TestCase
- class \Drupal\Tests\rest\Unit\EntityResourceValidationTraitTest implements \Drupal\Tests\UnitTestCase
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')
->willReturn([]);
$entity->validate()
->willReturn($violations);
$trait = new EntityResourceValidationTraitTestClass();
$method = new \ReflectionMethod($trait, 'validate');
$method->setAccessible(TRUE);
$this->expectException(UnprocessableEntityHttpException::class);
$method->invoke($trait, $entity->reveal());
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.