mirror of
http://192.168.1.205:9980/cf_devdept2/cf_imes_server.git
synced 2026-08-13 21:32:07 +08:00
system微服务单元测试完善
This commit is contained in:
+16
@@ -0,0 +1,16 @@
|
||||
package com.cf.imes.framework.test.core.ut;
|
||||
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
import org.springframework.test.context.ActiveProfiles;
|
||||
import org.springframework.test.context.junit.jupiter.SpringExtension;
|
||||
|
||||
/**
|
||||
* web单元测试基类
|
||||
*
|
||||
* @author Gqr
|
||||
* @since 2025/12/10 16:07
|
||||
*/
|
||||
@ExtendWith(SpringExtension.class)
|
||||
@ActiveProfiles("unit-test")
|
||||
public class BaseWebUnitTest {
|
||||
}
|
||||
+3
-3
@@ -6,8 +6,8 @@ package com.cf.imes.module.system.enums.pay;
|
||||
* @author Gqr
|
||||
* @since 2025/8/12 17:49
|
||||
*/
|
||||
public class PayConstants {
|
||||
public static final String PAY_PRODUCT_DETAIL_AUTO_GENERATE_MONTH_ID_FORMAT = "1759029544%d"; // 1~12月定价规则自动生成ID格式
|
||||
public interface PayConstants {
|
||||
String PAY_PRODUCT_DETAIL_AUTO_GENERATE_MONTH_ID_FORMAT = "1759029544%d"; // 1~12月定价规则自动生成ID格式
|
||||
|
||||
public static final String PAY_PRODUCT_DETAIL_AUTO_GENERATE_YEAR_ID_FORMAT = "1759993429%d"; // 1年定价规则自动生成ID格式
|
||||
String PAY_PRODUCT_DETAIL_AUTO_GENERATE_YEAR_ID_FORMAT = "1759993429%d"; // 1年定价规则自动生成ID格式
|
||||
}
|
||||
+1
-10
@@ -13,22 +13,13 @@ import jakarta.validation.ConstraintValidatorContext;
|
||||
*/
|
||||
public class FundsStatisticsUnitInEnumValidator implements ConstraintValidator<FundsStatisticsUnitInEnum, Integer> {
|
||||
|
||||
@Override
|
||||
public void initialize(FundsStatisticsUnitInEnum constraintAnnotation) {
|
||||
ConstraintValidator.super.initialize(constraintAnnotation);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isValid(Integer value, ConstraintValidatorContext context) {
|
||||
if (ObjectUtil.isNull(value)) {
|
||||
return true;
|
||||
}
|
||||
StatisticsUnit unit = StatisticsUnit.fromValue(value);
|
||||
if (ObjectUtil.isNotNull(unit)) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
return ObjectUtil.isNotNull(unit);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
-58
@@ -1,58 +0,0 @@
|
||||
package com.cf.imes.module.system.validation.recharge;
|
||||
|
||||
import jakarta.validation.Constraint;
|
||||
import jakarta.validation.Payload;
|
||||
import java.lang.annotation.*;
|
||||
|
||||
/**
|
||||
* 自定义Double校验注解
|
||||
*
|
||||
*/
|
||||
@Target({
|
||||
ElementType.METHOD,
|
||||
ElementType.FIELD,
|
||||
ElementType.ANNOTATION_TYPE,
|
||||
ElementType.CONSTRUCTOR,
|
||||
ElementType.PARAMETER,
|
||||
ElementType.TYPE_USE
|
||||
})
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Documented
|
||||
@Constraint(
|
||||
validatedBy = MoneyValidator.class
|
||||
)
|
||||
public @interface MoneyValid {
|
||||
|
||||
/**
|
||||
* 字段中文名
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
String name();
|
||||
|
||||
/**
|
||||
* 校验提示信息
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
String message() default "数字不合法";
|
||||
|
||||
Class<?>[] groups() default {};
|
||||
|
||||
Class<? extends Payload>[] payload() default {};
|
||||
|
||||
/**
|
||||
* 整数最大位数
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
int integer() default 7;
|
||||
|
||||
/**
|
||||
* 小数点后的最大位数
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
int fraction() default 3;
|
||||
|
||||
}
|
||||
-87
@@ -1,87 +0,0 @@
|
||||
package com.cf.imes.module.system.validation.recharge;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import jakarta.validation.ConstraintValidator;
|
||||
import jakarta.validation.ConstraintValidatorContext;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* Double类型校验器
|
||||
*/
|
||||
public class MoneyValidator implements ConstraintValidator<MoneyValid, Number> {
|
||||
|
||||
private static final String ZERO = "0";
|
||||
private static final String GREATER_THAN_ZERO_NOTIFICATION = "%s必须大于0";
|
||||
private static final String LENGTH_ERROR_NOTIFICATION = "%s长度不合法,总长度不超过%d位,小数点后不超过%d位";
|
||||
|
||||
private String name;
|
||||
private int maxIntegerDigits;
|
||||
private int maxFractionDigits;
|
||||
|
||||
@Override
|
||||
public void initialize(MoneyValid constraintAnnotation) {
|
||||
this.name = constraintAnnotation.name();
|
||||
this.maxIntegerDigits = constraintAnnotation.integer();
|
||||
this.maxFractionDigits = constraintAnnotation.fraction();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isValid(Number value, ConstraintValidatorContext context) {
|
||||
if (ObjectUtil.isNull(value)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
String errorMessage = null;
|
||||
if (value instanceof Integer) {
|
||||
errorMessage = handleInteger((Integer) value);
|
||||
} else if (value instanceof Long) {
|
||||
errorMessage = handleLong((Long) value);
|
||||
} else if (value instanceof Double) {
|
||||
errorMessage = handleDouble((Double) value);
|
||||
} else if (value instanceof BigDecimal) {
|
||||
errorMessage = handleBigDecimal((BigDecimal) value);
|
||||
}
|
||||
|
||||
if (StringUtils.isNotEmpty(errorMessage)) {
|
||||
context.disableDefaultConstraintViolation();
|
||||
context.buildConstraintViolationWithTemplate(errorMessage).addConstraintViolation();
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private String handleInteger(Integer value) {
|
||||
if (value <= 0) {
|
||||
return String.format(GREATER_THAN_ZERO_NOTIFICATION, name);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private String handleLong(Long value) {
|
||||
if (value <= 0) {
|
||||
return String.format(GREATER_THAN_ZERO_NOTIFICATION, name);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private String handleDouble(Double value) {
|
||||
return handleBigDecimal(new BigDecimal(value.toString()));
|
||||
}
|
||||
|
||||
private String handleBigDecimal(BigDecimal value) {
|
||||
if (value.compareTo(BigDecimal.ZERO) <= 0) {
|
||||
return String.format(GREATER_THAN_ZERO_NOTIFICATION, name);
|
||||
}
|
||||
|
||||
String[] parts = value.toPlainString().split("\\.");
|
||||
int integerPartLength = parts[0].length();
|
||||
int fractionalPartLength = parts.length > 1 ? parts[1].length() : 0;
|
||||
|
||||
if (integerPartLength > maxIntegerDigits || fractionalPartLength > maxFractionDigits) {
|
||||
return String.format(LENGTH_ERROR_NOTIFICATION, name, maxIntegerDigits + maxFractionDigits, maxFractionDigits);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
+1
-9
@@ -12,20 +12,12 @@ import jakarta.validation.ConstraintValidatorContext;
|
||||
*/
|
||||
public class TokenConfigAppTypeEnumValidator implements ConstraintValidator<TokenConfigAppTypeEnumValid, Integer> {
|
||||
|
||||
@Override
|
||||
public void initialize(TokenConfigAppTypeEnumValid constraintAnnotation) {
|
||||
ConstraintValidator.super.initialize(constraintAnnotation);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isValid(Integer value, ConstraintValidatorContext context) {
|
||||
if (ObjectUtil.isNull(value)) {
|
||||
return true;
|
||||
}
|
||||
TokenConfigAppTypeEnum configTypeEnum = TokenConfigAppTypeEnum.fromType(value);
|
||||
if (ObjectUtil.isNotNull(configTypeEnum)) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
return ObjectUtil.isNotNull(configTypeEnum);
|
||||
}
|
||||
}
|
||||
|
||||
+2
-1
@@ -1,5 +1,6 @@
|
||||
package com.cf.imes.module.system.controller.admin.dept;
|
||||
|
||||
import com.cf.imes.framework.test.core.ut.BaseWebUnitTest;
|
||||
import com.cf.imes.module.system.controller.admin.dept.vo.dept.DeptListReqVO;
|
||||
import com.cf.imes.module.system.controller.admin.dept.vo.dept.DeptSaveReqVO;
|
||||
import com.cf.imes.module.system.dal.dataobject.dept.DeptDO;
|
||||
@@ -32,7 +33,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
|
||||
* @since 2025/10/10 10:32
|
||||
*/
|
||||
@WebMvcTest(controllers = DeptController.class, excludeAutoConfiguration = SecurityAutoConfiguration.class)
|
||||
public class DeptControllerTest {
|
||||
class DeptControllerTest extends BaseWebUnitTest {
|
||||
@Autowired
|
||||
private MockMvc mockMvc;
|
||||
|
||||
|
||||
+4
-3
@@ -1,6 +1,7 @@
|
||||
package com.cf.imes.module.system.controller.admin.funds.advertisement;
|
||||
|
||||
import com.cf.imes.framework.common.pojo.PageResult;
|
||||
import com.cf.imes.framework.test.core.ut.BaseWebUnitTest;
|
||||
import com.cf.imes.module.system.controller.admin.funds.advertisement.vo.AdvertisementPageReqVO;
|
||||
import com.cf.imes.module.system.controller.admin.funds.advertisement.vo.AdvertisementRePublishReqVO;
|
||||
import com.cf.imes.module.system.controller.admin.funds.advertisement.vo.AdvertisementRespVO;
|
||||
@@ -39,7 +40,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
|
||||
* @since 2025/10/28 15:05
|
||||
*/
|
||||
@WebMvcTest(controllers = AdvertisementController.class, excludeAutoConfiguration = SecurityAutoConfiguration.class)
|
||||
public class AdvertisementControllerTest {
|
||||
class AdvertisementControllerTest extends BaseWebUnitTest {
|
||||
@Autowired
|
||||
private MockMvc mockMvc;
|
||||
|
||||
@@ -61,7 +62,7 @@ public class AdvertisementControllerTest {
|
||||
|
||||
when(advertisementService.create(any())).thenReturn(101L);
|
||||
|
||||
mockMvc.perform(put("/system/ad")
|
||||
mockMvc.perform(post("/system/ad")
|
||||
.contentType(MediaType.APPLICATION_JSON)
|
||||
.content(objectMapper.writeValueAsString(reqVO)))
|
||||
.andExpect(status().isOk())
|
||||
@@ -83,7 +84,7 @@ public class AdvertisementControllerTest {
|
||||
|
||||
doNothing().when(advertisementService).update(any());
|
||||
|
||||
mockMvc.perform(post("/system/ad")
|
||||
mockMvc.perform(put("/system/ad")
|
||||
.contentType(MediaType.APPLICATION_JSON)
|
||||
.content(objectMapper.writeValueAsString(reqVO)))
|
||||
.andExpect(status().isOk())
|
||||
|
||||
+2
-1
@@ -1,6 +1,7 @@
|
||||
package com.cf.imes.module.system.controller.admin.funds.delay;
|
||||
|
||||
import com.cf.imes.framework.common.pojo.PageResult;
|
||||
import com.cf.imes.framework.test.core.ut.BaseWebUnitTest;
|
||||
import com.cf.imes.module.system.controller.admin.funds.delay.vo.ProductDelayPageReqVO;
|
||||
import com.cf.imes.module.system.controller.admin.funds.delay.vo.ProductDelayRespVO;
|
||||
import com.cf.imes.module.system.controller.admin.funds.delay.vo.ProductDelaySaveReqVO;
|
||||
@@ -34,7 +35,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
|
||||
* @since 2025/12/9 14:10
|
||||
*/
|
||||
@WebMvcTest(controllers = ProductDelayController.class, excludeAutoConfiguration = SecurityAutoConfiguration.class)
|
||||
public class ProductDelayControllerTest {
|
||||
class ProductDelayControllerTest extends BaseWebUnitTest {
|
||||
|
||||
@Autowired
|
||||
private MockMvc mockMvc;
|
||||
|
||||
+4
-3
@@ -1,6 +1,7 @@
|
||||
package com.cf.imes.module.system.controller.admin.funds.productpromotion;
|
||||
|
||||
import com.cf.imes.framework.common.pojo.PageResult;
|
||||
import com.cf.imes.framework.test.core.ut.BaseWebUnitTest;
|
||||
import com.cf.imes.module.system.controller.admin.funds.productpromotion.vo.ProductPromotionPageReqVO;
|
||||
import com.cf.imes.module.system.controller.admin.funds.productpromotion.vo.ProductPromotionSaveReqVO;
|
||||
import com.cf.imes.module.system.dal.dataobject.funds.productpromotion.ProductPromotionDO;
|
||||
@@ -36,7 +37,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
|
||||
* @since 2025/10/27 9:29
|
||||
*/
|
||||
@WebMvcTest(controllers = ProductPromotionController.class, excludeAutoConfiguration = SecurityAutoConfiguration.class)
|
||||
class ProductPromotionControllerTest {
|
||||
class ProductPromotionControllerTest extends BaseWebUnitTest {
|
||||
@Autowired
|
||||
private MockMvc mockMvc;
|
||||
|
||||
@@ -62,7 +63,7 @@ class ProductPromotionControllerTest {
|
||||
// mock Service 返回
|
||||
when(productPromotionService.create(any())).thenReturn(100L);
|
||||
|
||||
mockMvc.perform(put("/system/product/promotion")
|
||||
mockMvc.perform(post("/system/product/promotion")
|
||||
.contentType(MediaType.APPLICATION_JSON)
|
||||
.content(objectMapper.writeValueAsString(vo)))
|
||||
.andExpect(status().isOk())
|
||||
@@ -88,7 +89,7 @@ class ProductPromotionControllerTest {
|
||||
// mock Service 返回
|
||||
doNothing().when(productPromotionService).update(any());
|
||||
|
||||
mockMvc.perform(post("/system/product/promotion")
|
||||
mockMvc.perform(put("/system/product/promotion")
|
||||
.contentType(MediaType.APPLICATION_JSON)
|
||||
.content(objectMapper.writeValueAsString(vo)))
|
||||
.andExpect(status().isOk())
|
||||
|
||||
+4
-3
@@ -3,6 +3,7 @@ package com.cf.imes.module.system.controller.admin.funds.products;
|
||||
import com.cf.imes.framework.common.pojo.PageParam;
|
||||
import com.cf.imes.framework.common.pojo.PageResult;
|
||||
import com.cf.imes.framework.security.core.util.SecurityFrameworkUtils;
|
||||
import com.cf.imes.framework.test.core.ut.BaseWebUnitTest;
|
||||
import com.cf.imes.module.system.controller.admin.funds.products.vo.product.ProductPageReqVO;
|
||||
import com.cf.imes.module.system.controller.admin.funds.products.vo.product.ProductSaveReqVO;
|
||||
import com.cf.imes.module.system.dal.dataobject.funds.products.ProductsDO;
|
||||
@@ -40,7 +41,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
|
||||
* @since 2025/10/14 11:16
|
||||
*/
|
||||
@WebMvcTest(controllers = ProductsController.class, excludeAutoConfiguration = SecurityAutoConfiguration.class)
|
||||
public class ProductsControllerTest {
|
||||
class ProductsControllerTest extends BaseWebUnitTest {
|
||||
@Autowired
|
||||
private MockMvc mockMvc;
|
||||
|
||||
@@ -60,7 +61,7 @@ public class ProductsControllerTest {
|
||||
// mock Service 返回
|
||||
when(productsService.create(any())).thenReturn(100L);
|
||||
|
||||
mockMvc.perform(put("/system/products")
|
||||
mockMvc.perform(post("/system/products")
|
||||
.contentType(MediaType.APPLICATION_JSON)
|
||||
.content(objectMapper.writeValueAsString(vo)))
|
||||
.andExpect(status().isOk())
|
||||
@@ -80,7 +81,7 @@ public class ProductsControllerTest {
|
||||
// mock Service 方法 void 不做实际处理
|
||||
doNothing().when(productsService).update(any());
|
||||
|
||||
mockMvc.perform(post("/system/products")
|
||||
mockMvc.perform(put("/system/products")
|
||||
.contentType(MediaType.APPLICATION_JSON)
|
||||
.content(objectMapper.writeValueAsString(vo)))
|
||||
.andExpect(status().isOk())
|
||||
|
||||
+4
-3
@@ -1,6 +1,7 @@
|
||||
package com.cf.imes.module.system.controller.admin.funds.products;
|
||||
|
||||
import com.cf.imes.framework.common.pojo.PageResult;
|
||||
import com.cf.imes.framework.test.core.ut.BaseWebUnitTest;
|
||||
import com.cf.imes.module.system.controller.admin.funds.products.vo.productDetails.ProductDetailsPageReqVO;
|
||||
import com.cf.imes.module.system.controller.admin.funds.products.vo.productDetails.ProductDetailsRespVO;
|
||||
import com.cf.imes.module.system.controller.admin.funds.products.vo.productDetails.ProductDetailsSaveReqVO;
|
||||
@@ -38,7 +39,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
|
||||
* @since 2025/10/24 9:41
|
||||
*/
|
||||
@WebMvcTest(controllers = ProductsDetailController.class, excludeAutoConfiguration = SecurityAutoConfiguration.class)
|
||||
public class ProductsDetailControllerTest {
|
||||
class ProductsDetailControllerTest extends BaseWebUnitTest {
|
||||
@Autowired
|
||||
private MockMvc mockMvc;
|
||||
|
||||
@@ -62,7 +63,7 @@ public class ProductsDetailControllerTest {
|
||||
// mock Service 返回
|
||||
when(productsDetailService.create(any())).thenReturn(100L);
|
||||
|
||||
mockMvc.perform(put("/system/product-details")
|
||||
mockMvc.perform(post("/system/product-details")
|
||||
.contentType(MediaType.APPLICATION_JSON)
|
||||
.content(objectMapper.writeValueAsString(vo)))
|
||||
.andExpect(status().isOk())
|
||||
@@ -84,7 +85,7 @@ public class ProductsDetailControllerTest {
|
||||
// mock Service 方法 void 不做实际处理
|
||||
doNothing().when(productsDetailService).update(any());
|
||||
|
||||
mockMvc.perform(post("/system/product-details")
|
||||
mockMvc.perform(put("/system/product-details")
|
||||
.contentType(MediaType.APPLICATION_JSON)
|
||||
.content(objectMapper.writeValueAsString(vo)))
|
||||
.andExpect(status().isOk())
|
||||
|
||||
+2
-1
@@ -1,6 +1,7 @@
|
||||
package com.cf.imes.module.system.controller.admin.sms;
|
||||
|
||||
import com.cf.imes.framework.common.pojo.PageResult;
|
||||
import com.cf.imes.framework.test.core.ut.BaseWebUnitTest;
|
||||
import com.cf.imes.module.system.controller.admin.sms.vo.log.SmsLogPageReqVO;
|
||||
import com.cf.imes.module.system.dal.dataobject.sms.SmsLogDO;
|
||||
import com.cf.imes.module.system.service.sms.SmsLogService;
|
||||
@@ -28,7 +29,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
|
||||
* @since 2025/10/10 15:37
|
||||
*/
|
||||
@WebMvcTest(controllers = SmsLogController.class, excludeAutoConfiguration = SecurityAutoConfiguration.class)
|
||||
public class SmsLogControllerTest {
|
||||
class SmsLogControllerTest extends BaseWebUnitTest {
|
||||
@Autowired
|
||||
private MockMvc mockMvc;
|
||||
|
||||
|
||||
+2
-2
@@ -2,6 +2,7 @@ package com.cf.imes.module.system.controller.admin.sms;
|
||||
|
||||
import com.cf.imes.framework.common.enums.CommonStatusEnum;
|
||||
import com.cf.imes.framework.common.pojo.PageResult;
|
||||
import com.cf.imes.framework.test.core.ut.BaseWebUnitTest;
|
||||
import com.cf.imes.module.system.controller.admin.sms.vo.template.SmsTemplateSaveReqVO;
|
||||
import com.cf.imes.module.system.controller.admin.sms.vo.template.SmsTemplateSendReqVO;
|
||||
import com.cf.imes.module.system.dal.dataobject.sms.SmsTemplateDO;
|
||||
@@ -9,7 +10,6 @@ import com.cf.imes.module.system.enums.sms.SmsTemplateTypeEnum;
|
||||
import com.cf.imes.module.system.service.sms.SmsSendService;
|
||||
import com.cf.imes.module.system.service.sms.SmsTemplateService;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration;
|
||||
@@ -44,7 +44,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
|
||||
* @since 2025/10/11 16:26
|
||||
*/
|
||||
@WebMvcTest(controllers = SmsTemplateController.class, excludeAutoConfiguration = SecurityAutoConfiguration.class)
|
||||
public class SmsTemplateControllerTest {
|
||||
class SmsTemplateControllerTest extends BaseWebUnitTest {
|
||||
@Autowired
|
||||
private MockMvc mockMvc;
|
||||
|
||||
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package com.cf.imes.module.system.enums.common;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
/**
|
||||
* {@link LanguageEnum} 的单元测试
|
||||
*/
|
||||
class LanguageEnumTest {
|
||||
|
||||
@Test
|
||||
void testEnumValues() {
|
||||
// 验证枚举值 ZH
|
||||
assertEquals("zh", LanguageEnum.ZH.getLanguage());
|
||||
|
||||
// 验证枚举值 EN
|
||||
assertEquals("en", LanguageEnum.EN.getLanguage());
|
||||
|
||||
// 验证枚举值 CHT
|
||||
assertEquals("cht", LanguageEnum.CHT.getLanguage());
|
||||
}
|
||||
|
||||
@Test
|
||||
void testEnumSize() {
|
||||
// 验证枚举值的数量
|
||||
assertEquals(3, LanguageEnum.values().length);
|
||||
}
|
||||
}
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
package com.cf.imes.module.system.enums.common;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
/**
|
||||
* {@link WhetherEnum} 的单元测试
|
||||
*/
|
||||
class WhetherEnumTest {
|
||||
|
||||
@Test
|
||||
void testEnumValues() {
|
||||
// 验证枚举值 TRUE
|
||||
assertEquals(true, WhetherEnum.TRUE.getCode());
|
||||
assertEquals("whether.yes", WhetherEnum.TRUE.getDesc());
|
||||
|
||||
// 验证枚举值 FALSE
|
||||
assertEquals(false, WhetherEnum.FALSE.getCode());
|
||||
assertEquals("whether.no", WhetherEnum.FALSE.getDesc());
|
||||
}
|
||||
|
||||
@Test
|
||||
void testEnumSize() {
|
||||
// 验证枚举值的数量
|
||||
assertEquals(2, WhetherEnum.values().length);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testGetCode() {
|
||||
// 测试 getCode 方法
|
||||
assertTrue(WhetherEnum.TRUE.getCode());
|
||||
assertFalse(WhetherEnum.FALSE.getCode());
|
||||
}
|
||||
}
|
||||
-23
@@ -1,23 +0,0 @@
|
||||
package com.cf.imes.module.system.enums.pay;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
/**
|
||||
* {@link PayConstants} 的单元测试
|
||||
*/
|
||||
public class PayConstantsTest {
|
||||
|
||||
@Test
|
||||
public void testPayProductDetailAutoGenerateMonthIdFormat() {
|
||||
// 测试月定价规则自动生成ID格式常量
|
||||
assertEquals("1759029544%d", PayConstants.PAY_PRODUCT_DETAIL_AUTO_GENERATE_MONTH_ID_FORMAT);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testPayProductDetailAutoGenerateYearIdFormat() {
|
||||
// 测试年定价规则自动生成ID格式常量
|
||||
assertEquals("1759993429%d", PayConstants.PAY_PRODUCT_DETAIL_AUTO_GENERATE_YEAR_ID_FORMAT);
|
||||
}
|
||||
}
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
package com.cf.imes.module.system.validation.invoice;
|
||||
|
||||
import com.cf.imes.framework.test.core.ut.BaseMockitoUnitTest;
|
||||
import com.cf.imes.module.system.enums.pay.InvoiceStatusEnum;
|
||||
import jakarta.validation.ConstraintValidatorContext;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.mockito.Mock;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
|
||||
/**
|
||||
* 发票状态校验器单元测试
|
||||
*
|
||||
* @author Gqr
|
||||
* @since 2025/12/10 14:05
|
||||
*/
|
||||
class InvoiceStatusValidtorTest extends BaseMockitoUnitTest {
|
||||
@Mock
|
||||
private ConstraintValidatorContext constraintValidatorContext;
|
||||
|
||||
@Test
|
||||
void testValid() {
|
||||
InvoiceStatusValidtor validator = new InvoiceStatusValidtor();
|
||||
assertTrue(validator.isValid(InvoiceStatusEnum.INVOICABLE.getCode(), constraintValidatorContext));
|
||||
assertTrue(validator.isValid(InvoiceStatusEnum.PENDINGINVOICING.getCode(), constraintValidatorContext));
|
||||
assertTrue(validator.isValid(InvoiceStatusEnum.INVOICINGSUCCESSFUL.getCode(), constraintValidatorContext));
|
||||
assertTrue(validator.isValid(InvoiceStatusEnum.INVOICINGFAILED.getCode(), constraintValidatorContext));
|
||||
assertTrue(validator.isValid(null, constraintValidatorContext));
|
||||
assertFalse(validator.isValid(4, constraintValidatorContext));
|
||||
}
|
||||
}
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
package com.cf.imes.module.system.validation.notify;
|
||||
|
||||
import com.cf.imes.framework.test.core.ut.BaseMockitoUnitTest;
|
||||
import com.cf.imes.module.system.enums.notify.NotifyTemplateTypeEnum;
|
||||
import jakarta.validation.ConstraintValidatorContext;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.mockito.Mock;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
|
||||
/**
|
||||
* 通知模板类型校验器单元测试
|
||||
*
|
||||
* @author Gqr
|
||||
* @since 2025/12/10 14:08
|
||||
*/
|
||||
class NofityTemplateTypeValidatorTest extends BaseMockitoUnitTest {
|
||||
@Mock
|
||||
private ConstraintValidatorContext constraintValidatorContext;
|
||||
|
||||
@Test
|
||||
void testValid() {
|
||||
NofityTemplateTypeValidator validator = new NofityTemplateTypeValidator();
|
||||
assertTrue(validator.isValid(NotifyTemplateTypeEnum.NOTIFICATION_MESSAGE.getType(), constraintValidatorContext));
|
||||
assertTrue(validator.isValid(NotifyTemplateTypeEnum.SYSTEM_MESSAGE.getType(), constraintValidatorContext));
|
||||
assertTrue(validator.isValid(null, constraintValidatorContext));
|
||||
assertFalse(validator.isValid(3, constraintValidatorContext));
|
||||
}
|
||||
}
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
package com.cf.imes.module.system.validation.operatelog;
|
||||
|
||||
import com.cf.imes.framework.operatelog.core.enums.OperateTypeEnum;
|
||||
import com.cf.imes.framework.test.core.ut.BaseMockitoUnitTest;
|
||||
import jakarta.validation.ConstraintValidatorContext;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.mockito.Mock;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
|
||||
/**
|
||||
* 操作日志类型校验器单元测试
|
||||
*
|
||||
* @author Gqr
|
||||
* @since 2025/12/10 14:10
|
||||
*/
|
||||
class OperateLogTypeValidatorTest extends BaseMockitoUnitTest {
|
||||
@Mock
|
||||
private ConstraintValidatorContext constraintValidatorContext;
|
||||
|
||||
@Test
|
||||
void testValid() {
|
||||
OperateLogTypeValidator validator = new OperateLogTypeValidator();
|
||||
assertTrue(validator.isValid(OperateTypeEnum.OTHER.getType(), constraintValidatorContext));
|
||||
assertTrue(validator.isValid(OperateTypeEnum.CREATE.getType(), constraintValidatorContext));
|
||||
assertTrue(validator.isValid(OperateTypeEnum.DELETE.getType(), constraintValidatorContext));
|
||||
assertTrue(validator.isValid(OperateTypeEnum.UPDATE.getType(), constraintValidatorContext));
|
||||
assertTrue(validator.isValid(OperateTypeEnum.GET.getType(), constraintValidatorContext));
|
||||
assertTrue(validator.isValid(OperateTypeEnum.EXPORT.getType(), constraintValidatorContext));
|
||||
assertTrue(validator.isValid(OperateTypeEnum.IMPORT.getType(), constraintValidatorContext));
|
||||
assertTrue(validator.isValid(null, constraintValidatorContext));
|
||||
assertFalse(validator.isValid(7, constraintValidatorContext));
|
||||
}
|
||||
}
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
package com.cf.imes.module.system.validation.sms;
|
||||
|
||||
import com.cf.imes.framework.test.core.ut.BaseMockitoUnitTest;
|
||||
import com.cf.imes.module.system.enums.sms.SmsReceiveStatusEnum;
|
||||
import jakarta.validation.ConstraintValidatorContext;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.mockito.Mock;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
|
||||
/**
|
||||
* 短信接收状态校验器单元测试
|
||||
*
|
||||
* @author Gqr
|
||||
* @since 2025/12/10 14:16
|
||||
*/
|
||||
class SmsReceiveStatusValidatorTest extends BaseMockitoUnitTest {
|
||||
@Mock
|
||||
private ConstraintValidatorContext constraintValidatorContext;
|
||||
|
||||
@Test
|
||||
void testValid() {
|
||||
SmsReceiveStatusValidator validator = new SmsReceiveStatusValidator();
|
||||
assertTrue(validator.isValid(SmsReceiveStatusEnum.INIT.getStatus(), constraintValidatorContext));
|
||||
assertTrue(validator.isValid(SmsReceiveStatusEnum.SUCCESS.getStatus(), constraintValidatorContext));
|
||||
assertTrue(validator.isValid(SmsReceiveStatusEnum.FAILURE.getStatus(), constraintValidatorContext));
|
||||
assertTrue(validator.isValid(null, constraintValidatorContext));
|
||||
assertFalse(validator.isValid(30, constraintValidatorContext));
|
||||
}
|
||||
}
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
package com.cf.imes.module.system.validation.sms;
|
||||
|
||||
import com.cf.imes.framework.test.core.ut.BaseMockitoUnitTest;
|
||||
import com.cf.imes.module.system.enums.sms.SmsSendStatusEnum;
|
||||
import jakarta.validation.ConstraintValidatorContext;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.mockito.Mock;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
|
||||
/**
|
||||
* 短信发送状态校验器单元测试
|
||||
*
|
||||
* @author Gqr
|
||||
* @since 2025/12/10 14:18
|
||||
*/
|
||||
class SmsSendStatusValidatorTest extends BaseMockitoUnitTest {
|
||||
@Mock
|
||||
private ConstraintValidatorContext constraintValidatorContext;
|
||||
|
||||
@Test
|
||||
void testValid() {
|
||||
SmsSendStatusValidator validator = new SmsSendStatusValidator();
|
||||
assertTrue(validator.isValid(SmsSendStatusEnum.INIT.getStatus(), constraintValidatorContext));
|
||||
assertTrue(validator.isValid(SmsSendStatusEnum.SUCCESS.getStatus(), constraintValidatorContext));
|
||||
assertTrue(validator.isValid(SmsSendStatusEnum.FAILURE.getStatus(), constraintValidatorContext));
|
||||
assertTrue(validator.isValid(SmsSendStatusEnum.IGNORE.getStatus(), constraintValidatorContext));
|
||||
assertTrue(validator.isValid(null, constraintValidatorContext));
|
||||
assertFalse(validator.isValid(40, constraintValidatorContext));
|
||||
}
|
||||
}
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
package com.cf.imes.module.system.validation.sms;
|
||||
|
||||
import com.cf.imes.framework.test.core.ut.BaseMockitoUnitTest;
|
||||
import com.cf.imes.module.system.enums.sms.SmsTemplateTypeEnum;
|
||||
import jakarta.validation.ConstraintValidatorContext;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.mockito.Mock;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
|
||||
/**
|
||||
* 短信模版校验器单元测试
|
||||
*
|
||||
* @author Gqr
|
||||
* @since 2025/12/10 14:19
|
||||
*/
|
||||
class SmsTemplateTypeValidatorTest extends BaseMockitoUnitTest {
|
||||
@Mock
|
||||
private ConstraintValidatorContext constraintValidatorContext;
|
||||
|
||||
@Test
|
||||
void testValid() {
|
||||
SmsTemplateTypeValidator validator = new SmsTemplateTypeValidator();
|
||||
assertTrue(validator.isValid(SmsTemplateTypeEnum.VERIFICATION_CODE.getType(), constraintValidatorContext));
|
||||
assertTrue(validator.isValid(SmsTemplateTypeEnum.NOTICE.getType(), constraintValidatorContext));
|
||||
assertTrue(validator.isValid(SmsTemplateTypeEnum.PROMOTION.getType(), constraintValidatorContext));
|
||||
assertTrue(validator.isValid(null, constraintValidatorContext));
|
||||
assertFalse(validator.isValid(4, constraintValidatorContext));
|
||||
}
|
||||
}
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
package com.cf.imes.module.system.validation.token;
|
||||
|
||||
import com.cf.imes.framework.test.core.ut.BaseMockitoUnitTest;
|
||||
import com.cf.imes.module.system.enums.token.TokenConfigAppTypeEnum;
|
||||
import jakarta.validation.ConstraintValidatorContext;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.mockito.Mock;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
|
||||
/**
|
||||
* token配置管理应用类型校验器单元测试
|
||||
*
|
||||
* @author Gqr
|
||||
* @since 2025/12/10 14:21
|
||||
*/
|
||||
class TokenConfigAppTypeEnumValidatorTest extends BaseMockitoUnitTest {
|
||||
@Mock
|
||||
private ConstraintValidatorContext constraintValidatorContext;
|
||||
|
||||
@Test
|
||||
void testValid() {
|
||||
TokenConfigAppTypeEnumValidator validator = new TokenConfigAppTypeEnumValidator();
|
||||
assertTrue(validator.isValid(TokenConfigAppTypeEnum.WEBCAD.getType(), constraintValidatorContext));
|
||||
assertTrue(validator.isValid(null, constraintValidatorContext));
|
||||
assertFalse(validator.isValid(2, constraintValidatorContext));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user