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