mirror of
https://github.com/yiisoft/yii2.git
synced 2025-08-26 06:15:19 +08:00
Renamed validator test models to be less specific.
This commit is contained in:
@ -103,32 +103,32 @@ INSERT INTO tbl_order_item (order_id, item_id, quantity, subtotal) VALUES (3, 2,
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* (MySQL-)Database Schema for ExistValidatorTest
|
* (MySQL-)Database Schema for validator tests
|
||||||
*/
|
*/
|
||||||
|
|
||||||
DROP TABLE IF EXISTS tbl_validator_exist_main CASCADE;
|
DROP TABLE IF EXISTS tbl_validator_main CASCADE;
|
||||||
DROP TABLE IF EXISTS tbl_validator_exist_ref CASCADE;
|
DROP TABLE IF EXISTS tbl_validator_ref CASCADE;
|
||||||
|
|
||||||
CREATE TABLE `tbl_validator_exist_main` (
|
CREATE TABLE tbl_validator_main (
|
||||||
`id` INT(11) NOT NULL AUTO_INCREMENT,
|
`id` INT(11) NOT NULL AUTO_INCREMENT,
|
||||||
`field1` VARCHAR(255),
|
`field1` VARCHAR(255),
|
||||||
PRIMARY KEY (`id`)
|
PRIMARY KEY (`id`)
|
||||||
) ENGINE =InnoDB DEFAULT CHARSET =utf8;
|
) ENGINE =InnoDB DEFAULT CHARSET =utf8;
|
||||||
|
|
||||||
CREATE TABLE `tbl_validator_exist_ref` (
|
CREATE TABLE tbl_validator_ref (
|
||||||
`id` INT(11) NOT NULL AUTO_INCREMENT,
|
`id` INT(11) NOT NULL AUTO_INCREMENT,
|
||||||
`a_field` VARCHAR(255),
|
`a_field` VARCHAR(255),
|
||||||
`ref` INT(11),
|
`ref` INT(11),
|
||||||
PRIMARY KEY (`id`)
|
PRIMARY KEY (`id`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||||
|
|
||||||
INSERT INTO tbl_validator_exist_main (id, field1) VALUES (1, 'just a string1');
|
INSERT INTO tbl_validator_main (id, field1) VALUES (1, 'just a string1');
|
||||||
INSERT INTO tbl_validator_exist_main (id, field1) VALUES (2, 'just a string2');
|
INSERT INTO tbl_validator_main (id, field1) VALUES (2, 'just a string2');
|
||||||
INSERT INTO tbl_validator_exist_main (id, field1) VALUES (3, 'just a string3');
|
INSERT INTO tbl_validator_main (id, field1) VALUES (3, 'just a string3');
|
||||||
INSERT INTO tbl_validator_exist_main (id, field1) VALUES (4, 'just a string4');
|
INSERT INTO tbl_validator_main (id, field1) VALUES (4, 'just a string4');
|
||||||
INSERT INTO tbl_validator_exist_ref (a_field, ref) VALUES ('ref_to_2', 2);
|
INSERT INTO tbl_validator_ref (a_field, ref) VALUES ('ref_to_2', 2);
|
||||||
INSERT INTO tbl_validator_exist_ref (a_field, ref) VALUES ('ref_to_2', 2);
|
INSERT INTO tbl_validator_ref (a_field, ref) VALUES ('ref_to_2', 2);
|
||||||
INSERT INTO tbl_validator_exist_ref (a_field, ref) VALUES ('ref_to_3', 3);
|
INSERT INTO tbl_validator_ref (a_field, ref) VALUES ('ref_to_3', 3);
|
||||||
INSERT INTO tbl_validator_exist_ref (a_field, ref) VALUES ('ref_to_4', 4);
|
INSERT INTO tbl_validator_ref (a_field, ref) VALUES ('ref_to_4', 4);
|
||||||
INSERT INTO tbl_validator_exist_ref (a_field, ref) VALUES ('ref_to_4', 4);
|
INSERT INTO tbl_validator_ref (a_field, ref) VALUES ('ref_to_4', 4);
|
||||||
INSERT INTO tbl_validator_exist_ref (a_field, ref) VALUES ('ref_to_5', 5);
|
INSERT INTO tbl_validator_ref (a_field, ref) VALUES ('ref_to_5', 5);
|
||||||
|
@ -94,30 +94,30 @@ INSERT INTO tbl_order_item (order_id, item_id, quantity, subtotal) VALUES (2, 3,
|
|||||||
INSERT INTO tbl_order_item (order_id, item_id, quantity, subtotal) VALUES (3, 2, 1, 40.0);
|
INSERT INTO tbl_order_item (order_id, item_id, quantity, subtotal) VALUES (3, 2, 1, 40.0);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* (Postgres-)Database Schema for ExistValidatorTest
|
* (Postgres-)Database Schema for validator tests
|
||||||
*/
|
*/
|
||||||
|
|
||||||
DROP TABLE IF EXISTS tbl_validator_exist_main CASCADE;
|
DROP TABLE IF EXISTS tbl_validator_main CASCADE;
|
||||||
DROP TABLE IF EXISTS tbl_validator_exist_ref CASCADE;
|
DROP TABLE IF EXISTS tbl_validator_ref CASCADE;
|
||||||
|
|
||||||
CREATE TABLE tbl_validator_exist_main (
|
CREATE TABLE tbl_validator_main (
|
||||||
id integer not null primary key,
|
id integer not null primary key,
|
||||||
field1 VARCHAR(255)
|
field1 VARCHAR(255)
|
||||||
);
|
);
|
||||||
|
|
||||||
CREATE TABLE tbl_validator_exist_ref (
|
CREATE TABLE tbl_validator_ref (
|
||||||
id integer not null primary key,
|
id integer not null primary key,
|
||||||
a_field VARCHAR(255),
|
a_field VARCHAR(255),
|
||||||
ref integer
|
ref integer
|
||||||
);
|
);
|
||||||
|
|
||||||
INSERT INTO tbl_validator_exist_main (id, field1) VALUES (1, 'just a string1');
|
INSERT INTO tbl_validator_main (id, field1) VALUES (1, 'just a string1');
|
||||||
INSERT INTO tbl_validator_exist_main (id, field1) VALUES (2, 'just a string2');
|
INSERT INTO tbl_validator_main (id, field1) VALUES (2, 'just a string2');
|
||||||
INSERT INTO tbl_validator_exist_main (id, field1) VALUES (3, 'just a string3');
|
INSERT INTO tbl_validator_main (id, field1) VALUES (3, 'just a string3');
|
||||||
INSERT INTO tbl_validator_exist_main (id, field1) VALUES (4, 'just a string4');
|
INSERT INTO tbl_validator_main (id, field1) VALUES (4, 'just a string4');
|
||||||
INSERT INTO tbl_validator_exist_ref (id, a_field, ref) VALUES (1, 'ref_to_2', 2);
|
INSERT INTO tbl_validator_ref (id, a_field, ref) VALUES (1, 'ref_to_2', 2);
|
||||||
INSERT INTO tbl_validator_exist_ref (id, a_field, ref) VALUES (2, 'ref_to_2', 2);
|
INSERT INTO tbl_validator_ref (id, a_field, ref) VALUES (2, 'ref_to_2', 2);
|
||||||
INSERT INTO tbl_validator_exist_ref (id, a_field, ref) VALUES (3, 'ref_to_3', 3);
|
INSERT INTO tbl_validator_ref (id, a_field, ref) VALUES (3, 'ref_to_3', 3);
|
||||||
INSERT INTO tbl_validator_exist_ref (id, a_field, ref) VALUES (4, 'ref_to_4', 4);
|
INSERT INTO tbl_validator_ref (id, a_field, ref) VALUES (4, 'ref_to_4', 4);
|
||||||
INSERT INTO tbl_validator_exist_ref (id, a_field, ref) VALUES (5, 'ref_to_4', 4);
|
INSERT INTO tbl_validator_ref (id, a_field, ref) VALUES (5, 'ref_to_4', 4);
|
||||||
INSERT INTO tbl_validator_exist_ref (id, a_field, ref) VALUES (6, 'ref_to_5', 5);
|
INSERT INTO tbl_validator_ref (id, a_field, ref) VALUES (6, 'ref_to_5', 5);
|
@ -88,32 +88,32 @@ INSERT INTO tbl_order_item (order_id, item_id, quantity, subtotal) VALUES (2, 3,
|
|||||||
INSERT INTO tbl_order_item (order_id, item_id, quantity, subtotal) VALUES (3, 2, 1, 40.0);
|
INSERT INTO tbl_order_item (order_id, item_id, quantity, subtotal) VALUES (3, 2, 1, 40.0);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* (SqLite-)Database Schema for ExistValidatorTest
|
* (SqLite-)Database Schema for validator tests
|
||||||
*/
|
*/
|
||||||
|
|
||||||
DROP TABLE IF EXISTS tbl_validator_exist_main;
|
DROP TABLE IF EXISTS tbl_validator_main;
|
||||||
DROP TABLE IF EXISTS tbl_validator_exist_ref;
|
DROP TABLE IF EXISTS tbl_validator_ref;
|
||||||
|
|
||||||
CREATE TABLE tbl_validator_exist_main (
|
CREATE TABLE tbl_validator_main (
|
||||||
id INT(11) NOT NULL,
|
id INT(11) NOT NULL,
|
||||||
field1 VARCHAR(255),
|
field1 VARCHAR(255),
|
||||||
PRIMARY KEY (id)
|
PRIMARY KEY (id)
|
||||||
);
|
);
|
||||||
|
|
||||||
CREATE TABLE tbl_validator_exist_ref (
|
CREATE TABLE tbl_validator_ref (
|
||||||
id INT(11) NOT NULL,
|
id INT(11) NOT NULL,
|
||||||
a_field VARCHAR(255),
|
a_field VARCHAR(255),
|
||||||
ref INT(11),
|
ref INT(11),
|
||||||
PRIMARY KEY (id)
|
PRIMARY KEY (id)
|
||||||
);
|
);
|
||||||
|
|
||||||
INSERT INTO tbl_validator_exist_main (id, field1) VALUES (1, 'just a string1');
|
INSERT INTO tbl_validator_main (id, field1) VALUES (1, 'just a string1');
|
||||||
INSERT INTO tbl_validator_exist_main (id, field1) VALUES (2, 'just a string2');
|
INSERT INTO tbl_validator_main (id, field1) VALUES (2, 'just a string2');
|
||||||
INSERT INTO tbl_validator_exist_main (id, field1) VALUES (3, 'just a string3');
|
INSERT INTO tbl_validator_main (id, field1) VALUES (3, 'just a string3');
|
||||||
INSERT INTO tbl_validator_exist_main (id, field1) VALUES (4, 'just a string4');
|
INSERT INTO tbl_validator_main (id, field1) VALUES (4, 'just a string4');
|
||||||
INSERT INTO tbl_validator_exist_ref (id, a_field, ref) VALUES (1, 'ref_to_2', 2);
|
INSERT INTO tbl_validator_ref (id, a_field, ref) VALUES (1, 'ref_to_2', 2);
|
||||||
INSERT INTO tbl_validator_exist_ref (id, a_field, ref) VALUES (2, 'ref_to_2', 2);
|
INSERT INTO tbl_validator_ref (id, a_field, ref) VALUES (2, 'ref_to_2', 2);
|
||||||
INSERT INTO tbl_validator_exist_ref (id, a_field, ref) VALUES (3, 'ref_to_3', 3);
|
INSERT INTO tbl_validator_ref (id, a_field, ref) VALUES (3, 'ref_to_3', 3);
|
||||||
INSERT INTO tbl_validator_exist_ref (id, a_field, ref) VALUES (4, 'ref_to_4', 4);
|
INSERT INTO tbl_validator_ref (id, a_field, ref) VALUES (4, 'ref_to_4', 4);
|
||||||
INSERT INTO tbl_validator_exist_ref (id, a_field, ref) VALUES (5, 'ref_to_4', 4);
|
INSERT INTO tbl_validator_ref (id, a_field, ref) VALUES (5, 'ref_to_4', 4);
|
||||||
INSERT INTO tbl_validator_exist_ref (id, a_field, ref) VALUES (6, 'ref_to_5', 5);
|
INSERT INTO tbl_validator_ref (id, a_field, ref) VALUES (6, 'ref_to_5', 5);
|
@ -5,16 +5,17 @@ namespace yiiunit\data\validators\models;
|
|||||||
|
|
||||||
use yii\db\ActiveRecord;
|
use yii\db\ActiveRecord;
|
||||||
|
|
||||||
class ExistValidatorMainModel extends ActiveRecord
|
class ValidatorTestMainModel extends ActiveRecord
|
||||||
{
|
{
|
||||||
public $testMainVal = 1;
|
public $testMainVal = 1;
|
||||||
|
|
||||||
public static function tableName()
|
public static function tableName()
|
||||||
{
|
{
|
||||||
return 'tbl_validator_exist_main';
|
return 'tbl_validator_main';
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getReferences()
|
public function getReferences()
|
||||||
{
|
{
|
||||||
return $this->hasMany(ExistValidatorRefModel::className(), array('ref' => 'id'));
|
return $this->hasMany(ValidatorTestRefModel::className(), array('ref' => 'id'));
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -5,18 +5,19 @@ namespace yiiunit\data\validators\models;
|
|||||||
|
|
||||||
use yii\db\ActiveRecord;
|
use yii\db\ActiveRecord;
|
||||||
|
|
||||||
class ExistValidatorRefModel extends ActiveRecord
|
class ValidatorTestRefModel extends ActiveRecord
|
||||||
{
|
{
|
||||||
|
|
||||||
public $test_val = 2;
|
public $test_val = 2;
|
||||||
public $test_val_fail = 99;
|
public $test_val_fail = 99;
|
||||||
|
|
||||||
public static function tableName()
|
public static function tableName()
|
||||||
{
|
{
|
||||||
return 'tbl_validator_exist_ref';
|
return 'tbl_validator_ref';
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getMain()
|
public function getMain()
|
||||||
{
|
{
|
||||||
return $this->hasOne(ExistValidatorMainModel::className(), array('id' => 'ref'));
|
return $this->hasOne(ValidatorTestMainModel::className(), array('id' => 'ref'));
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -77,6 +77,11 @@ class CompareValidatorTest extends TestCase
|
|||||||
array($value + 1, false),
|
array($value + 1, false),
|
||||||
array($value - 1, true),
|
array($value - 1, true),
|
||||||
),
|
),
|
||||||
|
//'non-op' => array(
|
||||||
|
// array($value, false),
|
||||||
|
// array($value + 1, false),
|
||||||
|
// array($value - 1, false),
|
||||||
|
//),
|
||||||
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -7,8 +7,8 @@ use Yii;
|
|||||||
use yii\base\Exception;
|
use yii\base\Exception;
|
||||||
use yii\validators\ExistValidator;
|
use yii\validators\ExistValidator;
|
||||||
use yiiunit\data\ar\ActiveRecord;
|
use yiiunit\data\ar\ActiveRecord;
|
||||||
use yiiunit\data\validators\models\ExistValidatorMainModel;
|
use yiiunit\data\validators\models\ValidatorTestMainModel;
|
||||||
use yiiunit\data\validators\models\ExistValidatorRefModel;
|
use yiiunit\data\validators\models\ValidatorTestRefModel;
|
||||||
use yiiunit\framework\db\DatabaseTestCase;
|
use yiiunit\framework\db\DatabaseTestCase;
|
||||||
|
|
||||||
class ExistValidatorTest extends DatabaseTestCase
|
class ExistValidatorTest extends DatabaseTestCase
|
||||||
@ -39,7 +39,7 @@ class ExistValidatorTest extends DatabaseTestCase
|
|||||||
}
|
}
|
||||||
// combine to save the time creating a new db-fixture set (likely ~5 sec)
|
// combine to save the time creating a new db-fixture set (likely ~5 sec)
|
||||||
try {
|
try {
|
||||||
$val = new ExistValidator(array('className' => ExistValidatorMainModel::className()));
|
$val = new ExistValidator(array('className' => ValidatorTestMainModel::className()));
|
||||||
$val->validateValue('ref');
|
$val->validateValue('ref');
|
||||||
$this->fail('Exception should have been thrown at this time');
|
$this->fail('Exception should have been thrown at this time');
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
@ -50,7 +50,7 @@ class ExistValidatorTest extends DatabaseTestCase
|
|||||||
|
|
||||||
public function testValidateValue()
|
public function testValidateValue()
|
||||||
{
|
{
|
||||||
$val = new ExistValidator(array('className' => ExistValidatorRefModel::className(), 'attributeName' => 'id'));
|
$val = new ExistValidator(array('className' => ValidatorTestRefModel::className(), 'attributeName' => 'id'));
|
||||||
$this->assertTrue($val->validateValue(2));
|
$this->assertTrue($val->validateValue(2));
|
||||||
$this->assertTrue($val->validateValue(5));
|
$this->assertTrue($val->validateValue(5));
|
||||||
$this->assertFalse($val->validateValue(99));
|
$this->assertFalse($val->validateValue(99));
|
||||||
@ -60,39 +60,39 @@ class ExistValidatorTest extends DatabaseTestCase
|
|||||||
public function testValidateAttribute()
|
public function testValidateAttribute()
|
||||||
{
|
{
|
||||||
// existing value on different table
|
// existing value on different table
|
||||||
$val = new ExistValidator(array('className' => ExistValidatorMainModel::className(), 'attributeName' => 'id'));
|
$val = new ExistValidator(array('className' => ValidatorTestMainModel::className(), 'attributeName' => 'id'));
|
||||||
$m = ExistValidatorRefModel::find(array('id' => 1));
|
$m = ValidatorTestRefModel::find(array('id' => 1));
|
||||||
$val->validateAttribute($m, 'ref');
|
$val->validateAttribute($m, 'ref');
|
||||||
$this->assertFalse($m->hasErrors());
|
$this->assertFalse($m->hasErrors());
|
||||||
// non-existing value on different table
|
// non-existing value on different table
|
||||||
$val = new ExistValidator(array('className' => ExistValidatorMainModel::className(), 'attributeName' => 'id'));
|
$val = new ExistValidator(array('className' => ValidatorTestMainModel::className(), 'attributeName' => 'id'));
|
||||||
$m = ExistValidatorRefModel::find(array('id' => 6));
|
$m = ValidatorTestRefModel::find(array('id' => 6));
|
||||||
$val->validateAttribute($m, 'ref');
|
$val->validateAttribute($m, 'ref');
|
||||||
$this->assertTrue($m->hasErrors('ref'));
|
$this->assertTrue($m->hasErrors('ref'));
|
||||||
// existing value on same table
|
// existing value on same table
|
||||||
$val = new ExistValidator(array('attributeName' => 'ref'));
|
$val = new ExistValidator(array('attributeName' => 'ref'));
|
||||||
$m = ExistValidatorRefModel::find(array('id' => 2));
|
$m = ValidatorTestRefModel::find(array('id' => 2));
|
||||||
$val->validateAttribute($m, 'test_val');
|
$val->validateAttribute($m, 'test_val');
|
||||||
$this->assertFalse($m->hasErrors());
|
$this->assertFalse($m->hasErrors());
|
||||||
// non-existing value on same table
|
// non-existing value on same table
|
||||||
$val = new ExistValidator(array('attributeName' => 'ref'));
|
$val = new ExistValidator(array('attributeName' => 'ref'));
|
||||||
$m = ExistValidatorRefModel::find(array('id' => 5));
|
$m = ValidatorTestRefModel::find(array('id' => 5));
|
||||||
$val->validateAttribute($m, 'test_val_fail');
|
$val->validateAttribute($m, 'test_val_fail');
|
||||||
$this->assertTrue($m->hasErrors('test_val_fail'));
|
$this->assertTrue($m->hasErrors('test_val_fail'));
|
||||||
// check for given value (true)
|
// check for given value (true)
|
||||||
$val = new ExistValidator();
|
$val = new ExistValidator();
|
||||||
$m = ExistValidatorRefModel::find(array('id' => 3));
|
$m = ValidatorTestRefModel::find(array('id' => 3));
|
||||||
$val->validateAttribute($m, 'ref');
|
$val->validateAttribute($m, 'ref');
|
||||||
$this->assertFalse($m->hasErrors());
|
$this->assertFalse($m->hasErrors());
|
||||||
// check for given defaults (false)
|
// check for given defaults (false)
|
||||||
$val = new ExistValidator();
|
$val = new ExistValidator();
|
||||||
$m = ExistValidatorRefModel::find(array('id' => 4));
|
$m = ValidatorTestRefModel::find(array('id' => 4));
|
||||||
$m->a_field = 'some new value';
|
$m->a_field = 'some new value';
|
||||||
$val->validateAttribute($m, 'a_field');
|
$val->validateAttribute($m, 'a_field');
|
||||||
$this->assertTrue($m->hasErrors('a_field'));
|
$this->assertTrue($m->hasErrors('a_field'));
|
||||||
// check array
|
// check array
|
||||||
$val = new ExistValidator(array('attributeName' => 'ref'));
|
$val = new ExistValidator(array('attributeName' => 'ref'));
|
||||||
$m = ExistValidatorRefModel::find(array('id' => 2));
|
$m = ValidatorTestRefModel::find(array('id' => 2));
|
||||||
$m->test_val = array(1,2,3);
|
$m->test_val = array(1,2,3);
|
||||||
$val->validateAttribute($m, 'test_val');
|
$val->validateAttribute($m, 'test_val');
|
||||||
$this->assertTrue($m->hasErrors('test_val'));
|
$this->assertTrue($m->hasErrors('test_val'));
|
||||||
|
Reference in New Issue
Block a user