Doctrine\Tests\Common\DataFixtures\ReferenceRepositoryTest::testGetIdentifierWhenHasNotBeenManagedYetByUnitOfWork PHP Method

testGetIdentifierWhenHasNotBeenManagedYetByUnitOfWork() public method

    public function testGetIdentifierWhenHasNotBeenManagedYetByUnitOfWork()
    {
        $role = new Role();
        $identitiesExpected = ['id' => 1];
        /** @var UnitOfWork | ProphecyInterface $uow */
        $uow = $this->prophesize(UnitOfWork::class);
        $uow->isInIdentityMap($role)->shouldBeCalledTimes(2)->willReturn(true, false);
        /** @var ClassMetadata $classMetadata */
        $classMetadata = $this->prophesize(ClassMetadata::class);
        $classMetadata->getIdentifierValues($role)->shouldBeCalled()->willReturn($identitiesExpected);
        /** @var EntityManagerInterface | ProphecyInterface $em */
        $em = $this->prophesize(EntityManagerInterface::class);
        $em->getUnitOfWork()->shouldBeCalled()->willReturn($uow);
        $em->getClassMetadata(Role::class)->shouldBeCalled()->willReturn($classMetadata);
        $referenceRepository = new ReferenceRepository($em->reveal());
        $referenceRepository->setReference('entity', $role);
        $identities = $referenceRepository->getIdentities();
        $this->assertEquals($identitiesExpected, $identities['entity']);
    }