注册登录,用户等级,社交,动态,新手任务

Change-Id: I1d3183526517fb3c0dab665e0e7547eefa5c9d76
diff --git a/src/test/java/com/example/myproject/controller/SeedCommentControllerTest.java b/src/test/java/com/example/myproject/controller/SeedCommentControllerTest.java
new file mode 100644
index 0000000..7fa6ff3
--- /dev/null
+++ b/src/test/java/com/example/myproject/controller/SeedCommentControllerTest.java
@@ -0,0 +1,91 @@
+package com.example.myproject.controller;
+
+import com.example.myproject.entity.SeedComment;
+import com.example.myproject.service.SeedCommentService;
+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.mockito.Mockito.*;
+import static org.junit.jupiter.api.Assertions.*;
+
+public class SeedCommentControllerTest {
+
+    @InjectMocks
+    private SeedCommentController seedCommentController;
+
+    @Mock
+    private SeedCommentService seedCommentService;
+
+    @BeforeEach
+    public void setUp() {
+        MockitoAnnotations.openMocks(this);  // 初始化 Mockito 注解
+    }
+
+    // 测试发布评论
+    @Test
+    public void testPublishComment() {
+        int seedId = 1;
+        SeedComment seedComment = new SeedComment();
+        seedComment.setContent("Test comment content");
+        seedComment.setUserId(1);
+        seedComment.setComCommentId(0);  // 顶级评论
+
+        // 模拟服务层的返回值
+        String expectedResponse = "{ \"status\": \"success\", \"message\": \"评论发布成功\" }";
+        when(seedCommentService.publishComment(seedId, seedComment)).thenReturn(expectedResponse);
+
+        // 调用控制器的方法
+        String result = seedCommentController.publishComment(seedId, seedComment);
+
+        // 验证结果
+        assertEquals(expectedResponse, result);
+    }
+
+    // 测试获取种子下所有评论
+    @Test
+    public void testGetAllComments() {
+        int seedId = 1;
+
+        // 模拟服务层的返回值
+        Map<String, Object> expectedResponse = new HashMap<>();
+        expectedResponse.put("status", "success");
+        expectedResponse.put("comments", "dummyComments");  // 示例返回数据
+
+        when(seedCommentService.getAllCommentsForSeed(seedId)).thenReturn(expectedResponse);
+
+        // 调用控制器的方法
+        Map<String, Object> result = seedCommentController.getAllComments(seedId);
+
+        // 验证结果
+        assertEquals(expectedResponse, result);
+    }
+
+    // 测试点赞切换操作
+    @Test
+    public void testToggleLike() {
+        Long commentId = 1L;
+        Map<String, Object> request = new HashMap<>();
+        request.put("user_id", 1L);
+
+        // 模拟服务层的返回值
+        Map<String, Object> expectedResponse = new HashMap<>();
+        expectedResponse.put("status", "success");
+        expectedResponse.put("message", "操作成功");
+        expectedResponse.put("liked", "true");
+
+        when(seedCommentService.toggleLike(commentId, 1L)).thenReturn(expectedResponse);
+
+        // 调用控制器的方法
+        Map<String, Object> result = seedCommentController.toggleLike(commentId, request);
+
+        // 验证结果
+        assertEquals(expectedResponse, result);
+    }
+}