public function testEntityConfigurator()
 {
     $utils = new Utils();
     $router = $this->_kernel->getContainer()->get('router');
     $translator = $this->_kernel->getContainer()->get('translator');
     $entityName = 'entityconfigurator';
     $route = $router->generate('entitygen');
     $crawler = $this->client->request('GET', $route);
     //navigate to index page
     $this->assertEquals(200, $this->client->getResponse()->getStatusCode(), 'Server error on index ' . $entityName);
     $this->assertGreaterThan(0, $crawler->filter('h1:contains("' . $translator->trans($entityName . '.indextitle') . '")')->count(), 'Navigate to index form of' . $entityName);
     //select and click on Add link
     $link = $crawler->selectLink($translator->trans('buttons.add'))->link();
     $crawler = $this->client->click($link);
     $this->assertEquals(200, $this->client->getResponse()->getStatusCode(), 'Server error on creation ' . $entityName);
     $this->assertGreaterThan(0, $crawler->filter('h1:contains("' . $translator->trans($entityName . '.newtitle') . '")')->count(), 'Navigate to Creation form of' . $entityName);
     $buttonCrawlerNode = $crawler->selectButton($translator->trans('buttons.save'));
     $form = $buttonCrawlerNode->form();
     $var = $utils->getRandomVariable(6, 'string');
     $category = $this->_kernel->getContainer()->get('doctrine')->getEntityManager()->getRepository('LowbiConfiguratorBundle:Category')->findOneByName('Defaut');
     $crawler = $this->client->submit($form, array('lowbi_configuratorbundle_entityconfiguratortype[tableName]' => 'test_' . $var, 'lowbi_configuratorbundle_entityconfiguratortype[bundleName]' => 'LowbiSystemBundle', 'lowbi_configuratorbundle_entityconfiguratortype[entityName]' => 'Entity' . ucFirst($var), 'lowbi_configuratorbundle_entityconfiguratortype[category]' => $category->getId(), 'lowbi_configuratorbundle_entityconfiguratortype[routePrefix]' => $var, 'lowbi_configuratorbundle_entityconfiguratortype[security]' => '1', 'lowbi_configuratorbundle_entityconfiguratortype[administrable]' => '1'));
     /*
     	$this->assertEquals(200,$this->client->getResponse()->getStatusCode(),'Server error on details '.$entityName);
     	$this->assertGreaterThan(0,$crawler->filter('h1:contains("'.$translator->trans($entityName.'.edittitle').'")')->count(),'Navigate to Show form of'.$entityName);
     	
     	
     	//Add fields to the entity
     	$var = $utils->getRandomVariable(6, 'string');
     	$crawler = $this->client->submit($form, array(
     	    'lowbi_configuratorbundle_entityconfiguratortype[fields][0][fieldName]'  => 'field'.$var,
     	    'lowbi_configuratorbundle_entityconfiguratortype[fields][0][fieldType]'  => 'string',
     	    'lowbi_configuratorbundle_entityconfiguratortype[fields][0][fragment]'  => 'text',
     	    'lowbi_configuratorbundle_entityconfiguratortype[fields][0][length]'  => '50',
     	    'lowbi_configuratorbundle_entityconfiguratortype[fields][0][search]'  => '1',
     	    'lowbi_configuratorbundle_entityconfiguratortype[fields][0][required]'  => '1',
     	    'lowbi_configuratorbundle_entityconfiguratortype[fields][1][fieldName]'  => 'fieldOther'.$var,
     	    'lowbi_configuratorbundle_entityconfiguratortype[fields][1][fieldType]'  => 'integer',
     	    'lowbi_configuratorbundle_entityconfiguratortype[fields][1][fragment]'  => 'number',
     	    'lowbi_configuratorbundle_entityconfiguratortype[fields][1][length]'  => '5',
     	    'lowbi_configuratorbundle_entityconfiguratortype[fields][1][search]'  => '1',
     	    'lowbi_configuratorbundle_entityconfiguratortype[fields][1][required]'  => '1',
     	));
     	
     	$this->assertEquals(200,$this->client->getResponse()->getStatusCode(),'Server error on details '.$entityName);
     	$this->assertGreaterThan(0,$crawler->filter('h1:contains("'.$translator->trans($entityName.'.showtitle').'")')->count(),'Navigate to Show form of'.$entityName);
     	
     	//select and click on Edit link
     	$link = $crawler->selectLink($translator->trans('entityconfigurator.loadentity'))->link();
     	$crawler = $this->client->click($link);
     	
     	$this->assertEquals(200,$this->client->getResponse()->getStatusCode(),'Server error on edition '.$entityName);
     	$this->assertGreaterThan(0,$crawler->filter('h1:contains("'.$translator->trans($entityName.'.showtitle').'")')->count(),'Navigate to Show form of'.$entityName);
     
     	$link = $crawler->selectLink($translator->trans('entityconfigurator.loadfield'))->link();
     	$crawler = $this->client->click($link);
     	
     	$this->assertEquals(200,$this->client->getResponse()->getStatusCode(),'Server error on index '.$entityName);
     	$this->assertGreaterThan(0,$crawler->filter('h1:contains("'.$translator->trans($entityName.'.showtitle').'")')->count(),'Navigate to Show form of'.$entityName);
     */
 }
