注册登录,用户等级,社交,动态,新手任务
Change-Id: I1d3183526517fb3c0dab665e0e7547eefa5c9d76
diff --git a/src/test/java/com/example/myproject/controller/UserMessageControllerTest.java b/src/test/java/com/example/myproject/controller/UserMessageControllerTest.java
new file mode 100644
index 0000000..4fcbcc7
--- /dev/null
+++ b/src/test/java/com/example/myproject/controller/UserMessageControllerTest.java
@@ -0,0 +1,95 @@
+package com.example.myproject.controller;
+
+import com.example.myproject.service.UserMessageService;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.springframework.http.ResponseEntity;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.mockito.Mockito.when;
+
+class UserMessageControllerTest {
+
+ @InjectMocks
+ private UserMessageController userMessageController;
+
+ @Mock
+ private UserMessageService userMessageService;
+
+ @BeforeEach
+ void setup() {
+ MockitoAnnotations.openMocks(this);
+ }
+
+ @Test
+ void testSendMessage() {
+ // 准备测试数据
+ Map<String, Object> params = new HashMap<>();
+ params.put("sender_id", 1L);
+ params.put("receiver_id", 2L);
+ params.put("content", "测试消息");
+
+ Map<String, Object> mockResponse = new HashMap<>();
+ mockResponse.put("status", "success");
+ mockResponse.put("message", "私信发送成功");
+ mockResponse.put("message_id", 100L);
+
+ // 模拟Service方法调用
+ when(userMessageService.sendMessage(1L, 2L, "测试消息")).thenReturn(mockResponse);
+
+ // 执行测试
+ ResponseEntity<Map<String, Object>> response = userMessageController.sendMessage(params);
+
+ // 验证结果
+ assertEquals(200, response.getStatusCodeValue());
+ assertEquals("success", response.getBody().get("status"));
+ assertEquals("私信发送成功", response.getBody().get("message"));
+ assertEquals(100L, response.getBody().get("message_id"));
+ }
+
+ @Test
+ void testGetUserMessages() {
+ // 准备测试数据
+ Long userId = 1L;
+
+ Map<String, Object> mockResponse = new HashMap<>();
+ mockResponse.put("status", "success");
+ mockResponse.put("messages", new HashMap<>());
+
+ // 模拟Service方法调用
+ when(userMessageService.getUserMessages(userId)).thenReturn(mockResponse);
+
+ // 执行测试
+ ResponseEntity<Map<String, Object>> response = userMessageController.getUserMessages(userId);
+
+ // 验证结果
+ assertEquals(200, response.getStatusCodeValue());
+ assertEquals("success", response.getBody().get("status"));
+ }
+
+ @Test
+ void testGetMessage() {
+ // 准备测试数据
+ Long messageId = 1L;
+
+ Map<String, Object> mockResponse = new HashMap<>();
+ mockResponse.put("status", "success");
+ mockResponse.put("message", new HashMap<>());
+
+ // 模拟Service方法调用
+ when(userMessageService.getMessage(messageId)).thenReturn(mockResponse);
+
+ // 执行测试
+ ResponseEntity<Map<String, Object>> response = userMessageController.getMessage(messageId);
+
+ // 验证结果
+ assertEquals(200, response.getStatusCodeValue());
+ assertEquals("success", response.getBody().get("status"));
+ }
+}
\ No newline at end of file