package mx.edu.um.miembros.service;
import java.util.List;
import java.util.ArrayList;
import mx.edu.um.service.BaseManagerTestCase;
import mx.edu.um.miembros.dao.MiembroCargoRelacionDao;
import mx.edu.um.miembros.model.MiembroCargoRelacion;
import mx.edu.um.miembros.service.impl.MiembroCargoRelacionManagerImpl;
import org.jmock.Mock;
import org.springframework.orm.ObjectRetrievalFailureException;
public class MiembroCargoRelacionManagerTest extends BaseManagerTestCase {
private final String miembroCargoRelacionId = "1";
private MiembroCargoRelacionManagerImpl miembroCargoRelacionManager = new MiembroCargoRelacionManagerImpl();
private Mock miembroCargoRelacionDao = null;
protected void setUp() throws Exception {
super.setUp();
miembroCargoRelacionDao = new Mock(MiembroCargoRelacionDao.class);
miembroCargoRelacionManager.setMiembroCargoRelacionDao((MiembroCargoRelacionDao) miembroCargoRelacionDao.proxy());
}
protected void tearDown() throws Exception {
super.tearDown();
miembroCargoRelacionManager = null;
}
public void testGetMiembroCargoRelacions() throws Exception {
List results = new ArrayList();
MiembroCargoRelacion miembroCargoRelacion = new MiembroCargoRelacion();
results.add(miembroCargoRelacion);
// set expected behavior on dao
miembroCargoRelacionDao.expects(once()).method("getMiembroCargoRelacions")
.will(returnValue(results));
List miembroCargoRelacions = miembroCargoRelacionManager.getMiembroCargoRelacions(null);
assertTrue(miembroCargoRelacions.size() == 1);
miembroCargoRelacionDao.verify();
}
public void testGetMiembroCargoRelacion() throws Exception {
// set expected behavior on dao
miembroCargoRelacionDao.expects(once()).method("getMiembroCargoRelacion")
.will(returnValue(new MiembroCargoRelacion()));
MiembroCargoRelacion miembroCargoRelacion = miembroCargoRelacionManager.getMiembroCargoRelacion(miembroCargoRelacionId);
assertTrue(miembroCargoRelacion != null);
miembroCargoRelacionDao.verify();
}
public void testSaveMiembroCargoRelacion() throws Exception {
MiembroCargoRelacion miembroCargoRelacion = new MiembroCargoRelacion();
// set expected behavior on dao
miembroCargoRelacionDao.expects(once()).method("saveMiembroCargoRelacion")
.with(same(miembroCargoRelacion)).isVoid();
miembroCargoRelacionManager.saveMiembroCargoRelacion(miembroCargoRelacion);
miembroCargoRelacionDao.verify();
}
public void testAddAndRemoveMiembroCargoRelacion() throws Exception {
MiembroCargoRelacion miembroCargoRelacion = new MiembroCargoRelacion();
// set required fields
miembroCargoRelacion.setFechaInicial(new java.util.Date());
miembroCargoRelacion.setFechaFinal(new java.util.Date());
// set expected behavior on dao
miembroCargoRelacionDao.expects(once()).method("saveMiembroCargoRelacion")
.with(same(miembroCargoRelacion)).isVoid();
miembroCargoRelacionManager.saveMiembroCargoRelacion(miembroCargoRelacion);
miembroCargoRelacionDao.verify();
// reset expectations
miembroCargoRelacionDao.reset();
miembroCargoRelacionDao.expects(once()).method("removeMiembroCargoRelacion").with(eq(new Integer(miembroCargoRelacionId)));
miembroCargoRelacionManager.removeMiembroCargoRelacion(miembroCargoRelacionId);
miembroCargoRelacionDao.verify();
// reset expectations
miembroCargoRelacionDao.reset();
// remove
Exception ex = new ObjectRetrievalFailureException(MiembroCargoRelacion.class, miembroCargoRelacion.getId());
miembroCargoRelacionDao.expects(once()).method("removeMiembroCargoRelacion").isVoid();
miembroCargoRelacionDao.expects(once()).method("getMiembroCargoRelacion").will(throwException(ex));
miembroCargoRelacionManager.removeMiembroCargoRelacion(miembroCargoRelacionId);
try {
miembroCargoRelacionManager.getMiembroCargoRelacion(miembroCargoRelacionId);
fail("MiembroCargoRelacion with identifier '" + miembroCargoRelacionId + "' found in database");
} catch (ObjectRetrievalFailureException e) {
assertNotNull(e.getMessage());
}
miembroCargoRelacionDao.verify();
}
}