1
0
mirror of synced 2025-02-03 05:49:25 +03:00
doctrine2/tests/Doctrine/Tests/ORM/Id/AssignedGeneratorTest.php
Luís Cobucci 8796e2d938
Expect an exception instead of failing the test
Since that's the assertion we're actually doing.
2017-06-12 23:05:53 +02:00

71 lines
1.6 KiB
PHP

<?php
namespace Doctrine\Tests\ORM\Id;
use Doctrine\ORM\Id\AssignedGenerator;
use Doctrine\ORM\ORMException;
use Doctrine\Tests\OrmTestCase;
/**
* AssignedGeneratorTest
*
* @author robo
*/
class AssignedGeneratorTest extends OrmTestCase
{
private $_em;
private $_assignedGen;
protected function setUp()
{
$this->_em = $this->_getTestEntityManager();
$this->_assignedGen = new AssignedGenerator;
}
/**
* @dataProvider entitiesWithoutId
*/
public function testThrowsExceptionIfIdNotAssigned($entity)
{
$this->expectException(ORMException::class);
$this->_assignedGen->generate($this->_em, $entity);
}
public function entitiesWithoutId(): array
{
return [
'single' => [new AssignedSingleIdEntity()],
'composite' => [new AssignedCompositeIdEntity()],
];
}
public function testCorrectIdGeneration()
{
$entity = new AssignedSingleIdEntity;
$entity->myId = 1;
$id = $this->_assignedGen->generate($this->_em, $entity);
$this->assertEquals(['myId' => 1], $id);
$entity = new AssignedCompositeIdEntity;
$entity->myId2 = 2;
$entity->myId1 = 4;
$id = $this->_assignedGen->generate($this->_em, $entity);
$this->assertEquals(['myId1' => 4, 'myId2' => 2], $id);
}
}
/** @Entity */
class AssignedSingleIdEntity {
/** @Id @Column(type="integer") */
public $myId;
}
/** @Entity */
class AssignedCompositeIdEntity {
/** @Id @Column(type="integer") */
public $myId1;
/** @Id @Column(type="integer") */
public $myId2;
}