Bladeren bron

增加单元测试

menduo 5 jaren geleden
bovenliggende
commit
92d9b02403

+ 16 - 4
mooctest-site-server/src/test/java/cn/iselab/mooctest/site/service/impl/ExamServiceTest.java

@@ -1,11 +1,9 @@
 package cn.iselab.mooctest.site.service.impl;
 
 import cn.iselab.mooctest.site.dao.*;
-import cn.iselab.mooctest.site.models.AssistManagerExam;
-import cn.iselab.mooctest.site.models.ContestMentorExam;
-import cn.iselab.mooctest.site.models.Exam;
-import cn.iselab.mooctest.site.models.ParticipantExam;
+import cn.iselab.mooctest.site.models.*;
 import cn.iselab.mooctest.site.util.data.Converter;
+import com.google.common.collect.Lists;
 import org.junit.Before;
 import org.junit.Test;
 import org.mockito.InjectMocks;
@@ -15,6 +13,7 @@ import org.springframework.data.domain.Page;
 import org.springframework.data.domain.PageImpl;
 import org.springframework.data.domain.PageRequest;
 
+import java.math.BigInteger;
 import java.sql.Timestamp;
 import java.util.ArrayList;
 import java.util.List;
@@ -109,4 +108,17 @@ public class ExamServiceTest {
         assertEquals(result.getContent().get(0).getId(), examPage.getContent().get(0).getId());
     }
 
+    @Test
+    public void test_getExamForUserSituation() {
+        List<Object[]> data = Lists.newArrayList();
+        data.add(
+                new Object[]{
+                        new BigInteger("2"),
+                        new BigInteger("2"),
+                        new Timestamp(System.currentTimeMillis())
+                });
+        when(examDao.queryUserSituation()).thenReturn(data);
+        List<ExamForUserSituation> result = examService.getExamForUserSituation();
+        assertEquals(result.get(0).getOwnerId(), ((BigInteger)data.get(0)[0]).longValue());
+    }
 }

+ 80 - 31
mooctest-site-server/src/test/java/cn/iselab/mooctest/site/service/impl/GroupServiceTest.java

@@ -1,6 +1,5 @@
 package cn.iselab.mooctest.site.service.impl;
 
-import cn.iselab.mooctest.site.Application;
 import cn.iselab.mooctest.site.dao.Exam2GroupDao;
 import cn.iselab.mooctest.site.dao.Group2WorkerDao;
 import cn.iselab.mooctest.site.dao.GroupDao;
@@ -8,11 +7,12 @@ import cn.iselab.mooctest.site.dao.ManagerPropertyDao;
 import cn.iselab.mooctest.site.data.UserDTOForMT;
 import cn.iselab.mooctest.site.models.*;
 import cn.iselab.mooctest.site.models.instancePermission.GroupPermission;
+import cn.iselab.mooctest.site.service.GroupService;
 import cn.iselab.mooctest.site.service.SubmitRecordService;
 import cn.iselab.mooctest.site.service.UserService;
 import cn.iselab.mooctest.site.service.instancePermission.GroupPermissionService;
 import cn.iselab.mooctest.site.web.exception.IllegalOperationException;
-import org.junit.Assert;
+import com.google.common.collect.Lists;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -20,13 +20,14 @@ import org.mockito.InjectMocks;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.mockito.runners.MockitoJUnitRunner;
-import org.springframework.boot.test.SpringApplicationConfiguration;
 import org.springframework.data.domain.*;
-import org.springframework.test.context.web.WebAppConfiguration;
 
+import java.math.BigInteger;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
 
+import static org.junit.Assert.assertEquals;
 import static org.mockito.Matchers.anyLong;
 import static org.mockito.Mockito.*;
 
@@ -34,12 +35,13 @@ import static org.mockito.Mockito.*;
  * Created by major on 2017/6/19.
  */
 
