コード例 #1
0
ファイル: CommonTestCase.php プロジェクト: gourmet/common
 /**
  * Asserts that data are validation errors match an expected value when
  * validation given data for the Model
  * Calls the Model::validate() method and asserts validationErrors
  *
  * @param mixed $model Model being tested
  * @param array $data Data to validate
  * @param array $expectedErrors Expected errors keys
  * @return void
  */
 public function assertValidationErrors($model, $data, $expectedErrors)
 {
     $this->_validData($model, $data, $validationErrors);
     $fail = array();
     foreach ($validationErrors as $field => $errors) {
         if (!isset($expectedErrors[$field]) || $errors != $expectedErrors[$field]) {
             $fail[] = $field;
         }
     }
     $miss = array_diff(array_keys($expectedErrors), array_keys($validationErrors));
     $this->addToAssertionCount(count($expectedErrors) - count($fail) - count($miss));
     if (!empty($fail) || !empty($miss)) {
         parent::fail("Failed asserting that the correct validation errors were raised. " . "The following field(s) expected errors did not match:\n* " . implode("\n* ", array_merge($fail, $miss)));
     }
 }