mirror of
https://github.com/silverstripe/silverstripe-fulltextsearch
synced 2024-10-22 12:05:29 +00:00
Adding tests for SearchIndex::fieldData()
This commit is contained in:
parent
6ab5969ac1
commit
e22d6053e5
@ -14,6 +14,10 @@ class SearchUpdaterTest_Container extends DataObject {
|
|||||||
private static $has_many = array(
|
private static $has_many = array(
|
||||||
'HasManyObjects' => 'SearchUpdaterTest_HasMany'
|
'HasManyObjects' => 'SearchUpdaterTest_HasMany'
|
||||||
);
|
);
|
||||||
|
|
||||||
|
private static $many_many = array(
|
||||||
|
'ManyManyObjects' => 'SearchUpdaterTest_ManyMany'
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
class SearchUpdaterTest_HasOne extends DataObject {
|
class SearchUpdaterTest_HasOne extends DataObject {
|
||||||
@ -38,6 +42,17 @@ class SearchUpdaterTest_HasMany extends DataObject {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class SearchUpdaterTest_ManyMany extends DataObject {
|
||||||
|
private static $db = array(
|
||||||
|
'Field1' => 'Varchar',
|
||||||
|
'Field2' => 'Varchar'
|
||||||
|
);
|
||||||
|
|
||||||
|
private static $belongs_many_many = array(
|
||||||
|
'ManyManyContainer' => 'SearchUpdaterTest_Container'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
class SearchUpdaterTest_Index extends SearchIndex_Recording {
|
class SearchUpdaterTest_Index extends SearchIndex_Recording {
|
||||||
function init() {
|
function init() {
|
||||||
$this->addClass('SearchUpdaterTest_Container');
|
$this->addClass('SearchUpdaterTest_Container');
|
||||||
|
@ -16,6 +16,36 @@ class SolrIndexTest extends SapphireTest {
|
|||||||
parent::setUp();
|
parent::setUp();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function testFieldDataHasOne() {
|
||||||
|
$index = new SolrIndexTest_FakeIndex();
|
||||||
|
$data = $index->fieldData('HasOneObject.Field1');
|
||||||
|
$data = $data['SearchUpdaterTest_Container_HasOneObject_Field1'];
|
||||||
|
|
||||||
|
$this->assertEquals('SearchUpdaterTest_Container', $data['origin']);
|
||||||
|
$this->assertEquals('SearchUpdaterTest_Container', $data['base']);
|
||||||
|
$this->assertEquals('SearchUpdaterTest_HasOne', $data['class']);
|
||||||
|
}
|
||||||
|
|
||||||
|
function testFieldDataHasMany() {
|
||||||
|
$index = new SolrIndexTest_FakeIndex();
|
||||||
|
$data = $index->fieldData('HasManyObjects.Field1');
|
||||||
|
$data = $data['SearchUpdaterTest_Container_HasManyObjects_Field1'];
|
||||||
|
|
||||||
|
$this->assertEquals('SearchUpdaterTest_Container', $data['origin']);
|
||||||
|
$this->assertEquals('SearchUpdaterTest_Container', $data['base']);
|
||||||
|
$this->assertEquals('SearchUpdaterTest_HasMany', $data['class']);
|
||||||
|
}
|
||||||
|
|
||||||
|
function testFieldDataManyMany() {
|
||||||
|
$index = new SolrIndexTest_FakeIndex();
|
||||||
|
$data = $index->fieldData('ManyManyObjects.Field1');
|
||||||
|
$data = $data['SearchUpdaterTest_Container_ManyManyObjects_Field1'];
|
||||||
|
|
||||||
|
$this->assertEquals('SearchUpdaterTest_Container', $data['origin']);
|
||||||
|
$this->assertEquals('SearchUpdaterTest_Container', $data['base']);
|
||||||
|
$this->assertEquals('SearchUpdaterTest_ManyMany', $data['class']);
|
||||||
|
}
|
||||||
|
|
||||||
function testBoost() {
|
function testBoost() {
|
||||||
$serviceMock = $this->getServiceMock();
|
$serviceMock = $this->getServiceMock();
|
||||||
Phockito::when($serviceMock)->search(anything(), anything(), anything(), anything(), anything())->return($this->getFakeRawSolrResponse());
|
Phockito::when($serviceMock)->search(anything(), anything(), anything(), anything(), anything())->return($this->getFakeRawSolrResponse());
|
||||||
@ -132,5 +162,6 @@ class SolrIndexTest_FakeIndex extends SolrIndex {
|
|||||||
$this->addFilterField('MyDate', 'Date');
|
$this->addFilterField('MyDate', 'Date');
|
||||||
$this->addFilterField('HasOneObject.Field1');
|
$this->addFilterField('HasOneObject.Field1');
|
||||||
$this->addFilterField('HasManyObjects.Field1');
|
$this->addFilterField('HasManyObjects.Field1');
|
||||||
|
$this->addFilterField('ManyManyObjects.Field1');
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user