diff options
Diffstat (limited to 'site/app/tests/models/app_model.test.php')
-rw-r--r-- | site/app/tests/models/app_model.test.php | 71 |
1 files changed, 0 insertions, 71 deletions
diff --git a/site/app/tests/models/app_model.test.php b/site/app/tests/models/app_model.test.php index 950d27c..c8dc3c7 100644 --- a/site/app/tests/models/app_model.test.php +++ b/site/app/tests/models/app_model.test.php @@ -83,76 +83,5 @@ class App_ModelTest extends UnitTestCase { $this->assertTrue(empty($addon['Addon']) && (!isset($addon['Translation']) || empty($addon['Translation'])), 'No excessive retrieval beyond list of default fields'); } - - /** - * Test extended field validation - */ - function testExtendedValidation() { - $testdata = array( - 'ValidationModel' => array( - 'testfield' => 'do not fail' - )); - - // validation function should be called once - $vmodel = &new TallyValidationModel(); - $vmodel->expectOnce('clean_testfield', array($testdata['ValidationModel']['testfield'])); - $vmodel->invalidFields($testdata); - $vmodel->tally(); - - // now instanciate the real model and check if validationErrors is amended correctly - $vmodel = &new MockValidationModel(); - $vmodel->invalidFields($testdata); - $this->assertTrue(empty($vmodel->validationErrors), 'valid field does not cause extended validation error'); - - $vmodel = &new MockValidationModel(); - $testdata['ValidationModel']['testfield'] = 'fail'; - $vmodel->invalidFields($testdata); - $this->assertFalse(empty($vmodel->validationErrors), 'invalid field causes extended validation error'); - } - - /** - * Test field validation for bulk translations - */ - function testTranslationValidation() { - $testdata = array( - 'testfield' => array( - 'en-US' => 'okay', - 'ab-CD' => 'fail', - 'de' => 'okay' - ) - ); - - // validation function should be called at least once - $vmodel = &new TallyValidationModel(); - $vmodel->expectAtLeastOnce('clean_testfield'); - $vmodel->expectMaximumCallCount('clean_testfield', count($testdata['testfield'])); // do not "over-validate" - $vmodel->validateTranslations($testdata); - $vmodel->tally(); - - // invalid translations should fail - $vmodel = &new MockValidationModel(); - $res = $vmodel->validateTranslations($testdata); - $this->assertFalse($res, 'invalid translation leads to extended validation error'); - - // valid translations should not fail - $vmodel = &new MockValidationModel(); - unset($testdata['testfield']['ab-CD']); // remove invalid data - $res = $vmodel->validateTranslations($testdata); - $this->assertTrue($res, '(only) valid translations should not lead to extended validation error'); - } -} - -class ValidationModel extends AppModel { - var $name = 'ValidationModel'; - var $validate = array('testfield' => VALID_NOT_EMPTY); - var $translated_fields = array('testfield'); - /** - * extended validation function: invalidates testfield iff it equals "fail" - */ - function clean_testfield($input) { - if ($input == 'fail') $this->invalidate('testfield'); - } } -Mock::generatePartial('ValidationModel', 'TallyValidationModel', array('clean_testfield')); -Mock::generatePartial('ValidationModel', 'MockValidationModel', array()); ?> |