-@RunWith(MockitoJUnitRunner.class)
-@WebAppConfiguration
-@SpringApplicationConfiguration(classes = Application.class)
+//@RunWith(MockitoJUnitRunner.class)
+//@WebAppConfiguration
+//@SpringApplicationConfiguration(classes = Application.class)
 public class GroupServiceTest {
+
     @InjectMocks
-    private GroupServiceImpl groupService = new GroupServiceImpl();
+    private GroupService groupService = new GroupServiceImpl();
 
     @Mock
     private GroupDao groupDao;
@@ -96,7 +98,7 @@ public class GroupServiceTest {
         //action
         List<Group> result = groupService.getGroupsByParticipantId(123L);
         //assert
-        Assert.assertEquals(result.get(0).getId(), groupList.get(0).getId());
+        assertEquals(result.get(0).getId(), groupList.get(0).getId());
     }
 
     @Test
@@ -106,7 +108,7 @@ public class GroupServiceTest {
         //action
         Group result = groupService.getGroup(123L);
         //assert
-        Assert.assertEquals(group.getId(), result.getId());
+        assertEquals(group.getId(), result.getId());
     }
 
     @Test
@@ -116,7 +118,7 @@ public class GroupServiceTest {
         //action
         List<Group> result = groupService.getGroupsByOwnerId(123L);
         //assert
-        Assert.assertEquals(groupList.get(0).getId(), result.get(0).getId());
+        assertEquals(groupList.get(0).getId(), result.get(0).getId());
     }
 
     @Test
@@ -126,7 +128,7 @@ public class GroupServiceTest {
         //action
         Page<Group> result = groupService.getPageableGroupsByOwnerId(123L, pageable);
         //assert
-        Assert.assertEquals(groupList.get(0).getId(), result.getContent().get(0).getId());
+        assertEquals(groupList.get(0).getId(), result.getContent().get(0).getId());
     }
 
     @Test
@@ -136,7 +138,7 @@ public class GroupServiceTest {
         //action
         List<Group> result = groupService.getGroupsByExamIdAndParticipantId(1L, 7L);
         //assert
-        Assert.assertEquals(groupList.get(0).getId(), result.get(0).getId());
+        assertEquals(groupList.get(0).getId(), result.get(0).getId());
     }
 
     @Test
@@ -146,7 +148,7 @@ public class GroupServiceTest {
         //action
         List<User> result = groupService.getUserByGroupId(123L);
         //assert
-        Assert.assertEquals(userList.get(0).getId(), result.get(0).getId());
+        assertEquals(userList.get(0).getId(), result.get(0).getId());
     }
 
     @Test
@@ -158,11 +160,11 @@ public class GroupServiceTest {
         try {
             groupService.joinGroup(7L, group);
         } catch (Exception e) {
-            Assert.assertEquals(IllegalOperationException.class, e.getClass());
+            assertEquals(IllegalOperationException.class, e.getClass());
         }
         //assert
-        Assert.assertEquals(group.getId(), result1.getId());
-        Assert.assertEquals(group.getId(), result2.getId());
+        assertEquals(group.getId(), result1.getId());
+        assertEquals(group.getId(), result2.getId());
     }
 
     @Test
@@ -172,7 +174,7 @@ public class GroupServiceTest {
         //action
         int result = groupService.getWorkerCount(123L);
         //assert
-        Assert.assertEquals(12, result);
+        assertEquals(12, result);
     }
 
     @Test
@@ -184,7 +186,7 @@ public class GroupServiceTest {
         //action
         List<Integer> result = groupService.getWorkerCounts(groupIds);
         //assert
-        Assert.assertEquals(12, result.get(0), 0);
+        assertEquals(12, result.get(0), 0);
     }
 
     @Test
@@ -196,7 +198,7 @@ public class GroupServiceTest {
         //action
         User result = groupService.addUserIntoGroup(3333L, 1L);
         //assert
-        Assert.assertEquals(123L, result.getId(), 0);
+        assertEquals(123L, result.getId(), 0);
     }
 
     @Test
@@ -205,7 +207,7 @@ public class GroupServiceTest {
         //action
         Boolean result = groupService.checkUserExist(1796L, 1L);
         //assert
-        Assert.assertEquals(true, result);
+        assertEquals(true, result);
     }
 
     @Test
@@ -221,7 +223,7 @@ public class GroupServiceTest {
         //action
         User result = groupService.deleteUserFromGroup(1796L, 1L);
         //assert
-        Assert.assertEquals(123L, result.getId(), 0);
+        assertEquals(123L, result.getId(), 0);
         verify(group2WorkerDao).delete(group2Worker);
     }
 
@@ -232,7 +234,7 @@ public class GroupServiceTest {
         //action
         Group result = groupService.save(group);
         //assert
-        Assert.assertEquals(group.getId(), result.getId());
+        assertEquals(group.getId(), result.getId());
     }
 
     @Test
@@ -246,7 +248,7 @@ public class GroupServiceTest {
         //action
         List<Long> result = groupService.getGroupIdsByTaskId(111L);
         //assert
-        Assert.assertEquals(exam2Group.getGroupId(), result.get(0), 0.0);
+        assertEquals(exam2Group.getGroupId(), result.get(0), 0.0);
     }
 
     @Test
@@ -255,7 +257,7 @@ public class GroupServiceTest {
         //action
         Group result = groupService.joinGroupForRegister(3333L, group);
         //assert
-        Assert.assertEquals(group.getId(), result.getId());
+        assertEquals(group.getId(), result.getId());
     }
 
     @Test
@@ -265,7 +267,7 @@ public class GroupServiceTest {
         //action
         List<Group> result = groupService.getByExamId(111L);
         //assert
-        Assert.assertEquals(groupList.get(0).getId(), result.get(0).getId());
+        assertEquals(groupList.get(0).getId(), result.get(0).getId());
     }
 
     @Test
@@ -277,7 +279,7 @@ public class GroupServiceTest {
         //action
         User result = groupService.addUserIntoGroupForOauth2(3333L, 1L);
         //assert
-        Assert.assertEquals(userDTOForMT.getId(), result.getId());
+        assertEquals(userDTOForMT.getId(), result.getId());
     }
 
     @Test
@@ -291,7 +293,7 @@ public class GroupServiceTest {
         //action
         Boolean result = groupService.checkManagerGroupSize(7L);
         //assert
-        Assert.assertEquals(true, result);
+        assertEquals(true, result);
     }
 
     @Test
@@ -305,7 +307,7 @@ public class GroupServiceTest {
         //action
         Boolean result = groupService.checkManagerGroupSize(7L);
         //assert
-        Assert.assertEquals(false, result);
+        assertEquals(false, result);
     }
 
     @Test
@@ -314,7 +316,7 @@ public class GroupServiceTest {
         //action
         Boolean result = groupService.isUserInGroup(3333L, 1L);
         //assert
-        Assert.assertEquals(false, result);
+        assertEquals(false, result);
     }
 
     @Test
@@ -323,6 +325,53 @@ public class GroupServiceTest {
         //action
         Boolean result = groupService.isUserInGroup(1796L, 1L);
         //assert
-        Assert.assertEquals(true, result);
+        assertEquals(true, result);
     }
+
+    @Test
+    public void test_getOwnerAndWorkersCountDTO() {
+        List<Long> ownerIds = Lists.newArrayList(7L,8L);
+        List<Group> groups = Lists.newArrayList();
+        Group group = new Group();
+        group.setId(1L);
+        group.setOwnerId(7L);
+        groups.add(group);
+        Group group2 = new Group();
+        group2.setId(2L);
+        group2.setOwnerId(8L);
+        groups.add(group2);
+        Group group3 = new Group();
+        group3.setId(3L);
+        group3.setOwnerId(8L);
+        groups.add(group3);
+
+        List<Object[]> data = Lists.newArrayList();
+        data.add(
+                new Object[]{
+                        new BigInteger("1"),
+                        new BigInteger("100")
+                });
+        data.add(
+                new Object[]{
+                        new BigInteger("2"),
+                        new BigInteger("10")
+                });
+        data.add(
+                new Object[]{
+                        new BigInteger("3"),
+                        new BigInteger("1000")
+                });
+
+        when(groupDao.findByOwnerIdInAndIsActiveAndIsDeleted(ownerIds,true,false))
+                .thenReturn(groups);
+
+
+        when(group2WorkerDao.getGroupWorkerCount())
+                .thenReturn(data);
+
+        Map<Long, Long> result = groupService.getOwnerAndWorkersCountDTO(ownerIds);
+
+        assertEquals(1010L, result.get(8L).longValue());
+    }
+
 }

