Completed
Branch MORE_COVERAGE (733c77)
by Gordon
12:45
created

IndexesTest::testGetHasManyFieldsForIndex()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 2
c 1
b 0
f 0
dl 0
loc 4
rs 10
cc 1
nc 1
nop 0
1
<?php
2
namespace Suilven\FreeTextSearch\Tests;
3
4
use SilverStripe\Dev\SapphireTest;
5
use SilverStripe\CMS\Model\SiteTree;
6
use Suilven\FreeTextSearch\Index;
7
use Suilven\FreeTextSearch\Indexes;
8
9
class IndexesTest extends SapphireTest
10
{
11
    /** @var Indexes */
12
    private $indexes;
13
14
    public function setUp()
15
    {
16
        parent::setUp();
17
        $this->indexes = new Indexes();
18
    }
19
20
    public function testGetIndexesSingleIndex()
21
    {
22
        $actualIndexes = $this->indexes->getIndexes();
23
24
        /** @var Index $flickrIndex */
25
        $flickrIndex = $actualIndexes[2];
26
        $this->assertEquals(['Title', 'Description'], $flickrIndex->getFields());
27
        $this->assertEquals(['Aperture', 'ShutterSpeed', 'ISO'], $flickrIndex->getTokens());
28
        $this->assertEquals(['Suilven\ManticoreSearch\Tests\Models\FlickrTag'], $flickrIndex->getHasManyFields());
29
        $this->assertEquals(['Suilven\ManticoreSearch\Tests\Models\FlickrAuthor'], $flickrIndex->getHasOneFields());
30
        $this->assertEquals('flickrphotos', $flickrIndex->getName());
31
    }
32
33
    public function testGetFacetsForIndex()
34
    {
35
        $fields = $this->indexes->getFacetFields('flickrphotos');
36
        // @todo Check what the case sensitivy issues are here
37
        $this->assertEquals(['Aperture', 'ShutterSpeed', 'ISO'], $fields);
38
    }
39
40
    public function testGetHasOneFieldsForIndex()
41
    {
42
        $fields = $this->indexes->getHasOneFields('flickrphotos');
43
        $this->assertEquals(['Suilven\ManticoreSearch\Tests\Models\FlickrAuthor'], $fields);
44
    }
45
46
    public function testGetHasManyFieldsForIndex()
47
    {
48
        $fields = $this->indexes->getHasManyFields('flickrphotos');
49
        $this->assertEquals(['Suilven\ManticoreSearch\Tests\Models\FlickrTag'], $fields);
50
    }
51
}
52