user module
GET /user/getId
GET /user/invitation-code
GET /user/info
GET /user/reward
GET /user/collection
GET /user/upload
GET /user/purchase
GET /user/search
GET /user/data
GET /user/subscriber
GET /user/follower
Change-Id: I096fb86446831ebdb50ec609d3cde77d5fe77ef5
diff --git a/src/test/java/com/g9/g9backend/controller/UserControllerTest.java b/src/test/java/com/g9/g9backend/controller/UserControllerTest.java
index 3f06b32..bec8b11 100644
--- a/src/test/java/com/g9/g9backend/controller/UserControllerTest.java
+++ b/src/test/java/com/g9/g9backend/controller/UserControllerTest.java
@@ -1,5 +1,7 @@
package com.g9.g9backend.controller;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.g9.g9backend.pojo.*;
import com.g9.g9backend.pojo.DTO.*;
@@ -13,6 +15,10 @@
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
import static org.mockito.ArgumentMatchers.*;
import static org.mockito.Mockito.when;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
@@ -37,6 +43,21 @@
@Mock
private SearchHistoryService searchHistoryService;
+ @Mock
+ private RewardService rewardService;
+
+ @Mock
+ private UserCollectionService userCollectionService;
+
+ @Mock
+ private UserUploadService userUploadService;
+
+ @Mock
+ private UserPurchaseService userPurchaseService;
+
+ @Mock
+ private ResourceService resourceService;
+
private final ObjectMapper objectMapper = new ObjectMapper();
@BeforeEach
@@ -218,4 +239,170 @@
.param("followerId", "2"))
.andExpect(status().isNoContent());
}
+
+ // 获取用户ID
+ @Test
+ public void testGetUserId() throws Exception {
+
+ when(userService.getOne(any())).thenReturn(new User(1, "hcy", "123", null, 0, 0, null, 0, 0, 0));
+
+ mockMvc.perform(get("/user/getId")
+ .param("username", "hcy")
+ .param("password", "123"))
+ .andExpect(status().isOk());
+ }
+
+ // 获取邀请码
+ @Test
+ public void testGetInvitationCode() throws Exception {
+
+ List<Invitation> invitationList = new ArrayList<>();
+ invitationList.add(new Invitation("1RCA7Y8J", 0, 0));
+ invitationList.add(new Invitation("2RCA7Y8J", 0, 0));
+ invitationList.add(new Invitation("3RCA7Y8J", 0, 0));
+ invitationList.add(new Invitation("4RCA7Y8J", 0, 0));
+ invitationList.add(new Invitation("5RCA7Y8J", 0, 0));
+
+ QueryWrapper<Invitation> invitationQuery = new QueryWrapper<>();
+ invitationQuery.eq("user_id", 1).eq("invitee_id", 0);
+ invitationQuery.select("invitation_code");
+
+ when(invitationService.list(invitationQuery)).thenReturn(invitationList); //这里用any()无法识别,因为list有多种参数可能
+
+ mockMvc.perform(get("/user/invitation-code")
+ .param("userId", "1"))
+ .andExpect(status().isOk());
+ }
+
+ // 获取用户信息
+ @Test
+ public void testGetUserInfo() throws Exception {
+
+ when(userService.getById(anyInt())).thenReturn(new User(1, "user", "pass", null, 0, 0, null, 0, 0, 0));
+
+ mockMvc.perform(get("/user/info")
+ .param("userId", "1"))
+ .andExpect(status().isOk());
+ }
+
+ // 获取悬赏
+ @Test
+ public void testGetUserReward() throws Exception {
+
+ when(rewardService.page(any(), any())).thenReturn(new Page<>(1, 2));
+
+ mockMvc.perform(get("/user/reward")
+ .param("userId", "1")
+ .param("pageNumber", "2")
+ .param("rows", "2"))
+ .andExpect(status().isOk());
+ }
+
+ // 获取收藏
+ @Test
+ public void testGetUserCollection() throws Exception {
+
+ when(userCollectionService.page(any(), any())).thenReturn(new Page<>(1, 2));
+ when(resourceService.getById(anyInt())).thenReturn(new Resource(1, "a", null, null, null, new Date(), new Date(), 100, 0, 0, 0, 0, 0, "mod"));
+
+ mockMvc.perform(get("/user/collection")
+ .param("userId", "1")
+ .param("pageNumber", "1")
+ .param("rows", "2"))
+ .andExpect(status().isOk());
+ }
+
+ // 获取上传
+ @Test
+ public void testGetUserUpload() throws Exception {
+
+ when(userUploadService.page(any(), any())).thenReturn(new Page<>(1, 2));
+ when(resourceService.getById(anyInt())).thenReturn(new Resource(1, "a", null, null, null, new Date(), new Date(), 100, 0, 0, 0, 0, 0, "mod"));
+
+ mockMvc.perform(get("/user/upload")
+ .param("userId", "1")
+ .param("pageNumber", "1")
+ .param("rows", "2"))
+ .andExpect(status().isOk());
+ }
+
+ // 获取购买
+ @Test
+ public void testGetUserPurchase() throws Exception {
+
+ when(userPurchaseService.page(any(), any())).thenReturn(new Page<>(1, 2));
+ when(resourceService.getById(anyInt())).thenReturn(new Resource(1, "a", null, null, null, new Date(), new Date(), 100, 0, 0, 0, 0, 0, "mod"));
+
+ mockMvc.perform(get("/user/purchase")
+ .param("userId", "1")
+ .param("pageNumber", "1")
+ .param("rows", "2"))
+ .andExpect(status().isOk());
+ }
+
+ // 获取搜索历史
+ @Test
+ public void testGetUserSearchHistory() throws Exception {
+
+ List<SearchHistory> searchHistoryList = new ArrayList<>();
+
+ QueryWrapper<SearchHistory> searchHistoryQuery = new QueryWrapper<>();
+ searchHistoryQuery.eq("user_id", 1).orderByDesc("search_history_id").last("LIMIT 10");
+
+ when(searchHistoryService.list(searchHistoryQuery)).thenReturn(searchHistoryList);
+
+ mockMvc.perform(get("/user/search")
+ .param("userId", "1"))
+ .andExpect(status().isOk());
+ }
+
+ // 获取用户数据
+ @Test
+ public void testGetUserData() throws Exception {
+
+ when(userService.getById(1)).thenReturn(new User(1, "hcy", "123", null, 0, 0, null, 0, 0, 0));
+
+ List<UserUpload> UserUpload = new ArrayList<>();
+ QueryWrapper<UserUpload> userUploadQuery = new QueryWrapper<>();
+ userUploadQuery.eq("user_id", 1);
+ when(userUploadService.list(userUploadQuery)).thenReturn(UserUpload);
+
+ when(resourceService.getById(anyInt())).thenReturn(new Resource());
+
+ mockMvc.perform(get("/user/data")
+ .param("userId", "1"))
+ .andExpect(status().isOk());
+ }
+
+ // 获取关注列表
+ @Test
+ public void testGetUserSubscriber() throws Exception {
+
+ QueryWrapper<Subscription> subscriptionQuery = new QueryWrapper<>();
+ subscriptionQuery.eq("follower_id", 1);
+ List<Subscription> subscriptionList = new ArrayList<>();
+
+ when(subscriptionService.list(subscriptionQuery)).thenReturn(subscriptionList);
+ when(userService.getById(1)).thenReturn(new User(1, "hcy", "123", null, 0, 0, null, 0, 0, 0));
+
+ mockMvc.perform(get("/user/subscriber")
+ .param("userId", "1"))
+ .andExpect(status().isOk());
+ }
+
+ // 获取粉丝列表
+ @Test
+ public void testGetUserFollower() throws Exception {
+
+ QueryWrapper<Subscription> subscriptionQuery = new QueryWrapper<>();
+ subscriptionQuery.eq("user_id", 1);
+ List<Subscription> subscriptionList = new ArrayList<>();
+
+ when(subscriptionService.list(subscriptionQuery)).thenReturn(subscriptionList);
+ when(userService.getById(1)).thenReturn(new User(1, "hcy", "123", null, 0, 0, null, 0, 0, 0));
+
+ mockMvc.perform(get("/user/follower")
+ .param("userId", "1"))
+ .andExpect(status().isOk());
+ }
}
\ No newline at end of file