Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/site/app/tests/models/app_model.test.php
diff options
context:
space:
mode:
Diffstat (limited to 'site/app/tests/models/app_model.test.php')
-rw-r--r--site/app/tests/models/app_model.test.php71
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());
?>