Esempio n. 2
0
 public function testNewCg07()
 {
     $utils = new Utils();
     $factory = new MetadataFactory($this->doctrine);
     $entityInfo = $factory->getClassMetadata('Lowbi\\SystemBundle\\Entity\\Cg07')->getMetadata();
     $simpleField = array();
     $entityField = array();
     foreach ($entityInfo[0]->fieldMappings as $field) {
         if ($field['fieldName'] != 'id') {
             $simpleField[] = $field;
         }
     }
     foreach ($entityInfo[0]->associationMappings as $field) {
         $entityField[] = $field;
     }
     $myEntity = new Category();
     foreach ($simpleField as $field) {
         $setter = 'set' . ucfirst($field['fieldName']);
         if (method_exists($myEntity, $setter)) {
             $myEntity->{$setter}($utils->fillField($field));
         }
     }
     // @codeCoverageIgnoreStart
     foreach ($entityField as $entity) {
         switch ($entity['type']) {
             case ClassMetadataInfo::MANY_TO_MANY:
                 $itemTolink = $this->em->getRepository($entity['targetEntity'])->findAll();
                 $fieldName = substr($entity['fieldName'], 0, strlen($entity['fieldName']) - 1);
                 $setter = 'add' . ucfirst($fieldName);
                 if (method_exists($myEntity, $setter) && count($itemTolink) > 0) {
                     $myEntity->{$setter}($itemTolink[0]);
                 }
                 break;
             case ClassMetadataInfo::MANY_TO_ONE:
                 $itemTolink = $this->em->getRepository($entity['targetEntity'])->findAll();
                 $fieldName = substr($entity['fieldName'], 0, strlen($entity['fieldName']) - 1);
                 $setter = 'set' . ucfirst($fieldName);
                 if (method_exists($myEntity, $setter) && count($itemTolink) > 0) {
                     $myEntity->{$setter}($itemTolink[0]);
                 }
                 break;
             case ClassMetadataInfo::ONE_TO_ONE:
                 $itemTolink = $this->em->getRepository($entity['targetEntity'])->findAll();
                 $fieldName = substr($entity['fieldName'], 0, strlen($entity['fieldName']) - 1);
                 $setter = 'set' . ucfirst($fieldName);
                 if (method_exists($myEntity, $setter) && count($itemTolink) > 0) {
                     $myEntity->{$setter}($itemTolink[0]);
                 }
                 break;
         }
     }
     // @codeCoverageIgnoreEnd
     $this->em->persist($myEntity);
     $this->em->flush();
     return $entityField;
 }
