用户类以及邀请码

Change-Id: I9a60a4e22146c46103099df91b5ecb138d1412b5
diff --git a/src/test/java/com/pt5/pthouduan/ControllerTest/InvitesControllerTest.java b/src/test/java/com/pt5/pthouduan/ControllerTest/InvitesControllerTest.java
new file mode 100644
index 0000000..9477df4
--- /dev/null
+++ b/src/test/java/com/pt5/pthouduan/ControllerTest/InvitesControllerTest.java
@@ -0,0 +1,98 @@
+package com.pt5.pthouduan.ControllerTest;
+
+import com.pt5.pthouduan.controller.InvitesController;
+import com.pt5.pthouduan.service.InviteService;
+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 java.util.HashMap;
+import java.util.Map;
+
+import static org.junit.jupiter.api.Assertions.*;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.Mockito.*;
+
+class InvitesControllerTest {
+
+    @Mock
+    private InviteService inviteService;
+
+    @InjectMocks
+    private InvitesController invitesController;
+
+    @BeforeEach
+    void setUp() {
+        MockitoAnnotations.openMocks(this);
+    }
+
+    @Test
+    void soldinvite_ShouldCallServiceWithCorrectParameter() {
+        // 准备测试数据
+        String testBuyerName = "testBuyer";
+        Map<String, Object> expectedResponse = new HashMap<>();
+        expectedResponse.put("success", true);
+        expectedResponse.put("message", "Invite sold successfully");
+
+        // 模拟服务行为
+        when(inviteService.setbuyername(anyString())).thenReturn(expectedResponse);
+
+        // 执行测试
+        Map<String, Object> actualResponse = invitesController.soldinvite(testBuyerName);
+
+        // 验证行为
+        verify(inviteService, times(1)).setbuyername(testBuyerName);
+
+        // 验证结果
+        assertEquals(expectedResponse, actualResponse);
+        assertTrue((Boolean) actualResponse.get("success"));
+        assertEquals("Invite sold successfully", actualResponse.get("message"));
+    }
+
+    @Test
+    void soldinvite_ShouldHandleServiceFailure() {
+        // 准备测试数据
+        String testBuyerName = "testBuyer";
+        Map<String, Object> expectedResponse = new HashMap<>();
+        expectedResponse.put("success", false);
+        expectedResponse.put("error", "Invalid buyer name");
+
+        // 模拟服务行为
+        when(inviteService.setbuyername(anyString())).thenReturn(expectedResponse);
+
+        // 执行测试
+        Map<String, Object> actualResponse = invitesController.soldinvite(testBuyerName);
+
+        // 验证行为
+        verify(inviteService, times(1)).setbuyername(testBuyerName);
+
+        // 验证结果
+        assertEquals(expectedResponse, actualResponse);
+        assertFalse((Boolean) actualResponse.get("success"));
+        assertEquals("Invalid buyer name", actualResponse.get("error"));
+    }
+
+    @Test
+    void soldinvite_ShouldHandleNullInput() {
+        // 准备测试数据
+        Map<String, Object> expectedResponse = new HashMap<>();
+        expectedResponse.put("success", false);
+        expectedResponse.put("error", "Buyer name cannot be null");
+
+        // 模拟服务行为
+        when(inviteService.setbuyername(null)).thenReturn(expectedResponse);
+
+        // 执行测试
+        Map<String, Object> actualResponse = invitesController.soldinvite(null);
+
+        // 验证行为
+        verify(inviteService, times(1)).setbuyername(null);
+
+        // 验证结果
+        assertEquals(expectedResponse, actualResponse);
+        assertFalse((Boolean) actualResponse.get("success"));
+        assertEquals("Buyer name cannot be null", actualResponse.get("error"));
+    }
+}