PHP code example of ben-rowan / doctrine-assert
1. Go to this page and download the library: Download ben-rowan/doctrine-assert library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
ben-rowan / doctrine-assert example snippets
use DoctrineAssertTrait;
$this->assertDatabaseHas(
SomeEntity::class, // <-- root entity
[ // <-- query config
AnotherEntity::class => [
YetAnotherEntity::class => [
'active' => true
]
]
]
);
$this->assertDatabaseHas(
SomeEntity::class,
[
'active' => true,
AnotherEntity::class => [
'active' => true,
YetAnotherEntity::class => [
'active' => true
// And we could just keep going if we needed to
]
],
FinallyAnotherEntity::class => [
'active' => true
]
]
);
$this->assertDatabaseHas(
SomeEntity::class,
[
'active' => true
]
);
$this->assertDatabaseMissing(
SomeEntity::class,
[
'active' => true
]
);
$this->assertDatabaseCount(
100, // <-- count
SomeEntity::class,
[
'active' => true
]
);
class YourTest extends AbstractDoctrineAssertTest
{
public const VFS_NAMESPACE = 'Vfs\\YourTest\\';
use DoctrineAssertTrait;
protected function getVfsPath(): string
{
return __DIR__ . '/Vfs';
}
public function setUp()
{
parent::setUp();
$this->createEntities();
}
public function testSomethingPasses(): void
{
$this->assertDatabaseHas(
self::VFS_NAMESPACE . 'One',
[
'test' => 'passes'
]
);
}
public function testSomethingFails(): void
{
$this->expectException(ExpectationFailedException::class);
$this->assertDatabaseHas(
self::VFS_NAMESPACE . 'One',
[
'test' => 'fails'
]
);
}
private function createEntities(): void
{
$generator = Factory::create();
$populator = new Populator($generator, $this->getEntityManager());
$populator->addEntity(self::VFS_NAMESPACE . 'One', 1,
[
'test' => 'passes'
]
);
// ...
$populator->execute();
}
}
$generator = Factory::create();
$populator = new Populator($generator, $this->getEntityManager());
$populator->addEntity(self::VFS_NAMESPACE . 'Three', 1,
[
'name' => 'Three'
]
);
// ...
$populator->execute();
$this->expectException(ExpectationFailedException::class);
text
DoubleOneToOne
├── AssertDatabaseCountTest.php
├── AssertDatabaseHasTest.php
├── AssertDatabaseMissingTest.php
└── Vfs
└── config
├── Vfs.DoubleOneToOne.One.dcm.yml
├── Vfs.DoubleOneToOne.Two.dcm.yml
└── Vfs.DoubleOneToOne.Three.dcm.yml