+ 70 - 0
mooctest-site-server/src/test/java/cn/iselab/mooctest/site/service/impl/ManagerPropertyServiceImplTest.java

@@ -0,0 +1,70 @@
+package cn.iselab.mooctest.site.service.impl;
+
+import cn.iselab.mooctest.site.dao.ManagerPropertyDao;
+import cn.iselab.mooctest.site.models.ManagerProperty;
+import cn.iselab.mooctest.site.service.ManagerPropertyService;
+import com.google.common.collect.Lists;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+import java.sql.Timestamp;
+import java.util.List;
+
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Mockito.when;
+
+/**
+ * @program: mooctest-site
+ * @mail: menduo96@gmail.com
+ * @author: menduo
+ * @create: 2019-11-29 14:16
+ **/
+public class ManagerPropertyServiceImplTest {
+    @InjectMocks
+    private ManagerPropertyService managerPropertyService = new ManagerPropertyServiceImpl();
+
+    @Mock
+    private ManagerPropertyDao managerPropertyDao;
+
+    private ManagerProperty managerProperty;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        managerProperty = new ManagerProperty();
+        managerProperty.setUserId(123456L);
+        managerProperty.setStatus(1);
+        managerProperty.setLevel(0);
+        managerProperty.setTaskNum(5);
+        managerProperty.setGroupSize(50);
+        managerProperty.setGroupNum(10);
+        managerProperty.setCreateTime(new Timestamp(System.currentTimeMillis()));
+        Long expireTime = 1531584000000L;
+        managerProperty.setExpireTime(new Timestamp(expireTime));
+
+    }
+
+    @Test
+    public void setDefaultManagerProperty() {
+        when(managerPropertyDao.save(managerProperty)).thenReturn(managerProperty);
+        managerPropertyService.setDefaultManagerProperty(123456L);
+    }
+
+    @Test
+    public void getManagerPropertyByUserId() {
+        when(managerPropertyDao.findByUserId(123456L)).thenReturn(managerProperty);
+        ManagerProperty result = managerPropertyService.getManagerPropertyByUserId(123456L);
+        assertEquals(managerProperty.getId(), result.getId());
+    }
+
+    @Test
+    public void getManagerPropertyByUserIds() {
+        List<ManagerProperty> managerProperties = Lists.newArrayList(managerProperty);
+        when(managerPropertyDao.findByUserIdIn(Lists.newArrayList(123456L))).thenReturn(managerProperties);
+        List<ManagerProperty> result = managerPropertyService.getManagerPropertyByUserIds(Lists.newArrayList(123456L));
+        assertEquals(managerProperty.getId(), result.get(0).getId());
+    }
+}

