Solr4ServiceTest   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 52
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 30
c 1
b 0
f 0
dl 0
loc 52
rs 10
wmc 4

4 Methods

Rating   Name   Duplication   Size   Complexity  
A testAddDocument() 0 12 1
A getMockService() 0 3 1
A getMockDocument() 0 6 1
A testAddDocuments() 0 18 1
1
<?php
2
3
namespace SilverStripe\FullTextSearch\Tests;
4
5
use SilverStripe\FullTextSearch\Tests\Solr4ServiceTest\Solr4ServiceTest_RecordingService;
6
use SilverStripe\Dev\SapphireTest;
7
8
/**
9
 * Test solr 4.0 compatibility
10
 */
11
class Solr4ServiceTest extends SapphireTest
12
{
13
    /**
14
     *
15
     * @return Solr4ServiceTest_RecordingService
16
     */
17
    protected function getMockService()
18
    {
19
        return new Solr4ServiceTest_RecordingService();
20
    }
21
    
22
    protected function getMockDocument($id)
23
    {
24
        $document = new \Apache_Solr_Document();
25
        $document->setField('id', $id);
26
        $document->setField('title', "Item $id");
27
        return $document;
28
    }
29
    
30
    public function testAddDocument()
31
    {
32
        $service = $this->getMockService();
33
        $sent = $service->addDocument($this->getMockDocument('A'), false);
34
        $this->assertEquals(
35
            '<add overwrite="true"><doc><field name="id">A</field><field name="title">Item A</field></doc></add>',
36
            $sent
37
        );
38
        $sent = $service->addDocument($this->getMockDocument('B'), true);
39
        $this->assertEquals(
40
            '<add overwrite="false"><doc><field name="id">B</field><field name="title">Item B</field></doc></add>',
41
            $sent
42
        );
43
    }
44
    
45
    public function testAddDocuments()
46
    {
47
        $service = $this->getMockService();
48
        $sent = $service->addDocuments(array(
49
            $this->getMockDocument('C'),
50
            $this->getMockDocument('D')
51
        ), false);
52
        $this->assertEquals(
53
            '<add overwrite="true"><doc><field name="id">C</field><field name="title">Item C</field></doc><doc><field name="id">D</field><field name="title">Item D</field></doc></add>',
54
            $sent
55
        );
56
        $sent = $service->addDocuments(array(
57
            $this->getMockDocument('E'),
58
            $this->getMockDocument('F')
59
        ), true);
60
        $this->assertEquals(
61
            '<add overwrite="false"><doc><field name="id">E</field><field name="title">Item E</field></doc><doc><field name="id">F</field><field name="title">Item F</field></doc></add>',
62
            $sent
63
        );
64
    }
65
}
66