/**
* @group functional
*/
public function testMappingStoreFields()
{
$client = $this->_getClient();
$index = $client->getIndex('test');
$index->create(array(), true);
$type = $index->getType('test');
$mapping = new Mapping($type, array('firstname' => array('type' => 'string', 'store' => true), 'lastname' => array('type' => 'string')));
$mapping->disableSource();
$type->setMapping($mapping);
$firstname = 'Nicolas';
$doc = new Document(1, array('firstname' => $firstname, 'lastname' => 'Ruflin'));
$type->addDocument($doc);
$index->refresh();
$queryString = new QueryString('ruflin');
$query = Query::create($queryString);
$query->setFields(array('*'));
$resultSet = $type->search($query);
$result = $resultSet->current();
$fields = $result->getFields();
$this->assertEquals($firstname, $fields['firstname'][0]);
$this->assertArrayNotHasKey('lastname', $fields);
$this->assertEquals(1, count($fields));
$index->flush();
$document = $type->getDocument(1);
$this->assertEmpty($document->getData());
$index->delete();
}