package de.juwimm.cms.remote.test; import junit.framework.TestCase; import org.easymock.EasyMock; import org.junit.Assert; import org.springframework.beans.factory.annotation.Autowired; import de.juwimm.cms.authorization.model.UserHbm; import de.juwimm.cms.authorization.model.UserHbmDao; import de.juwimm.cms.authorization.model.UserHbmImpl; import de.juwimm.cms.model.UnitHbm; import de.juwimm.cms.model.UnitHbmDao; import de.juwimm.cms.model.UnitHbmImpl; import de.juwimm.cms.remote.UnitServiceSpringImpl; import de.juwimm.cms.vo.UnitValue; public class UnitServiceTest extends TestCase { @Autowired private UnitHbmDao unitDaoMock; private UserHbmDao userHbmDaoMock; private UnitServiceSpringImpl unitService; @Override protected void setUp() throws Exception { unitService = new UnitServiceSpringImpl(); unitDaoMock = EasyMock.createMock(UnitHbmDao.class); unitService.setUnitHbmDao(unitDaoMock); userHbmDaoMock = EasyMock.createMock(UserHbmDao.class); unitService.setUserHbmDao(userHbmDaoMock); } /** * Test AddUnit2User * expect: the given user to be added to the unit's user list */ public void testAddUnit2User() { UserHbm user = new UserHbmImpl(); user.setUserId("testUser"); user.setFirstName("testFirstName"); user.setLastName("testLastName"); UnitHbm unit = new UnitHbmImpl(); unit.setUnitId(1); unit.setName("testUnitName"); unit.setColour("Red"); UnitValue unitValue = new UnitValue(); unitValue.setUnitId(1); unitValue.setName("testUnitName"); unitValue.setColour("Red"); try { EasyMock.expect(userHbmDaoMock.load(EasyMock.eq("testUser"))).andReturn(user); EasyMock.expect(unitDaoMock.load(EasyMock.eq(1))).andReturn(unit).times(2); } catch (Exception e) { Assert.assertTrue(false); } EasyMock.replay(userHbmDaoMock); EasyMock.replay(unitDaoMock); try { unitService.addUser2Unit(unitValue, "testUser"); unit = unitDaoMock.load(1); Assert.assertEquals(1, unit.getUsers().size()); } catch (Exception e) { Assert.assertTrue(false); } EasyMock.verify(userHbmDaoMock); EasyMock.verify(unitDaoMock); } /** * Test RemoveUnitFromUser * expect: the given user to be removed from * the unit's user list */ public void testRemoveUserFromUnit() { UserHbm user = new UserHbmImpl(); user.setUserId("testUser"); user.setFirstName("testFirstName"); user.setLastName("testLastName"); UnitHbm unit = new UnitHbmImpl(); unit.setUnitId(1); unit.setName("testUnitName"); unit.setColour("testColour"); unit.getUsers().add(user); UnitValue unitValue = new UnitValue(); unitValue.setUnitId(1); unitValue.setName("testUnitName"); unitValue.setColour("testColour"); try { EasyMock.expect(userHbmDaoMock.load(EasyMock.eq("testUser"))).andReturn(user); EasyMock.expect(unitDaoMock.load(EasyMock.eq(1))).andReturn(unit).times(2); } catch (Exception e) { Assert.assertTrue(false); } EasyMock.replay(userHbmDaoMock); EasyMock.replay(unitDaoMock); try { unitService.removeUserFromUnit(unitValue, "testUser"); unit = unitDaoMock.load(1); Assert.assertEquals(0, unit.getUsers().size()); } catch (Exception e) { Assert.assertTrue(false); } } }