/** * @inheritdoc */ public function create($data) { $data['id'] = null; $object = $this->classFactory->create($this->resource); $this->hydrate($data, $object); $this->persist($object, $data); return $object; }
function it_should_create_entity(ManagerRegistry $registry, EntityManager $em, ClassFactory $factory, ObjectRepository $repository, ClassMetadataInfo $class) { $entity = (object) ['foo' => null, 'bar' => null]; $class->getFieldNames()->willReturn(['id', 'foo', 'bar']); $class->setFieldValue($entity, 'id', null)->shouldBeCalled(); $class->setFieldValue($entity, 'foo', 1)->shouldBeCalled(); $class->setFieldValue($entity, 'bar', 2)->shouldBeCalled(); $class->getAssociationNames()->willReturn([]); $repository->getClassName()->willReturn('foo'); $factory->create('foo')->willReturn($entity); $em->getRepository('foo')->willReturn($repository); $em->getClassMetadata('foo')->willReturn($class); $em->persist($entity)->shouldBeCalled(); $em->flush()->shouldBeCalled(); $registry->getManager(null)->willReturn($em); $this->setRegistry($registry); $this->setClassFactory($factory); $entity->foo = 1; $entity->bar = 2; $this->create(['foo' => 1, 'bar' => 2])->shouldBe($entity); }