Skip to content

Commit

Permalink
Initial test coverage added
Browse files Browse the repository at this point in the history
  • Loading branch information
Mark Anthony Adriano committed May 13, 2022
1 parent 3c77174 commit bfac7dc
Showing 1 changed file with 35 additions and 1 deletion.
36 changes: 35 additions & 1 deletion tests/DataObject/DataObjectDocumentTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,16 @@

namespace SilverStripe\SearchService\Tests\DataObject;

use SilverStripe\Core\Config\Config;
use SilverStripe\ORM\DataObject;
use SilverStripe\ORM\FieldType\DBDatetime;
use SilverStripe\ORM\RelationList;
use SilverStripe\SearchService\DataObject\DataObjectDocument;
use SilverStripe\SearchService\Exception\IndexConfigurationException;
use SilverStripe\SearchService\Interfaces\DocumentAddHandler;
use SilverStripe\SearchService\Interfaces\DocumentRemoveHandler;
use SilverStripe\SearchService\Schema\Field;
use SilverStripe\SearchService\Service\IndexConfiguration;
use SilverStripe\SearchService\Tests\Fake\DataObjectFake;
use SilverStripe\SearchService\Tests\Fake\DataObjectFakeVersioned;
use SilverStripe\SearchService\Tests\Fake\DataObjectSubclassFake;
Expand All @@ -18,7 +21,6 @@
use SilverStripe\SearchService\Tests\SearchServiceTest;
use SilverStripe\Security\Member;
use SilverStripe\Security\Permission;
use SilverStripe\SearchService\Exception\IndexConfigurationException;
use SilverStripe\Versioned\Versioned;

class DataObjectDocumentTest extends SearchServiceTest
Expand Down Expand Up @@ -85,6 +87,38 @@ public function testShouldIndex()
$this->assertFalse($doc->shouldIndex());
}

public function testSubsiteShouldIndex()
{
$config = $this->mockConfig();

Config::modify()->merge(
IndexConfiguration::class,
'indexes',
[
'index4' => [
'includeClasses' => [
VersionedDataObjectFake::class => true
]
],
]
);

$classes = $config->getSearchableBaseClasses();
$this->assertCount(1, $classes);
$this->assertContains(VersionedDataObjectFake::class, $classes);

/** @var Versioned $dataobject */
$dataobject = new VersionedDataObjectFake([
'ID' => 5,
'ShowInSearch' => true,
'SubsiteID' => null,
]);
$dataobject->publishSingle();
$doc = DataObjectDocument::create($dataobject);

$this->assertTrue($doc->shouldIndex());
}

public function testMarkIndexed()
{
$dataobject = new DataObjectFake(['ShowInSearch' => true]);
Expand Down

0 comments on commit bfac7dc

Please sign in to comment.