Esempio n. 3
0
 public function testUserInterface()
 {
     $utils = new Utils();
     $router = $this->_kernel->getContainer()->get('router');
     $translator = $this->_kernel->getContainer()->get('translator');
     $entityName = 'user';
     $route = $router->generate($entityName);
     $crawler = $this->client->request('GET', $route);
     //navigate to index page
     $this->assertEquals(200, $this->client->getResponse()->getStatusCode(), 'Server error on index ' . $entityName);
     $this->assertGreaterThan(0, $crawler->filter('h1:contains("' . $translator->trans($entityName . '.indextitle') . '")')->count(), 'Navigate to index form of' . $entityName);
     //select and click on Add link
     $link = $crawler->selectLink($translator->trans('buttons.add'))->link();
     $crawler = $this->client->click($link);
     $this->assertEquals(200, $this->client->getResponse()->getStatusCode(), 'Server error on creation ' . $entityName);
     $this->assertGreaterThan(0, $crawler->filter('h1:contains("' . $translator->trans($entityName . '.newtitle') . '")')->count(), 'Navigate to Creation form of' . $entityName);
     $buttonCrawlerNode = $crawler->selectButton($translator->trans('buttons.save'));
     $form = $buttonCrawlerNode->form();
     $username = '******' . $utils->getRandomVariable(4, 'string');
     $crawler = $this->client->submit($form, array('lowbi_systembundle_usertype[username]' => $username, 'lowbi_systembundle_usertype[firstName]' => 'Bernard', 'lowbi_systembundle_usertype[lastName]' => 'Martin', 'lowbi_systembundle_usertype[email]' => 'bernard.' . $username . '@lowbi.com', 'lowbi_systembundle_usertype[password]' => 'test1'));
     $this->assertEquals(200, $this->client->getResponse()->getStatusCode(), 'Server error on details ' . $entityName);
     $this->assertGreaterThan(0, $crawler->filter('h1:contains("' . $translator->trans($entityName . '.showtitle') . '")')->count(), 'Navigate to Show form of' . $entityName);
     //select and click on Edit link
     $link = $crawler->filter('a.editEntityButton')->link();
     $crawler = $this->client->click($link);
     $this->assertEquals(200, $this->client->getResponse()->getStatusCode(), 'Server error on edition ' . $entityName);
     $this->assertGreaterThan(0, $crawler->filter('h1:contains("' . $translator->trans($entityName . '.edittitle') . '")')->count(), 'Navigate to Edition form of' . $entityName);
     //select and click on Back link
     $link = $crawler->selectLink($translator->trans('buttons.back'))->link();
     $crawler = $this->client->click($link);
     $this->assertEquals(200, $this->client->getResponse()->getStatusCode(), 'Server error on index ' . $entityName);
     $this->assertGreaterThan(0, $crawler->filter('h1:contains("' . $translator->trans($entityName . '.indextitle') . '")')->count(), 'Navigate to Index form of' . $entityName);
     //select first item from index list
     $link = $crawler->filter('a.showButton')->first()->link();
     $crawler = $this->client->click($link);
     $this->assertEquals(200, $this->client->getResponse()->getStatusCode(), 'Server error on details ' . $entityName);
     $this->assertGreaterThan(0, $crawler->filter('h1:contains("' . $translator->trans($entityName . '.showtitle') . '")')->count(), 'Navigate to show form of' . $entityName);
     $crawler = $this->client->back();
     //select first item from index list
     $link = $crawler->filter('a.editButton')->first()->link();
     $crawler = $this->client->click($link);
     $this->assertEquals(200, $this->client->getResponse()->getStatusCode(), 'Server error on edition ' . $entityName);
     $this->assertGreaterThan(0, $crawler->filter('h1:contains("' . $translator->trans($entityName . '.edittitle') . '")')->count(), 'Navigate to edit form of' . $entityName);
     //delete item
     $form = $crawler->selectButton($translator->trans('buttons.delete'))->form();
     $crawler = $this->client->click($form);
 }
 public function testSystemEventsInterface()
 {
     $utils = new Utils();
     $router = $this->_kernel->getContainer()->get('router');
     $translator = $this->_kernel->getContainer()->get('translator');
     $entityName = strtolower('SystemEvents');
     $route = $router->generate($entityName);
     $crawler = $this->client->request('GET', $route);
     //navigate to index page
     $this->assertEquals(200, $this->client->getResponse()->getStatusCode(), 'Server error on index ' . $entityName);
     $this->assertGreaterThan(0, $crawler->filter('h1:contains("' . $translator->trans($entityName . '.indextitle') . '")')->count(), 'Navigate to index form of' . $entityName);
     //select and click on Add link
     $link = $crawler->selectLink($translator->trans('buttons.add'))->link();
     $crawler = $this->client->click($link);
     $this->assertEquals(200, $this->client->getResponse()->getStatusCode(), 'Server error on creation ' . $entityName);
     $this->assertGreaterThan(0, $crawler->filter('h1:contains("' . $translator->trans($entityName . '.newtitle') . '")')->count(), 'Navigate to Creation form of' . $entityName);
     $buttonCrawlerNode = $crawler->selectButton($translator->trans('buttons.save'));
     $form = $buttonCrawlerNode->form();
     $form = $this->_kernel->getContainer()->get('form.factory')->create(new \Lowbi\SystemBundle\Form\SystemEventsType());
     $formName = $form->getName();
     $em = $this->_kernel->getContainer()->get('doctrine.orm.entity_manager');
     $entityFieldMapping = $em->getClassMetadata('Lowbi\\SystemBundle\\Entity\\SystemEvents')->fieldMappings;
     /* @var $tools \Lowbi\SystemBundle\Services\SystemTools */
     $tools = $this->_kernel->getContainer()->get('lowbi.system');
     $crawlerField = array();
     foreach ($form as $field) {
         /* @var $field \Symfony\Component\Form\Form */
         if ($field->getName() != '_token') {
             $fieldType = $tools->guessFormFieldType($field);
             $fieldLength = $entityFieldMapping[$field->getName()]['length'];
             $formKey = $formName . '[' . $field->getName() . ']';
             $formValue = $utils->getRandomVariable($fieldLength, $fieldType);
             $crawlerField[$formKey] = $formValue;
         }
     }
     $crawler = $this->client->submit($form, $crawlerField);
     $this->assertEquals(200, $this->client->getResponse()->getStatusCode(), 'Server error on details ' . $entityName);
     $this->assertGreaterThan(0, $crawler->filter('h1:contains("' . $translator->trans($entityName . '.showtitle') . '")')->count(), 'Navigate to Show form of' . $entityName);
     //select and click on Edit link
     $link = $crawler->selectLink($translator->trans('buttons.edit'))->link();
     $crawler = $this->client->click($link);
     $this->assertEquals(200, $this->client->getResponse()->getStatusCode(), 'Server error on edition ' . $entityName);
     $this->assertGreaterThan(0, $crawler->filter('h1:contains("' . $translator->trans($entityName . '.edittitle') . '")')->count(), 'Navigate to Edition form of' . $entityName);
     //select and click on Back link
     $link = $crawler->selectLink($translator->trans('buttons.back'))->link();
     $crawler = $this->client->click($link);
     $this->assertEquals(200, $this->client->getResponse()->getStatusCode(), 'Server error on index ' . $entityName);
     $this->assertGreaterThan(0, $crawler->filter('h1:contains("' . $translator->trans($entityName . '.indextitle') . '")')->count(), 'Navigate to Index form of' . $entityName);
     //select first item from index list
     $link = $crawler->filter('a.showButton')->first()->link();
     $crawler = $this->client->click($link);
     $this->assertEquals(200, $this->client->getResponse()->getStatusCode(), 'Server error on details ' . $entityName);
     $this->assertGreaterThan(0, $crawler->filter('h1:contains("' . $translator->trans($entityName . '.showtitle') . '")')->count(), 'Navigate to show form of' . $entityName);
     $crawler = $this->client->back();
     //select first item from index list
     $link = $crawler->filter('a.editButton')->first()->link();
     $crawler = $this->client->click($link);
     $this->assertEquals(200, $this->client->getResponse()->getStatusCode(), 'Server error on edition ' . $entityName);
     $this->assertGreaterThan(0, $crawler->filter('h1:contains("' . $translator->trans($entityName . '.edittitle') . '")')->count(), 'Navigate to edit form of' . $entityName);
     //delete item
     $form = $crawler->selectButton($translator->trans('buttons.delete'))->form();
     $crawler = $this->client->click($form);
 }
