public function testBulkUpdate() { $returnValue = array(array('componente_curricular_id' => 1, 'ano_escolar_id' => 1, 'escola_id' => 1, 'turma_id' => 1, 'carga_horaria' => NULL), array('componente_curricular_id' => 3, 'ano_escolar_id' => 1, 'escola_id' => 1, 'turma_id' => 1, 'carga_horaria' => 100)); $componentes = array(array('id' => 1, 'cargaHoraria' => 100), array('id' => 2, 'cargaHoraria' => NULL)); $mock = $this->getDbMock(); // 1 SELECT, 1 DELETE, 1 INSERT e 1 UPDATE $mock->expects($this->exactly(4))->method('Consulta'); $mock->expects($this->exactly(3))->method('ProximoRegistro')->will($this->onConsecutiveCalls(TRUE, TRUE, FALSE)); $mock->expects($this->exactly(2))->method('Tupla')->will($this->onConsecutiveCalls($returnValue[0], $returnValue[1])); $mapper = new ComponenteCurricular_Model_TurmaDataMapper($mock); $mapper->bulkUpdate(1, 1, 1, $componentes); }
function atualizaComponentesCurriculares($codSerie, $codEscola, $codTurma, $componentes, $cargaHoraria, $usarComponente) { require_once 'ComponenteCurricular/Model/TurmaDataMapper.php'; $mapper = new ComponenteCurricular_Model_TurmaDataMapper(); $componentesTurma = array(); foreach ($componentes as $key => $value) { $carga = isset($usarComponente[$key]) ? NULL : $cargaHoraria[$key]; $componentesTurma[] = array('id' => $value, 'cargaHoraria' => $carga); } $mapper->bulkUpdate($codSerie, $codEscola, $codTurma, $componentesTurma); }