Update tests & left over fixes from upgrader tool

This commit is contained in:
Dylan Wagstaff 2017-11-23 14:54:27 +13:00
parent a88e8be403
commit 7bce7dcb2f
8 changed files with 51 additions and 45 deletions

View File

@ -5,5 +5,6 @@
<rule ref="PSR2" > <rule ref="PSR2" >
<!-- Current exclusions --> <!-- Current exclusions -->
<exclude name="PSR1.Methods.CamelCapsMethodName" /> <exclude name="PSR1.Methods.CamelCapsMethodName" />
<exclude name="PSR1.Files.SideEffects.FoundWithSymbols" />
</rule> </rule>
</ruleset> </ruleset>

View File

@ -2,44 +2,45 @@
namespace SilverStripe\ExternalLinks\Jobs; namespace SilverStripe\ExternalLinks\Jobs;
if (class_exists('Symbiote\QueuedJobs\Services\AbstractQueuedJob')) { use Symbiote\QueuedJobs\Services\AbstractQueuedJob;
use Symbiote\QueuedJobs\Services\AbstractQueuedJob; use Symbiote\QueuedJobs\Services\QueuedJob;
use Symbiote\QueuedJobs\Services\QueuedJob; use SilverStripe\ExternalLinks\Tasks\CheckExternalLinksTask;
use SilverStripe\ExternalLinks\Tasks\CheckExternalLinksTask;
/** if (!class_exists(AbstractQueuedJob::class)) {
* A Job for running a external link check for published pages return;
* }
*/
class CheckExternalLinksJob extends AbstractQueuedJob implements QueuedJob /**
* A Job for running a external link check for published pages
*
*/
class CheckExternalLinksJob extends AbstractQueuedJob implements QueuedJob
{
public function getTitle()
{ {
return _t('CheckExternalLiksJob.TITLE', 'Checking for external broken links');
public function getTitle()
{
return _t('CheckExternalLiksJob.TITLE', 'Checking for external broken links');
}
public function getJobType()
{
return QueuedJob::QUEUED;
}
public function getSignature()
{
return md5(get_class($this));
}
/**
* Check an individual page
*/
public function process()
{
$task = CheckExternalLinksTask::create();
$track = $task->runLinksCheck(1);
$this->currentStep = $track->CompletedPages;
$this->totalSteps = $track->TotalPages;
$this->isComplete = $track->Status === 'Completed';
}
} }
public function getJobType()
{
return QueuedJob::QUEUED;
}
public function getSignature()
{
return md5(get_class($this));
}
/**
* Check an individual page
*/
public function process()
{
$task = CheckExternalLinksTask::create();
$track = $task->runLinksCheck(1);
$this->currentStep = $track->CompletedPages;
$this->totalSteps = $track->TotalPages;
$this->isComplete = $track->Status === 'Completed';
}
} }

View File

@ -18,6 +18,7 @@ use SilverStripe\ORM\DataObject;
*/ */
class BrokenExternalLink extends DataObject class BrokenExternalLink extends DataObject
{ {
private static $table_name = 'BrokenExternalLink';
private static $db = array( private static $db = array(
'Link' => 'Varchar(2083)', // 2083 is the maximum length of a URL in Internet Explorer. 'Link' => 'Varchar(2083)', // 2083 is the maximum length of a URL in Internet Explorer.

View File

@ -13,6 +13,7 @@ use SilverStripe\ORM\DataObject;
*/ */
class BrokenExternalPageTrack extends DataObject class BrokenExternalPageTrack extends DataObject
{ {
private static $table_name = 'BrokenExternalPageTrack';
private static $db = array( private static $db = array(
'Processed' => 'Boolean' 'Processed' => 'Boolean'

View File

@ -18,6 +18,7 @@ use SilverStripe\ORM\DataObject;
*/ */
class BrokenExternalPageTrackStatus extends DataObject class BrokenExternalPageTrackStatus extends DataObject
{ {
private static $table_name = 'BrokenExternalPageTrackStatus';
private static $db = array( private static $db = array(
'Status' => 'Enum("Completed, Running", "Running")', 'Status' => 'Enum("Completed, Running", "Running")',

View File

@ -10,23 +10,21 @@ use SilverStripe\i18n\i18n;
use SilverStripe\Reports\Report; use SilverStripe\Reports\Report;
use SilverStripe\ExternalLinks\Reports\BrokenExternalLinksReport; use SilverStripe\ExternalLinks\Reports\BrokenExternalLinksReport;
use SilverStripe\Dev\SapphireTest; use SilverStripe\Dev\SapphireTest;
use SilverStripe\ExternalLinks\Tests\ExternalLinksTestPage;
use Phockito;
class ExternalLinksTest extends SapphireTest class ExternalLinksTest extends SapphireTest
{ {
protected static $fixture_file = 'ExternalLinksTest.yml'; protected static $fixture_file = 'ExternalLinksTest.yml';
protected $extraDataObjects = array( protected static $extra_dataobjects = array(
'ExternalLinksTestPage' ExternalLinksTestPage::class
);
protected $illegalExtensions = array(
'SiteTree' => array('Translatable')
); );
public function setUpOnce() public function setUpOnce()
{ {
if (class_exists('Phockito')) { if (class_exists(Phockito::class)) {
Phockito::include_hamcrest(false); Phockito::include_hamcrest(false);
} }
@ -38,7 +36,7 @@ class ExternalLinksTest extends SapphireTest
parent::setUp(); parent::setUp();
// Check dependencies // Check dependencies
if (!class_exists('Phockito')) { if (!class_exists(Phockito::class)) {
$this->skipTest = true; $this->skipTest = true;
return $this->markTestSkipped("These tests need the Phockito module installed to run"); return $this->markTestSkipped("These tests need the Phockito module installed to run");
} }

View File

@ -1,4 +1,4 @@
ExternalLinksTestPage: SilverStripe\ExternalLinks\Tests\ExternalLinksTestPage:
# Tests mix of broken and working external links # Tests mix of broken and working external links
page1: page1:
Title: 'Page 1' Title: 'Page 1'

View File

@ -3,9 +3,12 @@
namespace SilverStripe\ExternalLinks\Tests; namespace SilverStripe\ExternalLinks\Tests;
use SilverStripe\Dev\TestOnly; use SilverStripe\Dev\TestOnly;
use Page;
class ExternalLinksTestPage extends Page implements TestOnly class ExternalLinksTestPage extends Page implements TestOnly
{ {
private static $table_name = 'ExternalLinksTestPage';
private static $db = array( private static $db = array(
'ExpectedContent' => 'HTMLText' 'ExpectedContent' => 'HTMLText'
); );