package net.techreadiness.service.object.mapping; import static org.mockito.Mockito.when; import java.util.ArrayList; import java.util.List; import net.techreadiness.persistence.dao.GenericDAO; import net.techreadiness.persistence.domain.OrgDO; import net.techreadiness.persistence.domain.OrgExtDO; import net.techreadiness.persistence.domain.OrgTypeDO; import net.techreadiness.persistence.domain.PermissionDO; import net.techreadiness.persistence.domain.RoleDO; import net.techreadiness.service.object.Org; import net.techreadiness.service.object.Permission; import net.techreadiness.service.object.Role; import org.junit.Assert; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.runners.MockitoJUnitRunner; @RunWith(MockitoJUnitRunner.class) public class MappingServiceTest { MappingService mappingService; OrgDO orgDO; @Mock GenericDAO genericDao; @Before public void setup() { MappingServiceImpl mappingService = new MappingServiceImpl(); mappingService.genericDao = genericDao; this.mappingService = mappingService; orgDO = new OrgDO(); orgDO.setOrgId(42L); orgDO.setOrgExts(new ArrayList<OrgExtDO>()); OrgTypeDO orgType = new OrgTypeDO(); orgType.setCode("orgType"); orgDO.setOrgType(orgType); } @Test public void testMapFromEntityToBaseObject() { Org org = mappingService.map(orgDO, Org.class); Assert.assertEquals((Long) 42L, org.getOrgId()); Assert.assertEquals("orgType", org.getOrgTypeCode()); } @Test public void testMapFromBaseObjectToEntity() { Org org = new Org(); org.setOrgId(Long.valueOf(42)); OrgDO orgDO = mappingService.map(org); Assert.assertEquals(Long.valueOf(42), orgDO.getOrgId()); } @Test public void testToStringRepresentation() { Org org = new Org(); org.setOrgId(Long.valueOf(42)); String orgId = mappingService.toStringRepresentation(org); Assert.assertEquals("42", orgId); } @Test public void testFromStringRepresentation() { when(genericDao.find(OrgDO.class, 42L)).thenReturn(orgDO); Org org = mappingService.fromStringRepresentation(Org.class, "42"); Assert.assertEquals(Long.valueOf(42), org.getOrgId()); } @Test public void testPermissionMap() { PermissionDO permissionDO = new PermissionDO(); permissionDO.setPermissionId(12L); Permission permission = mappingService.map(permissionDO); Assert.assertEquals(permissionDO.getPermissionId(), permission.getPermissionId()); } @Test public void testPermissionListMap() { List<PermissionDO> list = new ArrayList<>(); PermissionDO permissionDO = new PermissionDO(); permissionDO.setPermissionId(12L); list.add(permissionDO); permissionDO = new PermissionDO(); permissionDO.setPermissionId(16L); list.add(permissionDO); List<Permission> mappedList = mappingService.mapFromDOList(list); Assert.assertEquals(mappedList.size(), 2); Assert.assertEquals(mappedList.get(0).getPermissionId(), Long.valueOf(12L)); Assert.assertEquals(mappedList.get(1).getPermissionId(), Long.valueOf(16L)); } @Test public void testRoleMap() { RoleDO roleDO = new RoleDO(); roleDO.setRoleId(12L); Role role = mappingService.map(roleDO); Assert.assertEquals(roleDO.getRoleId(), role.getRoleId()); } }