Phalcon\Test\integration\Forms\FormCest::clearFormElementsByUsingFormBind PHP Method

clearFormElementsByUsingFormBind() public method

Tests clearing the Form Elements by using Form::bind
Since: 2016-10-01
Author: Serghei Iakovlev ([email protected])
public clearFormElementsByUsingFormBind ( IntegrationTester $I )
$I IntegrationTester
    public function clearFormElementsByUsingFormBind(IntegrationTester $I)
    {
        $name = new Text('sel_name');
        $text = new Text('sel_text');
        $form = new Form();
        $form->add($name)->add($text);
        $entity = new MvcModel();
        $I->assertNull(Tag::getValue('sel_name'));
        $I->assertNull($form->getValue('sel_name'));
        $I->assertNull($form->get('sel_name')->getValue());
        $I->assertNull($name->getValue());
        Tag::setDefault('sel_name', 'Please specify name');
        $_POST = ['sel_name' => 'Some Name', 'sel_text' => 'Some Text'];
        $form->bind($_POST, $entity);
        $I->assertEquals('Some Name', $entity->getName());
        $I->assertEquals('Some Text', $entity->getText());
        $I->assertEquals('Some Name', $form->getValue('sel_name'));
        $I->assertEquals('Some Name', $form->get('sel_name')->getValue());
        $I->assertEquals('Some Name', $name->getValue());
        $I->assertEquals('Some Text', $form->getValue('sel_text'));
        $I->assertEquals('Some Text', $form->get('sel_text')->getValue());
        $I->assertEquals('Some Text', $text->getValue());
        $form->clear(['sel_name']);
        $I->assertNull(Tag::getValue('sel_name'));
        $I->assertNull($form->getValue('sel_name'));
        $I->assertNull($form->get('sel_name')->getValue());
        $I->assertNull($name->getValue());
        $I->assertEquals('Some Text', $form->getValue('sel_text'));
        $I->assertEquals('Some Text', $form->get('sel_text')->getValue());
        $I->assertEquals('Some Text', $text->getValue());
        $form->clear(['non_existent', 'another_filed']);
        $I->assertEquals('Some Text', $form->getValue('sel_text'));
        $I->assertEquals('Some Text', $form->get('sel_text')->getValue());
        $I->assertEquals('Some Text', $text->getValue());
        $form->clear();
        $I->assertNull(Tag::getValue('sel_text'));
        $I->assertNull($form->getValue('sel_text'));
        $I->assertNull($form->get('sel_text')->getValue());
        $I->assertNull($text->getValue());
        $I->assertEquals('Some Name', $entity->getName());
        $I->assertEquals('Some Text', $entity->getText());
        $I->assertEquals(['sel_name' => 'Some Name', 'sel_text' => 'Some Text'], $_POST);
    }