/**
  * @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);
 }