Skip to content
This repository has been archived by the owner on Dec 12, 2022. It is now read-only.

Commit

Permalink
more code
Browse files Browse the repository at this point in the history
  • Loading branch information
bupy7 committed Aug 26, 2016
1 parent 6f641c1 commit 14903fd
Show file tree
Hide file tree
Showing 8 changed files with 174 additions and 23 deletions.
4 changes: 3 additions & 1 deletion composer.json
Expand Up @@ -20,7 +20,9 @@
"adamwathan/form": "~0.8.9",
"zendframework/zend-view": "^2.8",
"zendframework/zend-modulemanager": "^2.7.2",
"zendframework/zend-servicemanager": "^3.1"
"zendframework/zend-servicemanager": "^3.1",
"zendframework/zend-validator": "^2.8",
"zendframework/zend-inputfilter": "^2.7.2"
},
"require-dev": {
"phpunit/phpunit": "^5.5",
Expand Down
2 changes: 1 addition & 1 deletion src/FormAbstract.php
Expand Up @@ -61,7 +61,7 @@ public function isValid()

/**
* Returns values from the input filter.
* @param boolean $onlyValid If set `true` then returns only validated values.
* @param boolean $onlyValid If set as `true` will returned raw values (no filtered).
* @return array
*/
public function getValues($onlyValid = true)
Expand Down
36 changes: 36 additions & 0 deletions tests/Asset/SignInFilter.php
@@ -0,0 +1,36 @@
<?php

namespace Bupy7\Form\Tests\Asset;

use Zend\InputFilter\InputFilter;

/**
* Input filter of signin.
*/
class SignInFilter extends InputFilter
{
/**
* {@inheritdoc}
*/
public function __construct()
{
$this->add([
'name' => 'email',
'required' => true,
'validators' => [
[
'name' => 'EmailAddress',
],
],
]);
$this->add([
'name' => 'password',
'required' => true,
'filters' => [
[
'name' => 'StringTrim',
],
],
]);
}
}
38 changes: 38 additions & 0 deletions tests/Asset/SignInForm.php
@@ -0,0 +1,38 @@
<?php

namespace Bupy7\Form\Tests\Asset;

use Bupy7\Form\FormAbstract;

/**
* Form of signin.
*/
class SignInForm extends FormAbstract
{
/**
* {@inheritdoc}
*/
protected function inputs()
{
return [
[
'name' => 'email',
'required' => true,
'validators' => [
[
'name' => 'EmailAddress',
],
],
],
[
'name' => 'password',
'required' => true,
'filters' => [
[
'name' => 'StringTrim',
]
],
],
];
}
}
81 changes: 81 additions & 0 deletions tests/FormAbstractTest.php
@@ -0,0 +1,81 @@
<?php

namespace Bupy7\Form\Tests;

use PHPUnit_Framework_TestCase;
use Bupy7\Form\Tests\Asset\SignInForm;
use Bupy7\Form\Tests\Asset\SignInFilter;

/**
* @author Vasilij Belosludcev <https://github.com/bupy7>
* @since 1.0.0
*/
class FormAstractTest extends PHPUnit_Framework_TestCase
{
/**
* Testing inputs data.
*/
public function testInputs()
{
// valid
$signInForm = new SignInForm;
$signInForm->setValues([
'email' => 'test@gmail.com',
'password' => '12q34e56t78',
]);
$this->assertTrue($signInForm->isValid());

// invalid
$signInForm = new SignInForm;
$signInForm->setValues([
'email' => 'test@gmail.never',
'password' => '',
]);
$this->assertFalse($signInForm->isValid());
$errors = $signInForm->getErrors();
$this->assertTrue(!empty($errors));
}

/**
* Testing outputs data.
*/
public function testOutputs()
{
// valid
$signInForm = new SignInForm;
$signInForm->setValues([
'email' => 'test@gmail.com',
'password' => ' 12q34e56t78 ',
]);
$this->assertTrue($signInForm->isValid());
$values = $signInForm->getValues();
$this->assertEquals('12q34e56t78', $values['password']);
$values = $signInForm->getValues(false);
$this->assertEquals(' 12q34e56t78 ', $values['password']);

// invalid
$signInForm = new SignInForm;
$signInForm->setValues([
'email' => 'test@gmail.co2m',
'password' => ' 12q34e56t78 ',
]);
$this->assertFalse($signInForm->isValid());
$values = $signInForm->getValues();
$this->assertEquals('12q34e56t78', $values['password']);
$values = $signInForm->getValues(false);
$this->assertEquals(' 12q34e56t78 ', $values['password']);
}

/**
* Testing instance of input filter.
*/
public function testInstanceInputFilter()
{
$signInForm = new SignInForm;
$signInForm->setInputFilter(new SignInFilter);
$this->assertInstanceOf(SignInFilter::class, $signInForm->getInputFilter());
$signInForm->setValues([]);
$this->assertFalse($signInForm->isValid());
}
}

2 changes: 1 addition & 1 deletion tests/FormBuilderFactoryTest.php
Expand Up @@ -17,7 +17,7 @@ class FormBuilderFactoryTest extends PHPUnit_Framework_TestCase
*/
public function testInstance()
{
$moduleConfig = require __DIR__ . '/../config/module.config.php';
$moduleConfig = require __DIR__ . '/../config/module.config.php';
$serviceManager = new ServiceManager($moduleConfig['service_manager']);

$formBuilder1 = $serviceManager->get('Bupy7\Form\FormBuilder');
Expand Down
8 changes: 4 additions & 4 deletions tests/ModuleTest.php
Expand Up @@ -26,11 +26,11 @@ public function testLoader()
'module_paths' => [
__DIR__ . '/../src'
],
'config_cache_enabled' => false,
'module_map_cache_enabled' => false,
'check_dependencies' => true,
'config_cache_enabled' => false,
'module_map_cache_enabled' => false,
'check_dependencies' => true,
],
]);
$this->assertInstanceOf(Module::class, $moduleLoader->getModule('Bupy7\Form'));
}
}
}
26 changes: 10 additions & 16 deletions tests/View/Helper/FormBuilderHelperFactoryTest.php
Expand Up @@ -7,6 +7,7 @@
use Zend\ServiceManager\ServiceManager;
use AdamWathan\Form\FormBuilder;
use Bupy7\Form\View\Helper\FormBuilderHelper;
use Bupy7\Form\Tests\Asset\SignInForm;

