From 2c2ce46656e3a85eab3905ca18d681d95c9fdbfc Mon Sep 17 00:00:00 2001 From: Eriksen Costa Paixão Date: Mon, 19 Apr 2010 22:14:12 +0000 Subject: [PATCH] Corrigido bug durante a criação de mapper de {{{Avaliacao_Model_ParecerDescritivoAbstractDataMapper}}} padrão e de configuração de mocks para os testes de pareceres descritivos --- ieducar/modules/Avaliacao/Service/Boletim.php | 9 +++++++++ ieducar/modules/Avaliacao/_tests/Service/ParecerDescritivoAlunoTest.php | 6 ++++++ ieducar/modules/Avaliacao/_tests/Service/TestCommon.php | 18 +++++++++++++----- 3 files changed, 28 insertions(+), 5 deletions(-) diff --git a/ieducar/modules/Avaliacao/Service/Boletim.php b/ieducar/modules/Avaliacao/Service/Boletim.php index 283d1dd..83c1076 100644 --- a/ieducar/modules/Avaliacao/Service/Boletim.php +++ b/ieducar/modules/Avaliacao/Service/Boletim.php @@ -589,6 +589,11 @@ class Avaliacao_Service_Boletim implements CoreExt_Configurable break; } + // Se não usar parecer descritivo, retorna NULL + if (!isset($filename)) { + return NULL; + } + require_once $filename; $this->setParecerDescritivoAbstractDataMapper(new $class()); } @@ -888,6 +893,10 @@ class Avaliacao_Service_Boletim implements CoreExt_Configurable */ protected function _loadParecerDescritivo() { + if ($this->getRegra()->get('parecerDescritivo') == RegraAvaliacao_Model_TipoParecerDescritivo::NENHUM) { + return $this; + } + if (!$this->hasParecerDescritivoAluno()) { $this->_createParecerDescritivoAluno(); } diff --git a/ieducar/modules/Avaliacao/_tests/Service/ParecerDescritivoAlunoTest.php b/ieducar/modules/Avaliacao/_tests/Service/ParecerDescritivoAlunoTest.php index 677e4d6..129391f 100644 --- a/ieducar/modules/Avaliacao/_tests/Service/ParecerDescritivoAlunoTest.php +++ b/ieducar/modules/Avaliacao/_tests/Service/ParecerDescritivoAlunoTest.php @@ -44,6 +44,12 @@ require_once 'Avaliacao/_tests/Service/TestCommon.php'; */ class Avaliacao_Service_ParecerDescritivoAlunoTest extends Avaliacao_Service_TestCommon { + protected function setUp() + { + $this->_setRegraOption('parecerDescritivo', RegraAvaliacao_Model_TipoParecerDescritivo::ANUAL_COMPONENTE); + parent::setUp(); + } + public function testCriaNovaInstanciaDeParecerDescritivoAluno() { $parecerAluno = $this->_getConfigOption('parecerDescritivoAluno', 'instance'); diff --git a/ieducar/modules/Avaliacao/_tests/Service/TestCommon.php b/ieducar/modules/Avaliacao/_tests/Service/TestCommon.php index 8bdbc9c..3a5e3f0 100644 --- a/ieducar/modules/Avaliacao/_tests/Service/TestCommon.php +++ b/ieducar/modules/Avaliacao/_tests/Service/TestCommon.php @@ -915,10 +915,15 @@ abstract class Avaliacao_Service_TestCommon extends UnitBaseTest $parecerAluno = $this->_getConfigOption('parecerDescritivoAluno', 'instance'); $mock = $this->getCleanMock('Avaliacao_Model_ParecerDescritivoAlunoDataMapper'); - $mock->expects($this->at(0)) - ->method('findAll') - ->with(array(), array('matricula' => $this->_getConfigOption('matricula', 'cod_matricula'))) - ->will($this->returnValue(array($parecerAluno))); + + if ($this->_getRegraOption('parecerDescritivo') != RegraAvaliacao_Model_TipoParecerDescritivo::NENHUM) { + $matcher = $this->at(0); + + $mock->expects($matcher) + ->method('findAll') + ->with(array(), array('matricula' => $this->_getConfigOption('matricula', 'cod_matricula'))) + ->will($this->returnValue(array($parecerAluno))); + } $this->_setParecerDescritivoAlunoDataMapperMock($mock); } @@ -938,10 +943,13 @@ abstract class Avaliacao_Service_TestCommon extends UnitBaseTest $parecerAluno = $this->_getConfigOption('parecerDescritivoAluno', 'instance'); $mock = $this->getCleanMock('Avaliacao_Model_ParecerDescritivoAbstractDataMapper'); - $mock->expects($this->at(0)) + + if ($this->_getRegraOption('parecerDescritivo') != RegraAvaliacao_Model_TipoParecerDescritivo::NENHUM) { + $mock->expects($this->at(0)) ->method('findAll') ->with(array(), array('parecerDescritivoAluno' => $parecerAluno->id), array('etapa' => 'ASC')) ->will($this->returnValue(array())); + } $this->_setParecerDescritivoAbstractDataMapperMock($mock); } -- libgit2 0.21.2