silverstripe-framework/tests/php/ORM/DBYearTest.php
2022-04-14 13:12:59 +12:00

47 lines
1.3 KiB
PHP
Executable File

<?php
namespace SilverStripe\ORM\Tests;
use SilverStripe\Forms\DropdownField;
use SilverStripe\ORM\FieldType\DBYear;
use SilverStripe\Dev\SapphireTest;
class DBYearTest extends SapphireTest
{
/**
* Test that the scaffolding form field works
*/
public function testScaffoldFormFieldFirst()
{
$year = new DBYear();
$field = $year->scaffoldFormField("YearTest");
$this->assertEquals(DropdownField::class, get_class($field));
//This should be a list of years from the current one, counting down to 1900
$source = $field->getSource();
$lastValue = end($source);
$lastKey = key($source ?? []);
//Keys and values should be the same - and the last one should be 1900
$this->assertEquals(1900, $lastValue);
$this->assertEquals(1900, $lastKey);
}
public function testScaffoldFormFieldLast()
{
$year = new DBYear();
$field = $year->scaffoldFormField("YearTest");
$source = $field->getSource();
//The first one should be the current year
$currentYear = (int)date('Y');
$firstValue = reset($source);
$firstKey = key($source ?? []);
$this->assertEquals($currentYear, $firstValue);
$this->assertEquals($currentYear, $firstKey);
}
}