blob: 322b4f9e9694b65e12b65800bba9492f85893634 [file] [log] [blame]
ym923f955bd92025-06-09 09:58:00 +08001package com.pt5.pthouduan.controller;
2
3import com.pt5.pthouduan.entity.request_resources;
4import com.pt5.pthouduan.service.RequestResourcesService;
5import org.junit.jupiter.api.BeforeEach;
6import org.junit.jupiter.api.Test;
7import org.mockito.InjectMocks;
8import org.mockito.Mock;
9import org.mockito.MockitoAnnotations;
10
11import java.time.LocalDateTime;
12import java.util.List;
13
14import static org.junit.jupiter.api.Assertions.*;
15import static org.mockito.Mockito.*;
16
17class RequestResourcesControllerTest {
18
19 @Mock
20 private RequestResourcesService requestResourcesService;
21
22 @InjectMocks
23 private RequestResourcesController requestResourcesController;
24
25 @BeforeEach
26 void setUp() {
27 MockitoAnnotations.openMocks(this);
28 }
29
30 @Test
31 void updateMoney_ShouldReturnTrue_WhenSuccess() {
32 when(requestResourcesService.updateMoney(1, 100)).thenReturn(true);
33
34 boolean result = requestResourcesController.updateMoney(1, 100);
35
36 assertTrue(result);
37 verify(requestResourcesService).updateMoney(1, 100);
38 }
39
40 @Test
41 void deleteRequest_ShouldReturnTrue_WhenSuccess() {
42 when(requestResourcesService.deleteRequest(1)).thenReturn(true);
43
44 boolean result = requestResourcesController.deleteRequest(1);
45
46 assertTrue(result);
47 verify(requestResourcesService).deleteRequest(1);
48 }
49
50 @Test
51 void findByName_ShouldReturnMatchingRequests() {
52 request_resources req = new request_resources();
53 req.setName("Urgent Help");
54
55 when(requestResourcesService.findByName("Urgent Help")).thenReturn(List.of(req));
56
57 List<request_resources> result = requestResourcesController.findByName("Urgent Help");
58
59 assertEquals(1, result.size());
60 assertEquals("Urgent Help", result.get(0).getName());
61 }
62
63 @Test
64 void findByUserid_ShouldReturnUserRequests() {
65 request_resources req = new request_resources();
66 req.setUserid(123L);
67
68 when(requestResourcesService.findByUserid(123L)).thenReturn(List.of(req));
69
70 List<request_resources> result = requestResourcesController.findByUserid(123L);
71
72 assertEquals(1, result.size());
73 assertEquals(123L, result.get(0).getUserid());
74 }
75
76 @Test
77 void getTotalMoneyByName_ShouldReturnCorrectSum() {
78 when(requestResourcesService.calculateTotalMoneyByName("Education")).thenReturn(500);
79
80 int total = requestResourcesController.getTotalMoneyByName("Education");
81
82 assertEquals(500, total);
83 }
84
85 @Test
86 void findByLoaduser_ShouldReturnLoaduserRequests() {
87 request_resources req = new request_resources();
88 req.setLoaduser(456L);
89
90 when(requestResourcesService.findByLoaduser(456L)).thenReturn(List.of(req));
91
92 List<request_resources> result = requestResourcesController.findByLoaduser(456L);
93
94 assertEquals(1, result.size());
95 assertEquals(456L, result.get(0).getLoaduser());
96 }
97
98 @Test
99 void updateLoaduserByName_ShouldReturnTrue_WhenSuccess() {
100 when(requestResourcesService.updateLoaduserByName("Medical", 789L)).thenReturn(true);
101
102 boolean result = requestResourcesController.updateLoaduserByName("Medical", 789L);
103
104 assertTrue(result);
105 }
106
107 @Test
108 void updateTorrentid_ShouldReturnTrue_WhenSuccess() {
109 when(requestResourcesService.updateTorrentid(1, 999L)).thenReturn(true);
110
111 boolean result = requestResourcesController.updateTorrentid(1, 999L);
112
113 assertTrue(result);
114 }
115
116 @Test
117 void getTorrentid_ShouldReturnCorrectValue() {
118 request_resources req = new request_resources();
119 req.setTorrentid(888L);
120
121 when(requestResourcesService.findByRequestid(1)).thenReturn(req);
122
123 Long result = requestResourcesController.getTorrentid(1);
124
125 assertEquals(888L, result);
126 }
127
128 @Test
129 void getInfoByRequestId_ShouldReturnInfoMap() {
130 request_resources req = new request_resources();
131 req.setMoney(200);
132 req.setLoaduser(101L);
133 req.setTorrentid(555L);
134
135 when(requestResourcesService.findByRequestid(1)).thenReturn(req);
136
137 var result = requestResourcesController.getInfoByRequestId(1);
138
139 assertEquals(200, result.get("money"));
140 assertEquals(101L, result.get("loaduser"));
141 assertEquals(555L, result.get("torrentid"));
142 }
143
144 @Test
145 void getAllRequests_ShouldReturnAllRequests() {
146 request_resources r1 = new request_resources();
147 r1.setRequestid(1);
148 request_resources r2 = new request_resources();
149 r2.setRequestid(2);
150
151 when(requestResourcesService.getAllRequests()).thenReturn(List.of(r1, r2));
152
153 List<request_resources> result = requestResourcesController.getAllRequests();
154
155 assertEquals(2, result.size());
156 }
157}