create test for custom fields group complete scenario

a deps is added on the bundle "person" in order to make test working.
This commit is contained in:
Julien Fastré 2015-11-30 22:10:04 +01:00
parent c9ca7c1e1b
commit 9b5544beaf
4 changed files with 76 additions and 59 deletions

View File

@ -0,0 +1,67 @@
<?php
namespace Chill\CustomFieldsBundle\Tests\Controller;
use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
use Symfony\Bundle\FrameworkBundle\Client;
class CustomFieldsGroupControllerTest extends WebTestCase
{
public function testCompleteScenario()
{
self::bootKernel(array('environment' => 'test_customizable_entities_test_not_empty_config'));
// Create a new client to browse the application
$client = static::createClient(array(), array(
'PHP_AUTH_USER' => 'admin',
'PHP_AUTH_PW' => 'olala',
));
//create the entity
$this->createCustomFieldsGroup($client);
// Edit the entity
$this->editCustomFieldsGroup($client);
}
private function createCustomFieldsGroup(Client &$client)
{
// Create a new entry in the database
$crawler = $client->request('GET', '/fr/admin/customfieldsgroup/');
$this->assertEquals(200, $client->getResponse()->getStatusCode(),
"Unexpected HTTP status code for GET /customfieldsgroup/");
$crawler = $client->click($crawler->selectLink('Créer un nouveau groupe')->link());
// Fill in the form and submit it
$form = $crawler->selectButton('Créer')->form(array(
'custom_fields_group[name][fr]' => 'Test',
'custom_fields_group[entity]' => 'Chill\PersonBundle\Entity\Person'
));
$crawler = $client->submit($form);
$crawler = $client->followRedirect();
// Check data in the show view
$this->assertGreaterThan(0, $crawler->filter('td:contains("Test")')->count(),
'Missing element td:contains("Test")');
}
private function editCustomFieldsGroup(Client $client)
{
$crawler = $client->request('GET', '/fr/admin/customfieldsgroup/');
$crawler = $client->click($crawler->selectLink('modifier')->link());
fwrite(STDOUT, $crawler->text());
$form = $crawler->selectButton('Update')->form(array(
'custom_fields_group[name][fr]' => 'Foo',
));
$client->submit($form);
$crawler = $client->followRedirect();
// Check the element contains an attribute with value equals "Foo"
$this->assertGreaterThan(0, $crawler->filter('[value="Foo"]')->count(),
'Missing element [value="Foo"]');
}
}

View File

@ -1,55 +0,0 @@
<?php
namespace Chill\CustomFieldsBundle\Tests\Controller;
use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
class CustomFieldsGroupControllerTest extends WebTestCase
{
/*
public function testCompleteScenario()
{
// Create a new client to browse the application
$client = static::createClient();
// Create a new entry in the database
$crawler = $client->request('GET', '/customfieldsgroup/');
$this->assertEquals(200, $client->getResponse()->getStatusCode(), "Unexpected HTTP status code for GET /customfieldsgroup/");
$crawler = $client->click($crawler->selectLink('Create a new entry')->link());
// Fill in the form and submit it
$form = $crawler->selectButton('Create')->form(array(
'cl_customfieldsbundle_customfieldsgroup[field_name]' => 'Test',
// ... other fields to fill
));
$client->submit($form);
$crawler = $client->followRedirect();
// Check data in the show view
$this->assertGreaterThan(0, $crawler->filter('td:contains("Test")')->count(), 'Missing element td:contains("Test")');
// Edit the entity
$crawler = $client->click($crawler->selectLink('Edit')->link());
$form = $crawler->selectButton('Update')->form(array(
'cl_customfieldsbundle_customfieldsgroup[field_name]' => 'Foo',
// ... other fields to fill
));
$client->submit($form);
$crawler = $client->followRedirect();
// Check the element contains an attribute with value equals "Foo"
$this->assertGreaterThan(0, $crawler->filter('[value="Foo"]')->count(), 'Missing element [value="Foo"]');
// Delete the entity
$client->submit($crawler->selectButton('Delete')->form());
$crawler = $client->followRedirect();
// Check the entity has been delete on the list
$this->assertNotRegExp('/Foo/', $client->getResponse()->getContent());
}
*/
}

View File

@ -17,7 +17,8 @@ class AppKernel extends Kernel
new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(), new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(),
new \Chill\MainBundle\ChillMainBundle, new \Chill\MainBundle\ChillMainBundle,
new \Doctrine\Bundle\FixturesBundle\DoctrineFixturesBundle(), new \Doctrine\Bundle\FixturesBundle\DoctrineFixturesBundle(),
new Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle() new Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle(),
new Chill\PersonBundle\ChillPersonBundle(),
#add here all the required bundle (some bundle are not required) #add here all the required bundle (some bundle are not required)
); );
} }

View File

@ -17,7 +17,7 @@
], ],
"require": { "require": {
"php": "~5.5", "php": "~5.5",
"symfony/symfony": "~2.7", "symfony/symfony": "2.7.*",
"doctrine/orm": "~2.4", "doctrine/orm": "~2.4",
"doctrine/dbal" : "~2.5", "doctrine/dbal" : "~2.5",
"doctrine/common": "~2.4", "doctrine/common": "~2.4",
@ -34,7 +34,8 @@
"chill-project/main": "dev-master" "chill-project/main": "dev-master"
}, },
"require-dev": { "require-dev": {
"doctrine/doctrine-fixtures-bundle": "~2.2@dev" "doctrine/doctrine-fixtures-bundle": "~2.2@dev",
"chill-project/person": "dev-master@dev"
}, },
"scripts": { "scripts": {
"post-install-cmd": [ "post-install-cmd": [
@ -54,6 +55,9 @@
}, },
"extra": { "extra": {
"symfony-app-dir": "Tests/Fixtures/App/app", "symfony-app-dir": "Tests/Fixtures/App/app",
"app-migrations-dir": "Tests/Fixtures/App/app/DoctrineMigrations" "app-migrations-dir": "Tests/Fixtures/App/app/DoctrineMigrations",
"branch-alias": {
"dev-master": "fix_admin_interface-dev"
}
} }
} }