<?php

/**
 * Doctrine_Template_Solr tests.
 */
include_once dirname(__FILE__) . '/../../../bootstrap/bootstrap.php';
LimeAnnotationSupport::enable();
$t = new lime_test(13);
// @Before
$handler = $t->mock('Search_Handler_Interface');
$post = new Post();
$post->setTitle('title');
$post->setBody('body');
$post->Thread = new Thread();
$post->Thread->title = 'test thread';
$post->save();
Doctrine::getTable('Post')->setSearchHandler($handler);
// @After
$handler->reset();
unset($handler);
unset($post);
// @Test: template availability
$t->ok(is_callable(array(Doctrine::getTable('Post'), 'isSearchAvailable')));
// @Test: getUniqueId() generates a correct id
$identifier = sprintf("Post_%d", $post->getId());
$t->is($post->getUniqueId(), $identifier);
// @Test: getFieldsArray() generates an array with all the required fields
$keys = array_keys($post->getFieldsArray());
$t->is_deeply($keys, array('sf_unique_id', 'sf_meta_class', 'sf_meta_id', 'title_t', 'body_t'));
// @Test: getFieldsArray() generates an array with correct values
$array = $post->getFieldsArray();