+ 62 - 5
mooctest-site-server/src/test/java/cn/iselab/mooctest/site/web/logic/impl/UserLogicImplTest.java

@@ -10,18 +10,17 @@ import cn.iselab.mooctest.site.rpc.user.IntegralService;
 import cn.iselab.mooctest.site.service.*;
 import cn.iselab.mooctest.site.util.data.Converter;
 import cn.iselab.mooctest.site.util.data.EncryptionUtil;
-import cn.iselab.mooctest.site.web.data.ManagerPropertyVO;
-import cn.iselab.mooctest.site.web.data.MenuVO;
-import cn.iselab.mooctest.site.web.data.SalesServiceVO;
-import cn.iselab.mooctest.site.web.data.UserPackageVO;
-import cn.iselab.mooctest.site.web.data.UserVO;
+import cn.iselab.mooctest.site.web.data.*;
 import cn.iselab.mooctest.site.web.data.wrapper.ManagerPropertyVOWrapper;
 import cn.iselab.mooctest.site.web.data.wrapper.MenuVOWrapper;
 import cn.iselab.mooctest.site.web.data.wrapper.SalesPackageVOWrapper;
+import cn.iselab.mooctest.site.web.data.wrapper.UserSituationVOWrapper;
 import cn.iselab.mooctest.site.web.exception.HttpBadRequestException;
 import cn.iselab.mooctest.site.web.logic.MenuLogic;
 import cn.iselab.mooctest.site.web.logic.RoleLogic;
 import com.fasterxml.jackson.databind.util.BeanUtil;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
 import org.apache.commons.beanutils.BeanUtils;
 import org.apache.shiro.session.Session;
 import org.apache.shiro.subject.Subject;