Esempio n. 5
0
 public function testUserInterface()
 {
     $utils = new Utils();
     $router = $this->_kernel->getContainer()->get('router');
     $translator = $this->_kernel->getContainer()->get('translator');
     $entityName = 'role';
     $route = $router->generate($entityName);
     $crawler = $this->client->request('GET', $route);
     //navigate to index page
     $this->assertEquals(200, $this->client->getResponse()->getStatusCode(), 'Server error on index ' . $entityName);
     $this->assertGreaterThan(0, $crawler->filter('h1:contains("' . $translator->trans($entityName . '.indextitle') . '")')->count(), 'Navigate to index form of' . $entityName);
     //select and click on Add link
     $link = $crawler->selectLink($translator->trans('buttons.add'))->link();
     $crawler = $this->client->click($link);
     $this->assertEquals(200, $this->client->getResponse()->getStatusCode(), 'Server error on creation ' . $entityName);
     $this->assertGreaterThan(0, $crawler->filter('h1:contains("' . $translator->trans($entityName . '.newtitle') . '")')->count(), 'Navigate to Creation form of' . $entityName);
     $buttonCrawlerNode = $crawler->selectButton($translator->trans('buttons.save'));
     $form = $buttonCrawlerNode->form();
     $role = $utils->getRandomVariable(5, 'string');
     $crawler = $this->client->submit($form, array('lowbi_systembundle_roletype[role]' => 'ROLE_' . strtoupper($role), 'lowbi_systembundle_roletype[name]' => $role, 'lowbi_systembundle_roletype[description]' => $utils->getRandomVariable(100, 'string')));
     $this->assertEquals(200, $this->client->getResponse()->getStatusCode(), 'Server error on details ' . $entityName);
     $this->assertGreaterThan(0, $crawler->filter('h1:contains("' . $translator->trans($entityName . '.showtitle') . '")')->count(), 'Navigate to Show form of' . $entityName);
     //select and click on Edit link
     $link = $crawler->filter('a.editEntityButton')->link();
     $crawler = $this->client->click($link);
     $this->assertEquals(200, $this->client->getResponse()->getStatusCode(), 'Server error on edition ' . $entityName);
     $this->assertGreaterThan(0, $crawler->filter('h1:contains("' . $translator->trans($entityName . '.edittitle') . '")')->count(), 'Navigate to Edition form of' . $entityName);
     //select and click on Back link
     $link = $crawler->selectLink($translator->trans('buttons.back'))->link();
     $crawler = $this->client->click($link);
     $this->assertEquals(200, $this->client->getResponse()->getStatusCode(), 'Server error on index ' . $entityName);
     $this->assertGreaterThan(0, $crawler->filter('h1:contains("' . $translator->trans($entityName . '.indextitle') . '")')->count(), 'Navigate to Index form of' . $entityName);
     //select first item from index list
     $link = $crawler->filter('a.showButton')->first()->link();
     $crawler = $this->client->click($link);
     $this->assertEquals(200, $this->client->getResponse()->getStatusCode(), 'Server error on details ' . $entityName);
     $this->assertGreaterThan(0, $crawler->filter('h1:contains("' . $translator->trans($entityName . '.showtitle') . '")')->count(), 'Navigate to show form of' . $entityName);
     //click on Membres tab
     $link = $crawler->selectLink('Membres')->link();
     $crawler = $this->client->click($link);
     $this->assertEquals(200, $this->client->getResponse()->getStatusCode(), 'Server error on details ' . $entityName);
     $this->assertGreaterThan(0, $crawler->filter('h1:contains("' . $translator->trans($entityName . '.showtitle') . '")')->count(), 'Navigate to show form of' . $entityName);
     //click on Droits tab
     $link = $crawler->selectLink('Droits')->link();
     $crawler = $this->client->click($link);
     $this->assertEquals(200, $this->client->getResponse()->getStatusCode(), 'Server error on details ' . $entityName);
     $this->assertGreaterThan(0, $crawler->filter('h1:contains("' . $translator->trans($entityName . '.showtitle') . '")')->count(), 'Navigate to show form of' . $entityName);
     //select and click on Back link
     $link = $crawler->selectLink($translator->trans('buttons.back'))->link();
     $crawler = $this->client->click($link);
     //select first item from index list
     $link = $crawler->selectLink($translator->trans('buttons.show'))->first()->link();
     $crawler = $this->client->click($link);
     $this->assertEquals(200, $this->client->getResponse()->getStatusCode(), 'Server error on edition ' . $entityName);
     $this->assertGreaterThan(0, $crawler->filter('h1:contains("' . $translator->trans($entityName . '.showtitle') . '")')->count(), 'Navigate to show form of' . $entityName);
     //select and click on Edit link
     $link = $crawler->filter('a.editEntityButton')->link();
     $crawler = $this->client->click($link);
     $this->assertEquals(200, $this->client->getResponse()->getStatusCode(), 'Server error on edition ' . $entityName);
     $this->assertGreaterThan(0, $crawler->filter('h1:contains("' . $translator->trans($entityName . '.edittitle') . '")')->count(), 'Navigate to edit form of' . $entityName);
     //delete item
     $form = $crawler->selectButton($translator->trans('buttons.delete'))->form();
     $crawler = $this->client->click($form);
 }