用户,分区,作品的增删改查,根据作者查所有作品的接口,根据用户查还有多少任务没做,帖子和评论的增删改查,并优化了测试文件的结构

Change-Id: I4266495b6465fcbdf5705f02a59d2ae9fa54cbda
diff --git a/src/test/java/edu/bjtu/groupone/backend/UserServImplTest.java b/src/test/java/edu/bjtu/groupone/backend/UserServImplTest.java
index e877de8..8475680 100644
--- a/src/test/java/edu/bjtu/groupone/backend/UserServImplTest.java
+++ b/src/test/java/edu/bjtu/groupone/backend/UserServImplTest.java
@@ -3,6 +3,7 @@
 import edu.bjtu.groupone.backend.domain.entity.User;
 import edu.bjtu.groupone.backend.mapper.UserMapper;
 import edu.bjtu.groupone.backend.service.impl.UserServImpl;
+import edu.bjtu.groupone.backend.utils.EmailUtil;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
@@ -15,7 +16,6 @@
 
 import static org.junit.jupiter.api.Assertions.*;
 import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.Mockito.*;
 
 @ExtendWith(MockitoExtension.class)
@@ -26,15 +26,20 @@
 
     @InjectMocks
     private UserServImpl userService;
+    @Mock
+    private EmailUtil emailUtil;
 
     private User testUser;
-
+    private User user;
     @BeforeEach
     void setUp() {
         testUser = new User();
         testUser.setUserId(1);
         testUser.setUsername("testuser");
         testUser.setEmail("test@example.com");
+        user = new User();
+        user.setUserId(1);
+        user.setEmail("test@example.com");
     }
 
     @Test
@@ -87,4 +92,22 @@
         assertEquals(2, result.size());
         verify(userMapper, times(1)).selectAllUsers();
     }
+    @Test
+    void getRemainingTasks_Success() {
+        when(userMapper.selectUserById(1)).thenReturn(user);
+        when(userMapper.countRemainingTasks(1)).thenReturn(3);
+
+        int result = userService.getRemainingTasks(1);
+
+        assertEquals(3, result);
+    }
+
+    @Test
+    void getRemainingTasks_UserNotFound() {
+        when(userMapper.selectUserById(999)).thenReturn(null);
+
+        int result = userService.getRemainingTasks(999);
+
+        assertEquals(-1, result);
+    }
 }
\ No newline at end of file