public function testRequisito()
 {
     $tarefa = new Entity\Tarefa('TesteNomeRequisito', 100, 1);
     $requisito = new Entity\RequisitoMonetario();
     $requisito->setValor(1);
     $tarefa->addRequisito($requisito);
     $this->_em = $this->doctrineContainer->getEntityManager();
     $this->_em->persist($tarefa);
     $this->_em->flush();
     $tarefaBanco = $this->_em->getRepository('Application\\Entity\\Tarefa')->findOneByNome('TesteNomeRequisito');
     $this->assertEquals($tarefa->getNome(), $tarefaBanco->getNome());
     $this->assertEquals(1, $tarefaBanco->getRequisitos()->count());
     $this->assertInstanceOf('Application\\Entity\\RequisitoMonetario', $tarefaBanco->getRequisitos()->first());
     $this->assertEquals($tarefa->getRequisitos()->first()->getValor(), $tarefaBanco->getRequisitos()->first()->getValor());
 }
 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());
     }
 }
Esempio n. 3
0
 /**
  * @return Application\Entity\RequisitoMonetario
  */
 private function createRequisitoMonetario($config)
 {
     $requisito = new Entity\RequisitoMonetario();
     $requisito->setValor($config['valor']);
     return $requisito;
 }
 public function verificar(\Application\Entity\Usuario $usuario)
 {
     $this->__load();
     return parent::verificar($usuario);
 }