mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 12:05:37 +00:00
MINOR: Added DataObjectTest for date field types.
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@79309 467b73ca-7a2a-4603-9d3b-597d59a354a9
This commit is contained in:
parent
cd173b7c88
commit
882a2cc533
@ -363,16 +363,16 @@ class DataObjectTest extends SapphireTest {
|
||||
|
||||
function testFieldNamesThatMatchMethodNamesWork() {
|
||||
/* Check that a field name that corresponds to a method on DataObject will still work */
|
||||
$obj = new DataObjectTest_FunnyFieldNames();
|
||||
$obj = new DataObjectTest_Fixture();
|
||||
$obj->Data = "value1";
|
||||
$obj->DbObject = "value2";
|
||||
$obj->Duplicate = "value3";
|
||||
$obj->write();
|
||||
|
||||
$this->assertNotNull($obj->ID);
|
||||
$this->assertEquals('value1', DB::query("SELECT \"Data\" FROM \"DataObjectTest_FunnyFieldNames\" WHERE \"ID\" = $obj->ID")->value());
|
||||
$this->assertEquals('value2', DB::query("SELECT \"DbObject\" FROM \"DataObjectTest_FunnyFieldNames\" WHERE \"ID\" = $obj->ID")->value());
|
||||
$this->assertEquals('value3', DB::query("SELECT \"Duplicate\" FROM \"DataObjectTest_FunnyFieldNames\" WHERE \"ID\" = $obj->ID")->value());
|
||||
$this->assertEquals('value1', DB::query("SELECT \"Data\" FROM \"DataObjectTest_Fixture\" WHERE \"ID\" = $obj->ID")->value());
|
||||
$this->assertEquals('value2', DB::query("SELECT \"DbObject\" FROM \"DataObjectTest_Fixture\" WHERE \"ID\" = $obj->ID")->value());
|
||||
$this->assertEquals('value3', DB::query("SELECT \"Duplicate\" FROM \"DataObjectTest_Fixture\" WHERE \"ID\" = $obj->ID")->value());
|
||||
}
|
||||
|
||||
/**
|
||||
@ -571,7 +571,7 @@ class DataObjectTest extends SapphireTest {
|
||||
/* Test DataObject::has_own_table() returns true if the object has $has_one or $db values */
|
||||
$this->assertTrue(DataObject::has_own_table("DataObjectTest_Player"));
|
||||
$this->assertTrue(DataObject::has_own_table("DataObjectTest_Team"));
|
||||
$this->assertTrue(DataObject::has_own_table("DataObjectTest_FunnyFieldNames"));
|
||||
$this->assertTrue(DataObject::has_own_table("DataObjectTest_Fixture"));
|
||||
|
||||
/* Root DataObject that always have a table, even if they lack both $db and $has_one */
|
||||
$this->assertTrue(DataObject::has_own_table("DataObjectTest_FieldlessTable"));
|
||||
@ -630,9 +630,9 @@ class DataObjectTest extends SapphireTest {
|
||||
}
|
||||
|
||||
function testPopulateDefaults() {
|
||||
$obj = new DataObjectTest_WithDefaults();
|
||||
$obj = new DataObjectTest_Fixture();
|
||||
$this->assertEquals(
|
||||
$obj->MyField,
|
||||
$obj->MyFieldWithDefault,
|
||||
"Default Value",
|
||||
"Defaults are populated for in-memory object from \$defaults array"
|
||||
);
|
||||
@ -681,7 +681,7 @@ class DataObjectTest extends SapphireTest {
|
||||
$assertions = array (
|
||||
'DataObjectTest_Player' => 'Data Object Test Player',
|
||||
'DataObjectTest_Team' => 'Data Object Test Team',
|
||||
'DataObjectTest_WithDefaults' => 'Data Object Test With Defaults'
|
||||
'DataObjectTest_Fixture' => 'Data Object Test Fixture'
|
||||
);
|
||||
|
||||
foreach($assertions as $class => $expectedSingularName) {
|
||||
@ -725,6 +725,18 @@ class DataObjectTest extends SapphireTest {
|
||||
|
||||
}
|
||||
|
||||
function testFieldTypes() {
|
||||
$obj = new DataObjectTest_Fixture();
|
||||
$obj->DateField = '1988-01-02';
|
||||
$obj->DatetimeField = '1988-03-04 06:30';
|
||||
$obj->write();
|
||||
$obj->flushCache();
|
||||
|
||||
$obj = DataObject::get_by_id('DataObjectTest_Fixture', $obj->ID);
|
||||
$this->assertEquals('1988-01-02', $obj->DateField);
|
||||
$this->assertEquals('1988-03-04 06:30', $obj->DatetimeField);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class DataObjectTest_Player extends Member implements TestOnly {
|
||||
@ -766,21 +778,23 @@ class DataObjectTest_Team extends DataObject implements TestOnly {
|
||||
|
||||
}
|
||||
|
||||
class DataObjectTest_FunnyFieldNames extends DataObject implements TestOnly {
|
||||
class DataObjectTest_Fixture extends DataObject implements TestOnly {
|
||||
static $db = array(
|
||||
// Funny field names
|
||||
'Data' => 'Varchar',
|
||||
'Duplicate' => 'Varchar',
|
||||
'DbObject' => 'Varchar',
|
||||
);
|
||||
}
|
||||
|
||||
class DataObjectTest_WithDefaults extends DataObject implements TestOnly {
|
||||
static $db = array(
|
||||
|
||||
// Field with default
|
||||
'MyField' => 'Varchar',
|
||||
|
||||
// Field types
|
||||
"DateField" => "Date",
|
||||
"DatetimeField" => "Datetime",
|
||||
);
|
||||
|
||||
|
||||
static $defaults = array(
|
||||
'MyField' => 'Default Value',
|
||||
'MyFieldWithDefault' => 'Default Value',
|
||||
);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user