From 1e6a297f6059005f3d914c0fd76c8d5f4f5150ef Mon Sep 17 00:00:00 2001 From: Warxcell Date: Tue, 22 Nov 2022 18:25:48 +0200 Subject: [PATCH 01/16] Add testcase --- .../Doctrine/Tests/ORM/Functional/EnumTest.php | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/tests/Doctrine/Tests/ORM/Functional/EnumTest.php b/tests/Doctrine/Tests/ORM/Functional/EnumTest.php index 151067ef280..ab9a082e50c 100644 --- a/tests/Doctrine/Tests/ORM/Functional/EnumTest.php +++ b/tests/Doctrine/Tests/ORM/Functional/EnumTest.php @@ -430,4 +430,22 @@ public function testEnumWithDefault(): void self::assertSame(Suit::Hearts, $card->suit); } + + public function testEnumAreNotConsideredAsChanges() + { + $this->setUpEntitySchema([CardWithDefault::class]); + + $table = $this->_em->getClassMetadata(CardWithDefault::class)->getTableName(); + $cardId = uniqid('', true); + + $this->_em->getConnection()->insert($table, ['id' => $cardId]); + + $card = $this->_em->find(CardWithDefault::class, $cardId); + + static::assertEquals([], $this->_em->getUnitOfWork()->getEntityChangeSet($card)); + $this->_em->flush(); + static::assertEquals([], $this->_em->getUnitOfWork()->getEntityChangeSet($card)); + $this->_em->flush(); + static::assertEquals([], $this->_em->getUnitOfWork()->getEntityChangeSet($card)); + } } From 9512f544d34c33a53c177f520a01b696aef760ce Mon Sep 17 00:00:00 2001 From: Warxcell Date: Tue, 22 Nov 2022 18:31:44 +0200 Subject: [PATCH 02/16] Add testcase --- tests/Doctrine/Tests/ORM/Functional/EnumTest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/Doctrine/Tests/ORM/Functional/EnumTest.php b/tests/Doctrine/Tests/ORM/Functional/EnumTest.php index ab9a082e50c..7d8c53be71d 100644 --- a/tests/Doctrine/Tests/ORM/Functional/EnumTest.php +++ b/tests/Doctrine/Tests/ORM/Functional/EnumTest.php @@ -431,7 +431,7 @@ public function testEnumWithDefault(): void self::assertSame(Suit::Hearts, $card->suit); } - public function testEnumAreNotConsideredAsChanges() + public function testEnumAreNotConsideredAsChanges(): void { $this->setUpEntitySchema([CardWithDefault::class]); From 015dd50e822de2e754e66a79c38c79e097874363 Mon Sep 17 00:00:00 2001 From: Warxcell Date: Tue, 22 Nov 2022 22:39:25 +0200 Subject: [PATCH 03/16] Add testcase --- .../Models/Enums/AssocToCardWithDefault.php | 20 +++++++++++++++++++ .../Tests/ORM/Functional/EnumTest.php | 15 +++++++++----- 2 files changed, 30 insertions(+), 5 deletions(-) create mode 100644 tests/Doctrine/Tests/Models/Enums/AssocToCardWithDefault.php diff --git a/tests/Doctrine/Tests/Models/Enums/AssocToCardWithDefault.php b/tests/Doctrine/Tests/Models/Enums/AssocToCardWithDefault.php new file mode 100644 index 00000000000..98003160af1 --- /dev/null +++ b/tests/Doctrine/Tests/Models/Enums/AssocToCardWithDefault.php @@ -0,0 +1,20 @@ +setUpEntitySchema([CardWithDefault::class]); + $this->setUpEntitySchema([CardWithDefault::class, AssocToCardWithDefault::class]); $table = $this->_em->getClassMetadata(CardWithDefault::class)->getTableName(); $cardId = uniqid('', true); $this->_em->getConnection()->insert($table, ['id' => $cardId]); - $card = $this->_em->find(CardWithDefault::class, $cardId); + $tableAssoc = $this->_em->getClassMetadata(AssocToCardWithDefault::class)->getTableName(); + $assocId = uniqid('', true); + $this->_em->getConnection()->insert($tableAssoc, ['id' => $assocId, 'card_id' => $cardId]); + + $assoc = $this->_em->find(AssocToCardWithDefault::class, $assocId); - static::assertEquals([], $this->_em->getUnitOfWork()->getEntityChangeSet($card)); + static::assertEquals([], $this->_em->getUnitOfWork()->getEntityChangeSet($assoc->card)); $this->_em->flush(); - static::assertEquals([], $this->_em->getUnitOfWork()->getEntityChangeSet($card)); + static::assertEquals([], $this->_em->getUnitOfWork()->getEntityChangeSet($assoc->card)); $this->_em->flush(); - static::assertEquals([], $this->_em->getUnitOfWork()->getEntityChangeSet($card)); + static::assertEquals([], $this->_em->getUnitOfWork()->getEntityChangeSet($assoc->card)); } } From 9ac398a9e7ef92c92ce39c13b37b27c1e55d2388 Mon Sep 17 00:00:00 2001 From: Warxcell Date: Tue, 22 Nov 2022 22:47:43 +0200 Subject: [PATCH 04/16] Add testcase --- tests/Doctrine/Tests/ORM/Functional/EnumTest.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tests/Doctrine/Tests/ORM/Functional/EnumTest.php b/tests/Doctrine/Tests/ORM/Functional/EnumTest.php index 1b0b27cbfac..0550523820d 100644 --- a/tests/Doctrine/Tests/ORM/Functional/EnumTest.php +++ b/tests/Doctrine/Tests/ORM/Functional/EnumTest.php @@ -445,7 +445,10 @@ public function testEnumAreNotConsideredAsChanges(): void $assocId = uniqid('', true); $this->_em->getConnection()->insert($tableAssoc, ['id' => $assocId, 'card_id' => $cardId]); - $assoc = $this->_em->find(AssocToCardWithDefault::class, $assocId); + $qb = $this->_em->createQueryBuilder(); + $qb->select('assoc')->from(AssocToCardWithDefault::class, 'assoc'); + $qb->join('assoc.card','card'); + $assoc = $qb->getQuery()->getSingleResult(); static::assertEquals([], $this->_em->getUnitOfWork()->getEntityChangeSet($assoc->card)); $this->_em->flush(); From 519a0c84ecd0c67728bee888b0d0562abd196d37 Mon Sep 17 00:00:00 2001 From: Warxcell Date: Tue, 22 Nov 2022 22:50:14 +0200 Subject: [PATCH 05/16] Add testcase --- tests/Doctrine/Tests/ORM/Functional/EnumTest.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tests/Doctrine/Tests/ORM/Functional/EnumTest.php b/tests/Doctrine/Tests/ORM/Functional/EnumTest.php index 0550523820d..ca1fd9e2a09 100644 --- a/tests/Doctrine/Tests/ORM/Functional/EnumTest.php +++ b/tests/Doctrine/Tests/ORM/Functional/EnumTest.php @@ -445,9 +445,12 @@ public function testEnumAreNotConsideredAsChanges(): void $assocId = uniqid('', true); $this->_em->getConnection()->insert($tableAssoc, ['id' => $assocId, 'card_id' => $cardId]); + $card = $this->_em->find(CardWithDefault::class, $cardId); + static::assertEquals([], $this->_em->getUnitOfWork()->getEntityChangeSet($card)); + $qb = $this->_em->createQueryBuilder(); $qb->select('assoc')->from(AssocToCardWithDefault::class, 'assoc'); - $qb->join('assoc.card','card'); + $qb->join('assoc.card', 'card'); $assoc = $qb->getQuery()->getSingleResult(); static::assertEquals([], $this->_em->getUnitOfWork()->getEntityChangeSet($assoc->card)); From 20adf8d457885fcc62a13c2de412fe78ec138cf0 Mon Sep 17 00:00:00 2001 From: Warxcell Date: Tue, 22 Nov 2022 23:05:15 +0200 Subject: [PATCH 06/16] Add testcase --- tests/Doctrine/Tests/ORM/Functional/EnumTest.php | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/tests/Doctrine/Tests/ORM/Functional/EnumTest.php b/tests/Doctrine/Tests/ORM/Functional/EnumTest.php index ca1fd9e2a09..1a8bf907d9f 100644 --- a/tests/Doctrine/Tests/ORM/Functional/EnumTest.php +++ b/tests/Doctrine/Tests/ORM/Functional/EnumTest.php @@ -445,18 +445,18 @@ public function testEnumAreNotConsideredAsChanges(): void $assocId = uniqid('', true); $this->_em->getConnection()->insert($tableAssoc, ['id' => $assocId, 'card_id' => $cardId]); - $card = $this->_em->find(CardWithDefault::class, $cardId); - static::assertEquals([], $this->_em->getUnitOfWork()->getEntityChangeSet($card)); - $qb = $this->_em->createQueryBuilder(); $qb->select('assoc')->from(AssocToCardWithDefault::class, 'assoc'); $qb->join('assoc.card', 'card'); $assoc = $qb->getQuery()->getSingleResult(); static::assertEquals([], $this->_em->getUnitOfWork()->getEntityChangeSet($assoc->card)); - $this->_em->flush(); - static::assertEquals([], $this->_em->getUnitOfWork()->getEntityChangeSet($assoc->card)); - $this->_em->flush(); - static::assertEquals([], $this->_em->getUnitOfWork()->getEntityChangeSet($assoc->card)); + + $card = $this->_em->find(CardWithDefault::class, $cardId); + static::assertEquals([], $this->_em->getUnitOfWork()->getEntityChangeSet($card)); + + $this->_em->getUnitOfWork()->recomputeSingleEntityChangeSet($this->_em->getClassMetadata(CardWithDefault::class), $card); + + static::assertEquals([], $this->_em->getUnitOfWork()->getEntityChangeSet($card)); } } From 2a36314a34903e6308bd0caadb9cde27984dc66c Mon Sep 17 00:00:00 2001 From: Warxcell Date: Tue, 22 Nov 2022 23:07:52 +0200 Subject: [PATCH 07/16] Add testcase --- tests/Doctrine/Tests/ORM/Functional/EnumTest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/Doctrine/Tests/ORM/Functional/EnumTest.php b/tests/Doctrine/Tests/ORM/Functional/EnumTest.php index 1a8bf907d9f..b29f1194f29 100644 --- a/tests/Doctrine/Tests/ORM/Functional/EnumTest.php +++ b/tests/Doctrine/Tests/ORM/Functional/EnumTest.php @@ -455,7 +455,7 @@ public function testEnumAreNotConsideredAsChanges(): void $card = $this->_em->find(CardWithDefault::class, $cardId); static::assertEquals([], $this->_em->getUnitOfWork()->getEntityChangeSet($card)); - $this->_em->getUnitOfWork()->recomputeSingleEntityChangeSet($this->_em->getClassMetadata(CardWithDefault::class), $card); + $this->_em->getUnitOfWork()->computeChangeSet($this->_em->getClassMetadata(CardWithDefault::class), $card); static::assertEquals([], $this->_em->getUnitOfWork()->getEntityChangeSet($card)); } From 911fb46caf3aeb43392c020488d8cbc101bd0061 Mon Sep 17 00:00:00 2001 From: Warxcell Date: Tue, 22 Nov 2022 23:20:58 +0200 Subject: [PATCH 08/16] Add testcase --- tests/Doctrine/Tests/ORM/Functional/EnumTest.php | 4 ---- 1 file changed, 4 deletions(-) diff --git a/tests/Doctrine/Tests/ORM/Functional/EnumTest.php b/tests/Doctrine/Tests/ORM/Functional/EnumTest.php index b29f1194f29..769a4bc2e43 100644 --- a/tests/Doctrine/Tests/ORM/Functional/EnumTest.php +++ b/tests/Doctrine/Tests/ORM/Functional/EnumTest.php @@ -450,13 +450,9 @@ public function testEnumAreNotConsideredAsChanges(): void $qb->join('assoc.card', 'card'); $assoc = $qb->getQuery()->getSingleResult(); - static::assertEquals([], $this->_em->getUnitOfWork()->getEntityChangeSet($assoc->card)); - $card = $this->_em->find(CardWithDefault::class, $cardId); - static::assertEquals([], $this->_em->getUnitOfWork()->getEntityChangeSet($card)); $this->_em->getUnitOfWork()->computeChangeSet($this->_em->getClassMetadata(CardWithDefault::class), $card); - static::assertEquals([], $this->_em->getUnitOfWork()->getEntityChangeSet($card)); } } From 7718f41af2fa76650a2c55509262b1ba271aaae4 Mon Sep 17 00:00:00 2001 From: Warxcell Date: Wed, 23 Nov 2022 15:07:46 +0200 Subject: [PATCH 09/16] Add testcase --- ...fault.php => AssocToCardReadOnlyCache.php} | 4 ++-- .../Tests/Models/Enums/CardReadOnlyCache.php | 21 +++++++++++++++++++ .../Tests/ORM/Functional/EnumTest.php | 19 +++++++---------- 3 files changed, 31 insertions(+), 13 deletions(-) rename tests/Doctrine/Tests/Models/Enums/{AssocToCardWithDefault.php => AssocToCardReadOnlyCache.php} (80%) create mode 100644 tests/Doctrine/Tests/Models/Enums/CardReadOnlyCache.php diff --git a/tests/Doctrine/Tests/Models/Enums/AssocToCardWithDefault.php b/tests/Doctrine/Tests/Models/Enums/AssocToCardReadOnlyCache.php similarity index 80% rename from tests/Doctrine/Tests/Models/Enums/AssocToCardWithDefault.php rename to tests/Doctrine/Tests/Models/Enums/AssocToCardReadOnlyCache.php index 98003160af1..d5493539954 100644 --- a/tests/Doctrine/Tests/Models/Enums/AssocToCardWithDefault.php +++ b/tests/Doctrine/Tests/Models/Enums/AssocToCardReadOnlyCache.php @@ -10,11 +10,11 @@ use Doctrine\ORM\Mapping\ManyToOne; #[Entity] -class AssocToCardWithDefault +class AssocToCardReadOnlyCache { #[Id, Column] public string $id; #[ManyToOne] - public CardWithDefault $card; + public CardReadOnlyCache $card; } diff --git a/tests/Doctrine/Tests/Models/Enums/CardReadOnlyCache.php b/tests/Doctrine/Tests/Models/Enums/CardReadOnlyCache.php new file mode 100644 index 00000000000..a9f06d52488 --- /dev/null +++ b/tests/Doctrine/Tests/Models/Enums/CardReadOnlyCache.php @@ -0,0 +1,21 @@ +_em = $this->getEntityManager(null, new AttributeDriver([dirname(__DIR__, 2) . '/Models/Enums'])); $this->_schemaTool = new SchemaTool($this->_em); - - if ($this->isSecondLevelCacheEnabled) { - $this->markTestSkipped(); - } } /** @@ -434,25 +430,26 @@ public function testEnumWithDefault(): void public function testEnumAreNotConsideredAsChanges(): void { - $this->setUpEntitySchema([CardWithDefault::class, AssocToCardWithDefault::class]); + $this->setUpEntitySchema([CardWithDefault::class, AssocToCardReadOnlyCache::class]); $table = $this->_em->getClassMetadata(CardWithDefault::class)->getTableName(); $cardId = uniqid('', true); - $this->_em->getConnection()->insert($table, ['id' => $cardId]); + $this->_em->getConnection()->insert($table, ['id' => $cardId, 'suit' => 'H']); - $tableAssoc = $this->_em->getClassMetadata(AssocToCardWithDefault::class)->getTableName(); + $tableAssoc = $this->_em->getClassMetadata(AssocToCardReadOnlyCache::class)->getTableName(); $assocId = uniqid('', true); $this->_em->getConnection()->insert($tableAssoc, ['id' => $assocId, 'card_id' => $cardId]); $qb = $this->_em->createQueryBuilder(); - $qb->select('assoc')->from(AssocToCardWithDefault::class, 'assoc'); + $qb->select('assoc')->from(AssocToCardReadOnlyCache::class, 'assoc'); $qb->join('assoc.card', 'card'); $assoc = $qb->getQuery()->getSingleResult(); $card = $this->_em->find(CardWithDefault::class, $cardId); - $this->_em->getUnitOfWork()->computeChangeSet($this->_em->getClassMetadata(CardWithDefault::class), $card); - static::assertEquals([], $this->_em->getUnitOfWork()->getEntityChangeSet($card)); + $this->_em->flush(); + + $this->expectNotToPerformAssertions(); } } From 592f1a5f5703fa8a4eeb208b9fc5ed59a5730043 Mon Sep 17 00:00:00 2001 From: Warxcell Date: Wed, 23 Nov 2022 15:10:02 +0200 Subject: [PATCH 10/16] Add testcase --- tests/Doctrine/Tests/ORM/Functional/EnumTest.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tests/Doctrine/Tests/ORM/Functional/EnumTest.php b/tests/Doctrine/Tests/ORM/Functional/EnumTest.php index b165bcbe31a..edd2657b4b4 100644 --- a/tests/Doctrine/Tests/ORM/Functional/EnumTest.php +++ b/tests/Doctrine/Tests/ORM/Functional/EnumTest.php @@ -14,6 +14,7 @@ use Doctrine\Tests\Models\DataTransferObjects\DtoWithEnum; use Doctrine\Tests\Models\Enums\AssocToCardReadOnlyCache; use Doctrine\Tests\Models\Enums\Card; +use Doctrine\Tests\Models\Enums\CardReadOnlyCache; use Doctrine\Tests\Models\Enums\CardWithDefault; use Doctrine\Tests\Models\Enums\CardWithNullable; use Doctrine\Tests\Models\Enums\Product; @@ -430,9 +431,9 @@ public function testEnumWithDefault(): void public function testEnumAreNotConsideredAsChanges(): void { - $this->setUpEntitySchema([CardWithDefault::class, AssocToCardReadOnlyCache::class]); + $this->setUpEntitySchema([CardReadOnlyCache::class, AssocToCardReadOnlyCache::class]); - $table = $this->_em->getClassMetadata(CardWithDefault::class)->getTableName(); + $table = $this->_em->getClassMetadata(CardReadOnlyCache::class)->getTableName(); $cardId = uniqid('', true); $this->_em->getConnection()->insert($table, ['id' => $cardId, 'suit' => 'H']); @@ -446,7 +447,7 @@ public function testEnumAreNotConsideredAsChanges(): void $qb->join('assoc.card', 'card'); $assoc = $qb->getQuery()->getSingleResult(); - $card = $this->_em->find(CardWithDefault::class, $cardId); + $card = $this->_em->find(CardReadOnlyCache::class, $cardId); $this->_em->flush(); From 9db4b580c4f519349736c0262bb1d098648bed50 Mon Sep 17 00:00:00 2001 From: Warxcell Date: Wed, 23 Nov 2022 15:10:29 +0200 Subject: [PATCH 11/16] Add testcase --- tests/Doctrine/Tests/ORM/Functional/EnumTest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/Doctrine/Tests/ORM/Functional/EnumTest.php b/tests/Doctrine/Tests/ORM/Functional/EnumTest.php index edd2657b4b4..6b5e881996d 100644 --- a/tests/Doctrine/Tests/ORM/Functional/EnumTest.php +++ b/tests/Doctrine/Tests/ORM/Functional/EnumTest.php @@ -436,7 +436,7 @@ public function testEnumAreNotConsideredAsChanges(): void $table = $this->_em->getClassMetadata(CardReadOnlyCache::class)->getTableName(); $cardId = uniqid('', true); - $this->_em->getConnection()->insert($table, ['id' => $cardId, 'suit' => 'H']); + $this->_em->getConnection()->insert($table, ['id' => $cardId, 'suit' => Suit::Hearts->value]); $tableAssoc = $this->_em->getClassMetadata(AssocToCardReadOnlyCache::class)->getTableName(); $assocId = uniqid('', true); From c3cdf48e2b7363a37388a17ecca0598e520ae0e4 Mon Sep 17 00:00:00 2001 From: Warxcell Date: Wed, 23 Nov 2022 15:13:32 +0200 Subject: [PATCH 12/16] Add testcase --- tests/Doctrine/Tests/ORM/Functional/EnumTest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/Doctrine/Tests/ORM/Functional/EnumTest.php b/tests/Doctrine/Tests/ORM/Functional/EnumTest.php index 6b5e881996d..edd2657b4b4 100644 --- a/tests/Doctrine/Tests/ORM/Functional/EnumTest.php +++ b/tests/Doctrine/Tests/ORM/Functional/EnumTest.php @@ -436,7 +436,7 @@ public function testEnumAreNotConsideredAsChanges(): void $table = $this->_em->getClassMetadata(CardReadOnlyCache::class)->getTableName(); $cardId = uniqid('', true); - $this->_em->getConnection()->insert($table, ['id' => $cardId, 'suit' => Suit::Hearts->value]); + $this->_em->getConnection()->insert($table, ['id' => $cardId, 'suit' => 'H']); $tableAssoc = $this->_em->getClassMetadata(AssocToCardReadOnlyCache::class)->getTableName(); $assocId = uniqid('', true); From 69ad04df76899cd2bfa267dba9c2b41d916fa7dc Mon Sep 17 00:00:00 2001 From: Warxcell Date: Wed, 23 Nov 2022 15:18:07 +0200 Subject: [PATCH 13/16] Revert "Add testcase" This reverts commit 7718f41a --- ...lyCache.php => AssocToCardWithDefault.php} | 4 ++-- .../Tests/Models/Enums/CardReadOnlyCache.php | 21 ---------------- .../Tests/ORM/Functional/EnumTest.php | 24 ++++++++++--------- 3 files changed, 15 insertions(+), 34 deletions(-) rename tests/Doctrine/Tests/Models/Enums/{AssocToCardReadOnlyCache.php => AssocToCardWithDefault.php} (80%) delete mode 100644 tests/Doctrine/Tests/Models/Enums/CardReadOnlyCache.php diff --git a/tests/Doctrine/Tests/Models/Enums/AssocToCardReadOnlyCache.php b/tests/Doctrine/Tests/Models/Enums/AssocToCardWithDefault.php similarity index 80% rename from tests/Doctrine/Tests/Models/Enums/AssocToCardReadOnlyCache.php rename to tests/Doctrine/Tests/Models/Enums/AssocToCardWithDefault.php index d5493539954..98003160af1 100644 --- a/tests/Doctrine/Tests/Models/Enums/AssocToCardReadOnlyCache.php +++ b/tests/Doctrine/Tests/Models/Enums/AssocToCardWithDefault.php @@ -10,11 +10,11 @@ use Doctrine\ORM\Mapping\ManyToOne; #[Entity] -class AssocToCardReadOnlyCache +class AssocToCardWithDefault { #[Id, Column] public string $id; #[ManyToOne] - public CardReadOnlyCache $card; + public CardWithDefault $card; } diff --git a/tests/Doctrine/Tests/Models/Enums/CardReadOnlyCache.php b/tests/Doctrine/Tests/Models/Enums/CardReadOnlyCache.php deleted file mode 100644 index a9f06d52488..00000000000 --- a/tests/Doctrine/Tests/Models/Enums/CardReadOnlyCache.php +++ /dev/null @@ -1,21 +0,0 @@ -_em = $this->getEntityManager(null, new AttributeDriver([dirname(__DIR__, 2) . '/Models/Enums'])); $this->_schemaTool = new SchemaTool($this->_em); + + if ($this->isSecondLevelCacheEnabled) { + $this->markTestSkipped(); + } } /** @@ -431,26 +434,25 @@ public function testEnumWithDefault(): void public function testEnumAreNotConsideredAsChanges(): void { - $this->setUpEntitySchema([CardReadOnlyCache::class, AssocToCardReadOnlyCache::class]); + $this->setUpEntitySchema([CardWithDefault::class, AssocToCardWithDefault::class]); - $table = $this->_em->getClassMetadata(CardReadOnlyCache::class)->getTableName(); + $table = $this->_em->getClassMetadata(CardWithDefault::class)->getTableName(); $cardId = uniqid('', true); - $this->_em->getConnection()->insert($table, ['id' => $cardId, 'suit' => 'H']); + $this->_em->getConnection()->insert($table, ['id' => $cardId]); - $tableAssoc = $this->_em->getClassMetadata(AssocToCardReadOnlyCache::class)->getTableName(); + $tableAssoc = $this->_em->getClassMetadata(AssocToCardWithDefault::class)->getTableName(); $assocId = uniqid('', true); $this->_em->getConnection()->insert($tableAssoc, ['id' => $assocId, 'card_id' => $cardId]); $qb = $this->_em->createQueryBuilder(); - $qb->select('assoc')->from(AssocToCardReadOnlyCache::class, 'assoc'); + $qb->select('assoc')->from(AssocToCardWithDefault::class, 'assoc'); $qb->join('assoc.card', 'card'); $assoc = $qb->getQuery()->getSingleResult(); - $card = $this->_em->find(CardReadOnlyCache::class, $cardId); - - $this->_em->flush(); + $card = $this->_em->find(CardWithDefault::class, $cardId); - $this->expectNotToPerformAssertions(); + $this->_em->getUnitOfWork()->computeChangeSet($this->_em->getClassMetadata(CardWithDefault::class), $card); + static::assertEquals([], $this->_em->getUnitOfWork()->getEntityChangeSet($card)); } } From f1544e095781f53f707dc0471563bf3c21885c6b Mon Sep 17 00:00:00 2001 From: Warxcell Date: Wed, 23 Nov 2022 15:18:51 +0200 Subject: [PATCH 14/16] Revert "Add testcase" This reverts commit 7718f41a --- tests/Doctrine/Tests/ORM/Functional/EnumTest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/Doctrine/Tests/ORM/Functional/EnumTest.php b/tests/Doctrine/Tests/ORM/Functional/EnumTest.php index 769a4bc2e43..d28e2e77436 100644 --- a/tests/Doctrine/Tests/ORM/Functional/EnumTest.php +++ b/tests/Doctrine/Tests/ORM/Functional/EnumTest.php @@ -452,7 +452,7 @@ public function testEnumAreNotConsideredAsChanges(): void $card = $this->_em->find(CardWithDefault::class, $cardId); - $this->_em->getUnitOfWork()->computeChangeSet($this->_em->getClassMetadata(CardWithDefault::class), $card); + $this->_em->getUnitOfWork()->computeChangeSets(); static::assertEquals([], $this->_em->getUnitOfWork()->getEntityChangeSet($card)); } } From 690851c953d047cd1d12adefc3a7263e83471cec Mon Sep 17 00:00:00 2001 From: Warxcell Date: Wed, 23 Nov 2022 15:21:15 +0200 Subject: [PATCH 15/16] test case --- tests/Doctrine/Tests/ORM/Functional/EnumTest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/Doctrine/Tests/ORM/Functional/EnumTest.php b/tests/Doctrine/Tests/ORM/Functional/EnumTest.php index d28e2e77436..90b6ef2d540 100644 --- a/tests/Doctrine/Tests/ORM/Functional/EnumTest.php +++ b/tests/Doctrine/Tests/ORM/Functional/EnumTest.php @@ -447,7 +447,7 @@ public function testEnumAreNotConsideredAsChanges(): void $qb = $this->_em->createQueryBuilder(); $qb->select('assoc')->from(AssocToCardWithDefault::class, 'assoc'); - $qb->join('assoc.card', 'card'); + $qb->join('assoc.card', 'card')->addSelect('assoc'); $assoc = $qb->getQuery()->getSingleResult(); $card = $this->_em->find(CardWithDefault::class, $cardId); From 255d50987ee65d93e2e7c4aabf3f200e12a035f0 Mon Sep 17 00:00:00 2001 From: Warxcell Date: Wed, 23 Nov 2022 15:27:41 +0200 Subject: [PATCH 16/16] test case --- tests/Doctrine/Tests/ORM/Functional/EnumTest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/Doctrine/Tests/ORM/Functional/EnumTest.php b/tests/Doctrine/Tests/ORM/Functional/EnumTest.php index 90b6ef2d540..c7c54a7949c 100644 --- a/tests/Doctrine/Tests/ORM/Functional/EnumTest.php +++ b/tests/Doctrine/Tests/ORM/Functional/EnumTest.php @@ -447,7 +447,7 @@ public function testEnumAreNotConsideredAsChanges(): void $qb = $this->_em->createQueryBuilder(); $qb->select('assoc')->from(AssocToCardWithDefault::class, 'assoc'); - $qb->join('assoc.card', 'card')->addSelect('assoc'); + $qb->join('assoc.card', 'card')->addSelect('card'); $assoc = $qb->getQuery()->getSingleResult(); $card = $this->_em->find(CardWithDefault::class, $cardId);