@@ -90,6 +89,10 @@ public class UserLogicImplTest extends AbstractShiroTest {
     private MenuLogic menuLogic;
     @Mock
     private RoleLogic roleLogic;
+    @Mock
+    private ExamService examService;
+    @Mock
+    private UserSituationVOWrapper userSituationVOWrapper;
 
     private UserVO userVO = new UserVO();
     private UserDTOForMT user = new UserDTOForMT();
@@ -434,4 +437,58 @@ public class UserLogicImplTest extends AbstractShiroTest {
         assertEquals((Long)mp.getExpireTime().getTime(),result.getExpireTime());
         assertNotNull(result.getMenuVOs());
     }
+
+
+    @Test
+    public void test_getUserSituation() {
+        ExamForUserSituation data1 = new ExamForUserSituation(7L,15,System.currentTimeMillis());
+        ExamForUserSituation data2 = new ExamForUserSituation(8L,8, System.currentTimeMillis());
+        List<ExamForUserSituation> examForUserSituations = Lists.newArrayList(data1,data2);
+
+        when(examService.getExamForUserSituation()).thenReturn(examForUserSituations);
+
+        Map<Long, UserDTOForMT> maps = Maps.newHashMap();
+        UserDTOForMT user1 = new UserDTOForMT();
+        user1.setEmail("menduo7@menduo.com");
+        user1.setId(7L);
+        user1.setName("menduo7");
+        maps.put(7L, user1);
+        UserDTOForMT user2 = new UserDTOForMT();
+        user2.setEmail("menduo8@menduo.com");
+        user2.setId(8L);
+        user2.setName("menduo8");
+        user2.setMobile("176xxxxxxxx");
+        maps.put(8L, user1);
+        when(userService.getUserMap(Lists.newArrayList(7L, 8L))).thenReturn(maps);
+
+        ManagerProperty mp1 = new ManagerProperty();
+        mp1.setId(12L);
+        mp1.setUserId(7L);
+        mp1.setGroupSize(500);
+        ManagerProperty mp2 = new ManagerProperty();
+        mp2.setId(13L);
+        mp2.setUserId(8L);
+        mp2.setGroupSize(500);
+        List<ManagerProperty> managerProperties = Lists.newArrayList(mp1);
+        when(managerPropertyService.getManagerPropertyByUserIds(Lists.newArrayList(7L,8L))).thenReturn(managerProperties);
+
+        Map<Long, Long> ownersCount = Maps.newHashMap();
+        ownersCount.put(7L,100L);
+        ownersCount.put(8L,200L);
+        when(groupService.getOwnerAndWorkersCountDTO(Lists.newArrayList(7L, 8L))).thenReturn(ownersCount);
+        UserSituationVO userSituationVO = new UserSituationVO();
+        userSituationVO.setUserId(7L);
+        userSituationVO.setUsed(100);
+        when(userSituationVOWrapper.wrapper(data1,user1,ownersCount.get(7L),mp1.getGroupSize()))
+                .thenReturn(userSituationVO);
+        when(userSituationVOWrapper.wrapper(data2,user2,ownersCount.get(8L),mp2.getGroupSize()))
+                .thenReturn(userSituationVO);
+
+        List<UserSituationVO> result = userLogic.getUserSituation();
+
+        assertEquals(7,result.get(0).getUserId());
+        assertEquals(100,result.get(0).getUsed());
+
+
+    }
 }