|
@@ -1,12 +1,14 @@
|
|
|
package com.ruoyi.app.user;
|
|
package com.ruoyi.app.user;
|
|
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
|
|
|
|
+import com.ruoyi.common.annotation.Anonymous;
|
|
|
import com.ruoyi.common.core.domain.AjaxResult;
|
|
import com.ruoyi.common.core.domain.AjaxResult;
|
|
|
import com.ruoyi.common.utils.spring.SpringUtils;
|
|
import com.ruoyi.common.utils.spring.SpringUtils;
|
|
|
import com.ruoyi.system.domain.InfoUser;
|
|
import com.ruoyi.system.domain.InfoUser;
|
|
|
import com.ruoyi.system.domain.RiderPosition;
|
|
import com.ruoyi.system.domain.RiderPosition;
|
|
|
import com.ruoyi.system.service.IInfoUserService;
|
|
import com.ruoyi.system.service.IInfoUserService;
|
|
|
import com.ruoyi.system.service.IRiderPositionService;
|
|
import com.ruoyi.system.service.IRiderPositionService;
|
|
|
|
|
+import com.ruoyi.system.utils.Auth;
|
|
|
import com.ruoyi.system.utils.JwtUtil;
|
|
import com.ruoyi.system.utils.JwtUtil;
|
|
|
import org.junit.jupiter.api.AfterAll;
|
|
import org.junit.jupiter.api.AfterAll;
|
|
|
import org.junit.jupiter.api.BeforeAll;
|
|
import org.junit.jupiter.api.BeforeAll;
|
|
@@ -17,11 +19,22 @@ import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
|
|
|
import org.springframework.beans.factory.support.DefaultListableBeanFactory;
|
|
import org.springframework.beans.factory.support.DefaultListableBeanFactory;
|
|
|
import org.springframework.context.support.StaticMessageSource;
|
|
import org.springframework.context.support.StaticMessageSource;
|
|
|
import org.springframework.dao.DuplicateKeyException;
|
|
import org.springframework.dao.DuplicateKeyException;
|
|
|
|
|
+import org.springframework.security.access.prepost.PreAuthorize;
|
|
|
import org.springframework.test.util.ReflectionTestUtils;
|
|
import org.springframework.test.util.ReflectionTestUtils;
|
|
|
|
|
+import org.springframework.web.bind.annotation.GetMapping;
|
|
|
|
|
+import org.springframework.web.bind.annotation.RequestHeader;
|
|
|
|
|
+import org.springframework.web.bind.annotation.RequestParam;
|
|
|
|
|
|
|
|
|
|
+import java.lang.reflect.Method;
|
|
|
|
|
+import java.lang.reflect.Parameter;
|
|
|
|
|
+import java.math.BigDecimal;
|
|
|
import java.util.Locale;
|
|
import java.util.Locale;
|
|
|
|
|
|
|
|
|
|
+import static org.junit.jupiter.api.Assertions.assertArrayEquals;
|
|
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
|
|
|
|
+import static org.junit.jupiter.api.Assertions.assertNotNull;
|
|
|
|
|
+import static org.junit.jupiter.api.Assertions.assertNull;
|
|
|
|
|
+import static org.junit.jupiter.api.Assertions.assertSame;
|
|
|
import static org.mockito.ArgumentMatchers.any;
|
|
import static org.mockito.ArgumentMatchers.any;
|
|
|
import static org.mockito.ArgumentMatchers.anyBoolean;
|
|
import static org.mockito.ArgumentMatchers.anyBoolean;
|
|
|
import static org.mockito.ArgumentMatchers.eq;
|
|
import static org.mockito.ArgumentMatchers.eq;
|
|
@@ -127,4 +140,42 @@ class RiderPositionControllerTest {
|
|
|
verify(riderPositionService, times(1)).saveOrUpdate(any(RiderPosition.class));
|
|
verify(riderPositionService, times(1)).saveOrUpdate(any(RiderPosition.class));
|
|
|
verify(riderPositionService, never()).update(any(RiderPosition.class), any(Wrapper.class));
|
|
verify(riderPositionService, never()).update(any(RiderPosition.class), any(Wrapper.class));
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ @Test
|
|
|
|
|
+ void getRiderpositionReturnsPositionByRiderId() {
|
|
|
|
|
+ RiderPosition position = new RiderPosition();
|
|
|
|
|
+ position.setId(7L);
|
|
|
|
|
+ position.setRiderId(9L);
|
|
|
|
|
+ position.setLatitude(new BigDecimal("10.770"));
|
|
|
|
|
+ position.setLongitude(new BigDecimal("106.700"));
|
|
|
|
|
+ when(riderPositionService.getOne(any(Wrapper.class), eq(false))).thenReturn(position);
|
|
|
|
|
+
|
|
|
|
|
+ AjaxResult result = controller.getRiderposition(JwtUtil.token("9", "user"), 9L);
|
|
|
|
|
+
|
|
|
|
|
+ assertEquals(200, ((Number) result.get(AjaxResult.CODE_TAG)).intValue());
|
|
|
|
|
+ assertSame(position, result.get(AjaxResult.DATA_TAG));
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Test
|
|
|
|
|
+ void getRiderpositionWithoutRecordReturnsNullData() {
|
|
|
|
|
+ when(riderPositionService.getOne(any(Wrapper.class), eq(false))).thenReturn(null);
|
|
|
|
|
+
|
|
|
|
|
+ AjaxResult result = controller.getRiderposition(JwtUtil.token("9", "user"), 404L);
|
|
|
|
|
+
|
|
|
|
|
+ assertEquals(200, ((Number) result.get(AjaxResult.CODE_TAG)).intValue());
|
|
|
|
|
+ assertNull(result.get(AjaxResult.DATA_TAG));
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Test
|
|
|
|
|
+ void getRiderpositionDeclaresExplicitAnnotationsWithoutPermissionCheck() throws Exception {
|
|
|
|
|
+ Method method = RiderPositionController.class.getMethod("getRiderposition", String.class, Long.class);
|
|
|
|
|
+ assertArrayEquals(new String[]{"/getRiderposition"}, method.getAnnotation(GetMapping.class).value());
|
|
|
|
|
+ assertNotNull(method.getAnnotation(Anonymous.class));
|
|
|
|
|
+ assertNotNull(method.getAnnotation(Auth.class));
|
|
|
|
|
+ assertNull(method.getAnnotation(PreAuthorize.class));
|
|
|
|
|
+ Parameter[] parameters = method.getParameters();
|
|
|
|
|
+ assertNotNull(parameters[0].getAnnotation(RequestHeader.class));
|
|
|
|
|
+ RequestParam riderId = parameters[1].getAnnotation(RequestParam.class);
|
|
|
|
|
+ assertNotNull(riderId);
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|