silverstripe-dms/tests/ShortCodeRelationFinderTest.php

43 lines
1.5 KiB
PHP
Raw Normal View History

2012-08-21 04:21:23 +02:00
<?php
use SilverStripe\Core\Config\Config;
use Sunnysideup\DMS\DMS;
use Sunnysideup\DMS\Model\DMSDocument;
use SilverStripe\CMS\Model\SiteTree;
use Sunnysideup\DMS\Tools\ShortCodeRelationFinder;
use SilverStripe\Dev\SapphireTest;
2015-12-17 19:48:37 +01:00
class ShortCodeRelationFinderTest extends SapphireTest
{
protected static $fixture_file = 'dmstest.yml';
2012-08-21 04:21:23 +02:00
2015-12-17 19:48:37 +01:00
public function testFindInRate()
{
Config::modify()->update(DMS::class, 'shortcode_handler_key', 'dms_document_link');
$d1 = $this->objFromFixture(DMSDocument::class, 'd1');
$d2 = $this->objFromFixture(DMSDocument::class, 'd2');
2012-08-21 04:21:23 +02:00
2015-12-17 19:48:37 +01:00
$page1 = new SiteTree();
$page1->Content = 'Condition: <a title="document test 1" href="[dms_document_link,id=' . $d1->ID . ']">';
2015-12-17 19:48:37 +01:00
$page1ID = $page1->write();
2012-08-21 04:21:23 +02:00
2015-12-17 19:48:37 +01:00
$page2 = new SiteTree();
$page2->Content = 'Condition: <a title="document test 2" href="[dms_document_link,id=' . $d2->ID . ']">';
2015-12-17 19:48:37 +01:00
$page2ID = $page2->write();
2012-08-21 04:21:23 +02:00
2015-12-17 19:48:37 +01:00
$page3 = new SiteTree();
$page3->Content = 'Condition: <a title="document test 1" href="[dms_document_link,id=' . $d1->ID . ']">';
2015-12-17 19:48:37 +01:00
$page3ID = $page3->write();
2012-08-21 04:21:23 +02:00
2015-12-17 19:48:37 +01:00
$finder = new ShortCodeRelationFinder();
2012-08-21 04:21:23 +02:00
2015-12-17 19:48:37 +01:00
$ids = $finder->findPageIDs('UnknownShortcode');
$this->assertEquals(0, count($ids));
2012-08-21 04:21:23 +02:00
2015-12-17 19:48:37 +01:00
$ids = $finder->findPageIDs($d1->ID);
$this->assertNotContains($page2ID, $ids);
$this->assertContains($page1ID, $ids);
$this->assertContains($page3ID, $ids);
}
}