Passed
Pull Request — master (#3)
by Simon
07:48 queued 01:17
created

FulltextSearchExtensionTest   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 48
Duplicated Lines 0 %

Importance

Changes 4
Bugs 0 Features 0
Metric Value
eloc 17
c 4
b 0
f 0
dl 0
loc 48
rs 10
wmc 4

4 Methods

Rating   Name   Duplication   Size   Complexity  
A testSearch() 0 8 1
A testSearchWithFields() 0 10 1
A testInitToYml() 0 3 1
A setUp() 0 9 1
1
<?php
2
3
4
namespace Firesphere\SolrSearch\Compat\Tests;
5
6
use Firesphere\SolrSearch\Indexes\BaseIndex;
7
use Firesphere\SolrSearch\Queries\BaseQuery;
8
use Firesphere\SolrSearch\Tasks\SolrConfigureTask;
9
use Firesphere\SolrSearch\Tests\TestIndex;
10
use Psr\Log\NullLogger;
11
use SilverStripe\Control\NullHTTPRequest;
12
use SilverStripe\Core\Injector\Injector;
13
use SilverStripe\Dev\Debug;
14
use SilverStripe\Dev\SapphireTest;
15
use SilverStripe\View\ArrayData;
16
17
class FulltextSearchExtensionTest extends SapphireTest
18
{
19
20
    /**
21
     * @var BaseIndex
22
     */
23
    protected $index;
24
25
    public function testSearch()
26
    {
27
        $query = new BaseQuery();
28
        $query->addTerm('Test');
29
30
        $result = $this->index->search($query, 0, 10, [], true);
31
32
        $this->assertInstanceOf(ArrayData::class, $result);
33
    }
34
35
    public function testSearchWithFields()
36
    {
37
        $query = new BaseQuery();
38
        $query->addTerm('Test');
39
40
        $result = $this->index->search($query, 0, 10, ['fq' => 'Title'], true);
41
42
        $this->assertInstanceOf(ArrayData::class, $result);
43
44
        Debug::dump($this->index->getQueryTerms());
45
    }
46
47
    /**
48
     * @expectedException \LogicException
49
     */
50
    public function testInitToYml()
51
    {
52
        $this->index->initToYml();
53
    }
54
55
56
    protected function setUp()
57
    {
58
        $task = new SolrConfigureTask();
59
        $task->setLogger(new NullLogger());
60
        $task->run(new NullHTTPRequest());
61
62
        $this->index = Injector::inst()->get(TestIndex::class, false);
63
64
        parent::setUp();
65
    }
66
}
67