. */ namespace Chill\CustomFieldsBundle\Tests; use Symfony\Bundle\FrameworkBundle\Test\WebTestCase; use Chill\CustomFieldsBundle\Entity\CustomField; use Chill\CustomFieldsBundle\CustomFields\CustomFieldText; use Symfony\Component\HttpFoundation\RequestStack; use Symfony\Component\DomCrawler\Crawler; use Chill\CustomFieldsBundle\Tests\CustomFieldTestHelper; /** * * * @author Julien Fastré */ class CustomFieldsTextTest extends WebTestCase { /** * * @var \Chill\CustomFieldsBundle\Service\CustomFieldProvider */ private $customFieldProvider; public function setUp() { static::bootKernel(); $this->customFieldProvider = static::$kernel->getContainer() ->get('chill.custom_field.provider'); } public function testCustomFieldsTextExists() { $customField = $this->customFieldProvider->getCustomFieldByType('text'); $this->assertInstanceOf('Chill\CustomFieldsBundle\CustomFields\CustomFieldInterface', $customField); $this->assertInstanceOf('Chill\CustomFieldsBundle\CustomFields\CustomFieldText', $customField); } public function testPublicFormRenderingLengthLessThan256() { $customField = new CustomField(); $customField->setType('text') ->setOptions(array(CustomFieldText::MAX_LENGTH => 255)) ->setSlug('slug') ->setOrdering(10) ->setActive(true) ->setName(array('en' => 'my label')); $crawler = CustomFieldTestHelper::getCrawlerForField($customField, $this, static::$kernel); $this->assertCount(1, $crawler->filter("input[type=text]")); $this->assertCount(1, $crawler->filter("label:contains('my label')")); } public function testPublicFormRenderingLengthMoreThan25() { $customField = new CustomField(); $customField->setType('text') ->setOptions(array(CustomFieldText::MAX_LENGTH => 256)) ->setSlug('slug') ->setOrdering(10) ->setActive(true) ->setName(array('en' => 'my label')); $crawler = CustomFieldTestHelper::getCrawlerForField($customField, $this, static::$kernel); $this->assertCount(1, $crawler->filter("textarea")); $this->assertCount(1, $crawler->filter("label:contains('my label')")); } public function testFormTextNew() { $client = static::createClient(); $crawler = $client->request('GET', '/fr/admin/customfield/new?type=text'); $this->assertTrue($client->getResponse()->isSuccessful()); $form = $crawler->selectButton('custom_field_choice_submit')->form(); $this->assertTrue($form->has('custom_field_choice[options][maxLength]')); } }