Skip to content

Commit cedaa3f

Browse files
committed
Unit tests
1 parent 42d35b5 commit cedaa3f

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

tests/Bridge/Doctrine/Common/DataPersisterTest.php

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ public function testPersist()
4848
$dummy = new Dummy();
4949

5050
$objectManagerProphecy = $this->prophesize(ObjectManager::class);
51+
$objectManagerProphecy->contains($dummy)->willReturn(false);
5152
$objectManagerProphecy->persist($dummy)->shouldBeCalled();
5253
$objectManagerProphecy->flush()->shouldBeCalled();
5354
$objectManagerProphecy->refresh($dummy)->shouldBeCalled();
@@ -58,6 +59,22 @@ public function testPersist()
5859
(new DataPersister($managerRegistryProphecy->reveal()))->persist($dummy);
5960
}
6061

62+
public function testPersistIfEntityAlreadyManaged()
63+
{
64+
$dummy = new Dummy();
65+
66+
$objectManagerProphecy = $this->prophesize(ObjectManager::class);
67+
$objectManagerProphecy->contains($dummy)->willReturn(true);
68+
$objectManagerProphecy->persist($dummy)->shouldNotBeCalled();
69+
$objectManagerProphecy->flush()->shouldBeCalled();
70+
$objectManagerProphecy->refresh($dummy)->shouldBeCalled();
71+
72+
$managerRegistryProphecy = $this->prophesize(ManagerRegistry::class);
73+
$managerRegistryProphecy->getManagerForClass(Dummy::class)->willReturn($objectManagerProphecy->reveal())->shouldBeCalled();
74+
75+
(new DataPersister($managerRegistryProphecy->reveal()))->persist($dummy);
76+
}
77+
6178
public function testPersistWithNullManager()
6279
{
6380
$managerRegistryProphecy = $this->prophesize(ManagerRegistry::class);

0 commit comments

Comments
 (0)