public function testValidationFailure()
 {
     $data = array('index' => '', 'query' => '');
     $this->assertInstanceOf('Application\\Model\\Entity\\Search', $this->entity->exchangeArray($data));
     $this->assertFalse($this->entity->isValid());
     $this->assertNotEmpty($this->entity->getErrorMessages());
     $this->assertEquals(2, count($this->entity->getErrorMessages()['errors']));
 }
 public function indexAction()
 {
     $form = new SearchForm();
     $searchEntity = new Search();
     $request = $this->getRequest();
     if ($request->isPost()) {
         $form->setInputFilter($searchEntity->getInputFilter());
         $form->setData($request->getPost());
         if ($form->isValid()) {
             $searchEntity->exchangeArray($form->getData());
             try {
                 $searchEntity = $this->getServiceLocator()->get('application.service.elasticsearch')->search($searchEntity);
             } catch (\Exception $e) {
                 $this->getServiceLocator()->get('log.app')->emerg($e->getMessage());
                 $searchEntity->setResult(array('Error' => $e->getMessage()));
             }
         }
     }
     return new ViewModel(array('form' => $form, 'searchEntity' => $searchEntity));
 }