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" >
<!-- Current exclusions -->
<exclude name="PSR1.Methods.CamelCapsMethodName" />
<exclude name="PSR1.Files.SideEffects.FoundWithSymbols" />
</rule>
</ruleset>

View File

@ -2,44 +2,45 @@
namespace SilverStripe\ExternalLinks\Jobs;
if (class_exists('Symbiote\QueuedJobs\Services\AbstractQueuedJob')) {
use Symbiote\QueuedJobs\Services\AbstractQueuedJob;
use Symbiote\QueuedJobs\Services\QueuedJob;
use SilverStripe\ExternalLinks\Tasks\CheckExternalLinksTask;
use Symbiote\QueuedJobs\Services\AbstractQueuedJob;
use Symbiote\QueuedJobs\Services\QueuedJob;
use SilverStripe\ExternalLinks\Tasks\CheckExternalLinksTask;
/**
* A Job for running a external link check for published pages
*
*/
class CheckExternalLinksJob extends AbstractQueuedJob implements QueuedJob
if (!class_exists(AbstractQueuedJob::class)) {
return;
}
/**
* A Job for running a external link check for published pages
*
*/
class CheckExternalLinksJob extends AbstractQueuedJob implements QueuedJob
{
public function getTitle()
{
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';
}
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';
}
}

View File

@ -18,6 +18,7 @@ use SilverStripe\ORM\DataObject;
*/
class BrokenExternalLink extends DataObject
{
private static $table_name = 'BrokenExternalLink';
private static $db = array(
'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
{
private static $table_name = 'BrokenExternalPageTrack';
private static $db = array(
'Processed' => 'Boolean'

View File

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

View File

@ -10,23 +10,21 @@ use SilverStripe\i18n\i18n;
use SilverStripe\Reports\Report;
use SilverStripe\ExternalLinks\Reports\BrokenExternalLinksReport;
use SilverStripe\Dev\SapphireTest;
use SilverStripe\ExternalLinks\Tests\ExternalLinksTestPage;
use Phockito;
class ExternalLinksTest extends SapphireTest
{
protected static $fixture_file = 'ExternalLinksTest.yml';
protected $extraDataObjects = array(
'ExternalLinksTestPage'
);
protected $illegalExtensions = array(
'SiteTree' => array('Translatable')
protected static $extra_dataobjects = array(
ExternalLinksTestPage::class
);
public function setUpOnce()
{
if (class_exists('Phockito')) {
if (class_exists(Phockito::class)) {
Phockito::include_hamcrest(false);
}
@ -38,7 +36,7 @@ class ExternalLinksTest extends SapphireTest
parent::setUp();
// Check dependencies
if (!class_exists('Phockito')) {
if (!class_exists(Phockito::class)) {
$this->skipTest = true;
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
page1:
Title: 'Page 1'

View File

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