/**
  * Test save
  *
  * @author 	Eddie Jaoude
  * @param 	null
  * @return 	null
  *
  */
 public function testSaveAndRetrieve()
 {
     # save info
     $account = new Auth_Model_Account();
     $account->setName($this->data['name']);
     $account->setEmail($this->data['email']);
     $account->setPassword($this->data['password'], $this->appConfigAuth->hash);
     $date = new Zend_Date();
     $now = $date->toString('YYYY-MM-dd HH:mm:ss');
     $account->setCreated_at($now);
     $this->_em->persist($account);
     $this->_em->flush();
     # retrieve save info & clarify it is correct
     $accountDetails = $this->_em->find('Auth_Model_Account', $account->getId());
     $this->assertEquals($this->data['name'], $accountDetails->getName());
     $this->assertEquals($this->data['email'], $accountDetails->getEmail());
     $this->assertNotEquals($this->data['password'], $accountDetails->getPassword());
     $this->assertEquals($now, $accountDetails->getCreated_at());
 }
 /**
  * save method
  *
  * @param	void
  * @return	void
  */
 private function save($form)
 {
     $message = NULL;
     if ($this->_request->isPost()) {
         # get params
         $data = $this->_request->getPost();
         if ($form->isValid($data)) {
             # check for existing email
             $accountExist = $this->_em->getRepository('Auth_Model_Account')->findBy(array('email' => (string) $data['email']));
             if (count($accountExist) == 0) {
                 # register account
                 $account = new Auth_Model_Account();
                 $account->setName($data['name']);
                 $account->setEmail($data['email']);
                 $account->setPassword($data['password'], $this->_registry->config->auth->hash);
                 $date = new Zend_Date();
                 $account->setCreated_at($date->toString('YYYY-MM-dd HH:mm:ss'));
                 $this->_em->persist($account);
                 $this->_em->flush();
                 # send to login page
                 $this->_helper->redirector('successful', 'register', 'auth');
             } else {
                 $alert = array('Registration Failed: Email already exists');
                 // move to view
             }
         }
         # populate form
         $form->populate($data);
     }
     return array('form' => $form, 'alert' => empty($alert) ? NULL : $alert);
 }