public function testUpdate()
 {
     $service = new \PlaygroundCore\Service\Formgen();
     $service->setServiceManager(Bootstrap::getServiceManager());
     $formgenPostUpdate = new FormgenEntity();
     $formgenPostUpdate->populate($this->formgenData);
     $mapper = $this->getMockBuilder('PlaygroundCore\\Mapper\\Formgen')->disableOriginalConstructor()->getMock();
     $mapper->expects($this->any())->method('insert')->will($this->returnValue($formgenPostUpdate));
     $mapper->expects($this->any())->method('update')->will($this->returnValue($formgenPostUpdate));
     $service->setFormgenMapper($mapper);
     $formgenDataFromForm = $this->formgenData;
     $formgenDataFromForm['form_jsonified'] = '[{"form_properties":[{"name":"form_properties","namespace":"","title":"Titre du formulaire","description":"Description","website":"1","class":"","model_name":"","id":"","class_name":""}]},{"line_text":[{"name":"text","type":"Zend\\Form\\Element\\Text","order":"1","data":{"placeholder":"Your civility...","label":"Civility","required":"0","class":"","id":"","length":{"min":"","max":""}}}]},{"line_text":[{"name":"text","type":"Zend\\Form\\Element\\Text","order":"2","data":{"placeholder":"Your firstname...","label":"Firstname","required":"0","class":"","id":"","length":{"min":"","max":""}}}]},{"line_text":[{"name":"text","type":"Zend\\Form\\Element\\Text","order":"3","data":{"placeholder":"Your lastname...","label":"Lastname","required":"0","class":"","id":"","length":{"min":"","max":""}}}]}]';
     $formgenDataFromForm['form_template'] = $this->formgenData['formtemplate'];
     $formgenDataFromForm['website'] = null;
     $formgen = $service->update($formgenPostUpdate, $formgenDataFromForm);
     $this->assertEquals("Titre du formulaire", $formgen->getTitle());
 }
 public function testPopulate()
 {
     $formgenEntity = new FormgenEntity();
     $formgenEntity->populate($this->formgen);
     $this->assertEquals($this->formgen["title"], $formgenEntity->getTitle());
     $this->assertEquals($this->formgen["description"], $formgenEntity->getDescription());
     $this->assertEquals($this->formgen["formjsonified"], $formgenEntity->getFormjsonified());
     $this->assertEquals($this->formgen["formtemplate"], $formgenEntity->getFormtemplate());
 }
 public function testRemove()
 {
     $self = $this;
     $this->em->transactional(function ($em) use($self) {
         $formgen = new FormgenEntity();
         $formgen->setTitle('Titre de test');
         $formgen->setDescription('Description de test');
         $formgen->setFormjsonified('[{"dujsondetest"}]');
         $formgen->setFormtemplate('<li>test</li>');
         $self->getFormgenMapper()->insert($formgen);
     });
     $this->em->flush();
     $this->em->clear();
     $formgens = $this->getFormgenMapper()->findAll();
     $this->assertEquals(count($formgens), 1);
     $this->em->transactional(function ($em) use($self) {
         $formgen = new formgenEntity();
         $formgen->setTitle('Titre de test 2');
         $formgen->setDescription('Description de test 2');
         $formgen->setFormjsonified('[{"dujsondetest"}]');
         $formgen->setFormtemplate('<li>test</li>');
         $self->getFormgenMapper()->insert($formgen);
     });
     $this->em->flush();
     $this->em->clear();
     $formgens = $this->getFormgenMapper()->findAll();
     $this->assertEquals(count($formgens), 2);
     foreach ($formgens as $formgen) {
         $this->getFormgenMapper()->remove($formgen);
     }
     $formgens = $this->getFormgenMapper()->findAll();
     $this->assertEquals(count($formgens), 0);
 }