silverstripe-reports/tests/SideReportTest.php
Ingo Schommer cc65638ed9 BUGFIX Using standard SQL and SSDatetime::now() in SideReport_RecentlyEdited (see #4052)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/cms/trunk@83970 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-08-06 21:41:49 +00:00

40 lines
1.4 KiB
PHP

<?php
/**
* @package cms
* @subpackage tests
*/
class SideReportTest extends SapphireTest {
static $fixture_file = 'cms/tests/SideReportTest.yml';
static $daysAgo = 14;
function setUp() {
parent::setUp();
// set the dates by hand: impossible to set via yml
$afterThreshold = strtotime('-'.(SideReportTest::$daysAgo-1).' days', strtotime('31-06-2009 00:00:00'));
$beforeThreshold = strtotime('-'.(SideReportTest::$daysAgo+1).' days', strtotime('31-06-2009 00:00:00'));
$after = $this->objFromFixture('SiteTree', 'after');
$before = $this->objFromFixture('SiteTree', 'before');
DB::query("UPDATE \"SiteTree\" SET \"Created\"='2009-01-01 00:00:00', \"LastEdited\"='".date('Y-m-d H:i:s', $afterThreshold)."' WHERE \"ID\"='".$after->ID."'");
DB::query("UPDATE \"SiteTree\" SET \"Created\"='2009-01-01 00:00:00', \"LastEdited\"='".date('Y-m-d H:i:s', $beforeThreshold)."' WHERE \"ID\"='".$before->ID."'");
}
function testRecentlyEdited() {
SSDateTime::set_mock_now('31-06-2009 00:00:00');
$after = $this->objFromFixture('SiteTree', 'after');
$before = $this->objFromFixture('SiteTree', 'before');
$r = new SideReport_RecentlyEdited();
// check if contains only elements not older than $daysAgo days
$this->assertNotNull($r->records());
$this->assertContains($after->ID, $r->records()->column('ID'));
$this->assertNotContains($before->ID, $r->records()->column('ID'));
SSDateTime::clear_mock_now();
}
}