package com.vst.service;
import java.util.List;
import java.util.ArrayList;
import com.vst.service.BaseManagerTestCase;
import com.vst.dao.DangerCategoryDao;
import com.vst.model.DangerCategory;
import com.vst.service.impl.DangerCategoryManagerImpl;
import org.jmock.Mock;
import org.springframework.orm.ObjectRetrievalFailureException;
public class DangerCategoryManagerTest extends BaseManagerTestCase {
private final String dangerCategoryId = "1";
private DangerCategoryManagerImpl dangerCategoryManager = new DangerCategoryManagerImpl();
private Mock dangerCategoryDao = null;
protected void setUp() throws Exception {
super.setUp();
dangerCategoryDao = new Mock(DangerCategoryDao.class);
dangerCategoryManager.setDangerCategoryDao((DangerCategoryDao) dangerCategoryDao.proxy());
}
protected void tearDown() throws Exception {
super.tearDown();
dangerCategoryManager = null;
}
public void testGetDangerCategorys() throws Exception {
List results = new ArrayList();
DangerCategory dangerCategory = new DangerCategory();
results.add(dangerCategory);
// set expected behavior on dao
dangerCategoryDao.expects(once()).method("getDangerCategorys")
.will(returnValue(results));
List dangerCategorys = dangerCategoryManager.getDangerCategorys(null);
assertTrue(dangerCategorys.size() == 1);
dangerCategoryDao.verify();
}
public void testGetDangerCategory() throws Exception {
// set expected behavior on dao
dangerCategoryDao.expects(once()).method("getDangerCategory")
.will(returnValue(new DangerCategory()));
DangerCategory dangerCategory = dangerCategoryManager.getDangerCategory(dangerCategoryId);
assertTrue(dangerCategory != null);
dangerCategoryDao.verify();
}
public void testSaveDangerCategory() throws Exception {
DangerCategory dangerCategory = new DangerCategory();
// set expected behavior on dao
dangerCategoryDao.expects(once()).method("saveDangerCategory")
.with(same(dangerCategory)).isVoid();
dangerCategoryManager.saveDangerCategory(dangerCategory);
dangerCategoryDao.verify();
}
public void testAddAndRemoveDangerCategory() throws Exception {
DangerCategory dangerCategory = new DangerCategory();
// set required fields
// set expected behavior on dao
dangerCategoryDao.expects(once()).method("saveDangerCategory")
.with(same(dangerCategory)).isVoid();
dangerCategoryManager.saveDangerCategory(dangerCategory);
dangerCategoryDao.verify();
// reset expectations
dangerCategoryDao.reset();
dangerCategoryDao.expects(once()).method("removeDangerCategory").with(eq(new Long(dangerCategoryId)));
dangerCategoryManager.removeDangerCategory(dangerCategoryId);
dangerCategoryDao.verify();
// reset expectations
dangerCategoryDao.reset();
// remove
Exception ex = new ObjectRetrievalFailureException(DangerCategory.class, dangerCategory.getDangerCategoryId());
dangerCategoryDao.expects(once()).method("removeDangerCategory").isVoid();
dangerCategoryDao.expects(once()).method("getDangerCategory").will(throwException(ex));
dangerCategoryManager.removeDangerCategory(dangerCategoryId);
try {
dangerCategoryManager.getDangerCategory(dangerCategoryId);
fail("DangerCategory with identifier '" + dangerCategoryId + "' found in database");
} catch (ObjectRetrievalFailureException e) {
assertNotNull(e.getMessage());
}
dangerCategoryDao.verify();
}
}