/**
* @author Vasilij Belosludcev <https://github.com/bupy7>
Expand All @@ -19,28 +20,21 @@ class FormBuilderHelperFactoryTest extends PHPUnit_Framework_TestCase
*/
public function testInstance()
{
$moduleConfig = require __DIR__ . '/../../../config/module.config.php';
$serviceManager = new ServiceManager($moduleConfig['service_manager']);
$helperPluginManager = new HelperPluginManager($serviceManager, $moduleConfig['view_helpers']);
$moduleConfig = require __DIR__ . '/../../../config/module.config.php';
$serviceManager = new ServiceManager($moduleConfig['service_manager']);
$helperPluginManager = new HelperPluginManager($serviceManager, $moduleConfig['view_helpers']);
$signInForm = new SignInForm;

$formBuilderHelper1 = $helperPluginManager->get('formBuilder');
$formBuilderHelper1()->setToken('test token 1');
$this->assertInstanceOf(FormBuilder::class, $formBuilderHelper1());

$formBuilderHelper2 = $helperPluginManager->get('formBuilder');
$this->assertInstanceOf(FormBuilder::class, $formBuilderHelper2());

$formBuilderHelper3 = $helperPluginManager->get(FormBuilderHelper::class);
$this->assertInstanceOf(FormBuilder::class, $formBuilderHelper3());

$formBuilderHelper4 = $helperPluginManager->get(FormBuilderHelper::class);
$this->assertInstanceOf(FormBuilder::class, $formBuilderHelper4());

$formBuilderHelper1()->setToken('test token 1');
$formBuilderHelper2 = $helperPluginManager->get(FormBuilderHelper::class);
$formBuilderHelper2()->setToken('test token 2');
$formBuilderHelper3()->setToken('test token 3');
$formBuilderHelper4()->setToken('test token 4');
$this->assertInstanceOf(FormBuilder::class, $formBuilderHelper2($signInForm));

$this->assertNotEquals($formBuilderHelper1(), $formBuilderHelper2());
$this->assertNotEquals($formBuilderHelper3(), $formBuilderHelper4());

}
}

0 comments on commit 14903fd

Please sign in to comment.