Failed Conditions
Pull Request — master (#7878)
by
unknown
61:32
created

GH8055Test   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 27
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 2
eloc 13
c 1
b 0
f 0
dl 0
loc 27
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A setUp() 0 7 1
A testNumericDescriminatorColumn() 0 12 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Doctrine\Tests\ORM\Functional\Ticket;
6
7
use Doctrine\Tests\OrmFunctionalTestCase;
8
9
/**
10
 * @group GH8055
11
 */
12
final class GH8055Test extends OrmFunctionalTestCase
13
{
14
    /**
15
     * {@inheritDoc}
16
     */
17
    protected function setUp() : void
18
    {
19
        parent::setUp();
20
21
        $this->setUpEntitySchema([
22
            GH8055BaseClass::class,
23
            GH8055SubClass::class,
24
        ]);
25
    }
26
27
    public function testNumericDescriminatorColumn() : void
28
    {
29
        $entity        = new GH8055SubClass();
30
        $entity->value = 'test';
31
        $this->_em->persist($entity);
32
        $this->_em->flush();
33
        $this->_em->clear();
34
35
        $repository = $this->_em->getRepository(GH8055SubClass::class);
36
        $hydrated   = $repository->find($entity->id);
37
38
        self::assertSame('test', $hydrated->value);
39
    }
40
}
41
42
/**
43
 * @Entity()
44
 * @Table(name="gh8055")
45
 * @InheritanceType("JOINED")
46
 * @DiscriminatorColumn(name="discr", type="integer")
47
 * @DiscriminatorMap({
48
 *     "1" = GH8055BaseClass::class,
49
 *     "2" = GH8055SubClass::class
50
 * })
51
 */
52
class GH8055BaseClass
53
{
54
    /**
55
     * @Id @GeneratedValue
56
     * @Column(type="integer")
57
     */
58
    public $id;
59
}
60
61
/**
62
 * @Entity()
63
 */
64
class GH8055SubClass extends GH8055BaseClass
65
{
66
    /**
67
     * @Column(name="test", type="string")
68
     * @var string
69
     */
70
    public $value;
71
}
72