PHP Classes

File: tests/unit/Model/FormTest.php

Recommend this page to a friend!
  Classes of Haseeb Ahmad Basil   PHP Skeleton Framework   tests/unit/Model/FormTest.php   Download  
File: tests/unit/Model/FormTest.php
Role: Example script
Content type: text/plain
Description: Example script
Class: PHP Skeleton Framework
Extensive Web application development framework
Author: By
Last change:
Date: 8 years ago
Size: 1,992 bytes
 

Contents

Class file image Download
<?php
class Model_FormTest_Request extends A_Http_Request
{
    public function
setMethod($method) {
       
$this->method = $method;
    }
}

class
Model_FormTest extends UnitTestCase {
   
    function
setUp() {
    }
   
    function
TearDown() {
    }
   
    function
testModel_FormSubmitted() {
       
$request = new Model_FormTest_Request();
       
$model = new A_Model_Form();
       
       
// check not post or
       
$this->assertFalse($model->isSubmitted($request));
       
       
// test submit param mode, post/get not required
       
$request->set('submit', 'foo');
       
$model->setMethod('');
       
$model->setSubmitParameterName('submit');
       
$this->assertTrue($model->isSubmitted($request));

       
// test post mode
       
$request->setMethod('POST');

       
// post but no submit param name
       
$model->setSubmitParameterName('');
       
$this->assertTrue($model->isSubmitted($request));

       
// post and submit param name
       
$model->setSubmitParameterName('submit');
       
$this->assertTrue($model->isSubmitted($request));
    }
   
    function
testModel_FormValid() {
       
$request = new Model_FormTest_Request();
       
$model = new A_Model_Form();
       
       
// check not post
       
$this->assertFalse($model->isValid($request));
       
       
// test post mode no fields or rules
       
$request->setMethod('POST');
       
$this->assertTrue($model->isValid($request));

       
// test post mode with field and param value but no rules
       
$request->set('foo', 'bar');
       
$field = $model->newField('foo');
       
$this->assertTrue($model->isValid($request));
       
$this->assertEqual($model->get('foo'), 'bar');

       
// add rule
       
$field->addRule(new A_Rule_Notnull('foo', 'error'));
       
       
// param not set
       
$request->set('foo', null);
       
$this->assertFalse($model->isValid($request));
       
$this->assertTrue($model->isError());
       
$this->assertEqual($model->getErrorMsg(), array('foo'=>array('error')));
       
$this->assertEqual($model->getErrorMsg(' '), 'error');

       
// param not set
       
$request->set('foo', 'bar');
       
$this->assertTrue($model->isValid($request));
    }
   
}