$this->assertTrue($doc->isHidden(),"Document is hidden");
$this->assertTrue($doc->isEmbargoed(),"Document is embargoed");
$this->assertFalse($doc->isExpired(),"Document is not expired");
$doc->clearEmbargo();
$this->assertFalse($doc->isHidden(),"Document is not hidden");
$this->assertFalse($doc->isEmbargoed(),"Document is not embargoed");
$this->assertFalse($doc->isExpired(),"Document is not expired");
}
publicfunctiontestExpireAtDate()
{
$doc=newDMSDocument();
$doc->Filename="DMS-test-lorum-file.pdf";
$doc->Folder="tests";
$doc->write();
$doc->expireAtDate(strtotime('-1 second'));
$this->assertTrue($doc->isHidden(),"Document is hidden");
$this->assertFalse($doc->isEmbargoed(),"Document is not embargoed");
$this->assertTrue($doc->isExpired(),"Document is expired");
$expireTime="2019-04-05 11:43:13";
$doc->expireAtDate($expireTime);
$this->assertFalse($doc->isHidden(),"Document is not hidden");
$this->assertFalse($doc->isEmbargoed(),"Document is not embargoed");
$this->assertFalse($doc->isExpired(),"Document is not expired");
SS_Datetime::set_mock_now($expireTime);
$this->assertTrue($doc->isHidden(),"Document is hidden");
$this->assertFalse($doc->isEmbargoed(),"Document is not embargoed");
$this->assertTrue($doc->isExpired(),"Document is expired");
SS_Datetime::clear_mock_now();
$doc->expireAtDate(strtotime('-1 second'));
$this->assertTrue($doc->isHidden(),"Document is hidden");
$this->assertFalse($doc->isEmbargoed(),"Document is not embargoed");
$this->assertTrue($doc->isExpired(),"Document is expired");
$doc->clearExpiry();
$this->assertFalse($doc->isHidden(),"Document is not hidden");
$this->assertFalse($doc->isEmbargoed(),"Document is not embargoed");
$this->assertFalse($doc->isExpired(),"Document is not expired");
}
publicfunctiontestEmbargoUntilDate()
{
$doc=newDMSDocument();
$doc->Filename="DMS-test-lorum-file.pdf";
$doc->Folder="tests";
$doc->write();
$doc->embargoUntilDate(strtotime('+1 minute'));
$this->assertTrue($doc->isHidden(),"Document is hidden");
$this->assertTrue($doc->isEmbargoed(),"Document is embargoed");
$this->assertFalse($doc->isExpired(),"Document is not expired");
$doc->embargoUntilDate(strtotime('-1 second'));
$this->assertFalse($doc->isHidden(),"Document is not hidden");
$this->assertFalse($doc->isEmbargoed(),"Document is not embargoed");
$this->assertFalse($doc->isExpired(),"Document is not expired");
$embargoTime="2019-04-05 11:43:13";
$doc->embargoUntilDate($embargoTime);
$this->assertTrue($doc->isHidden(),"Document is hidden");
$this->assertTrue($doc->isEmbargoed(),"Document is embargoed");
$this->assertFalse($doc->isExpired(),"Document is not expired");
SS_Datetime::set_mock_now($embargoTime);
$this->assertFalse($doc->isHidden(),"Document is not hidden");
$this->assertFalse($doc->isEmbargoed(),"Document is not embargoed");
$this->assertFalse($doc->isExpired(),"Document is not expired");
SS_Datetime::clear_mock_now();
$doc->clearEmbargo();
$this->assertFalse($doc->isHidden(),"Document is not hidden");
$this->assertFalse($doc->isEmbargoed(),"Document is not embargoed");
$this->assertFalse($doc->isExpired(),"Document is not expired");
}
publicfunctiontestEmbargoUntilPublished()
{
$s1=$this->objFromFixture('SiteTree','s1');
$doc=newDMSDocument();
$doc->Filename="test file";
$doc->Folder="0";
$dID=$doc->write();
$doc->addPage($s1);
$s1->publish('Stage','Live');
$s1->doPublish();
$this->assertFalse($doc->isHidden(),"Document is not hidden");
$this->assertFalse($doc->isEmbargoed(),"Document is not embargoed");
$this->assertFalse($doc->isExpired(),"Document is not expired");
$doc->embargoUntilPublished();
$this->assertTrue($doc->isHidden(),"Document is hidden");
$this->assertTrue($doc->isEmbargoed(),"Document is embargoed");
$this->assertFalse($doc->isExpired(),"Document is not expired");
$s1->publish('Stage','Live');
$s1->doPublish();
$doc=DataObject::get_by_id("DMSDocument",$dID);
$this->assertFalse($doc->isHidden(),"Document is not hidden");
$this->assertFalse($doc->isEmbargoed(),"Document is not embargoed");
$this->assertFalse($doc->isExpired(),"Document is not expired");
$doc->embargoUntilPublished();
$doc=DataObject::get_by_id("DMSDocument",$dID);
$this->assertTrue($doc->isHidden(),"Document is hidden");
$this->assertTrue($doc->isEmbargoed(),"Document is embargoed");
$this->assertFalse($doc->isExpired(),"Document is not expired");
$doc->embargoIndefinitely();
$doc=DataObject::get_by_id("DMSDocument",$dID);
$this->assertTrue($doc->isHidden(),"Document is hidden");
$this->assertTrue($doc->isEmbargoed(),"Document is embargoed");
$this->assertFalse($doc->isExpired(),"Document is not expired");
$s1->publish('Stage','Live');
$s1->doPublish();
$doc=DataObject::get_by_id("DMSDocument",$dID);
$this->assertTrue($doc->isHidden(),"Document is still hidden because although the untilPublish flag is cleared, the indefinitely flag is still there");
$this->assertTrue($doc->isEmbargoed(),"Document is embargoed");
$this->assertFalse($doc->isExpired(),"Document is not expired");
$doc->clearEmbargo();
$doc=DataObject::get_by_id("DMSDocument",$dID);
$this->assertFalse($doc->isHidden(),"Document is not hidden");
$this->assertFalse($doc->isEmbargoed(),"Document is not embargoed");
$this->assertFalse($doc->isExpired(),"Document is not expired");