public function testFalhaCumprirSemRequisitoEnergia() { $usuario = new Entity\Usuario(); $usuario->setEnergia(1); $usuario->setSaldo(0); $tarefa = new Entity\Tarefa('Tarefa monetario foo', 1, 5); $requisito = new Entity\RequisitoMonetario(); $requisito->setValor(1); $tarefa->addRequisito($requisito); $cumprirTarefa = new Service\CumprirTarefa($tarefa, $usuario); try { $cumprirTarefa->cumprir(); $this->fail('Não disparou a Exception.'); } catch (Exception $e) { $this->assertEquals('Saldo insuficiante.', $e->getMessage()); } }
public function realizarAction() { $this->_helper->viewRenderer->setNoRender(); $tarefa_id = (int) $this->_getParam('tarefa_id', 0); $usuario = Zend_Auth::getInstance()->getIdentity(); $usuario = $this->_em->getRepository('Application\\Entity\\Usuario')->find($usuario->getId()); $tarefa = $this->_em->find('Application\\Entity\\Tarefa', $tarefa_id); $cumprirTarefa = new Service\CumprirTarefa($tarefa, $usuario); try { $cumprirTarefa->cumprir(); $this->_em->persist($usuario); $this->_em->flush(); } catch (Exception $e) { $this->_helper->FlashMessenger->addMessage(array('error' => $e->getMessage())); } return $this->_redirect('/index/dashboard'); }