system微服务api模块单元测试完善

This commit is contained in:
gaoqr
2025-12-11 11:50:54 +08:00
parent 4c89805643
commit 9fb71c232f
19 changed files with 747 additions and 13 deletions
@@ -0,0 +1,72 @@
package com.cf.imes.framework.common.enums;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
/**
* {@link CommonStatusEnum} 的单元测试
*/
class CommonStatusEnumTest {
@Test
void testIsEnable() {
// 测试启用状态
assertTrue(CommonStatusEnum.isEnable(0));
// 测试非启用状态
assertFalse(CommonStatusEnum.isEnable(1));
// 测试null值
assertFalse(CommonStatusEnum.isEnable(null));
}
@Test
void testIsDisable() {
// 测试禁用状态
assertTrue(CommonStatusEnum.isDisable(1));
// 测试非禁用状态
assertFalse(CommonStatusEnum.isDisable(0));
// 测试null值
assertFalse(CommonStatusEnum.isDisable(null));
}
@Test
void testEnumValues() {
// 测试枚举值的基本属性
assertEquals(0, CommonStatusEnum.ENABLE.getStatus());
assertEquals("开启", CommonStatusEnum.ENABLE.getName());
assertEquals(1, CommonStatusEnum.DISABLE.getStatus());
assertEquals("关闭", CommonStatusEnum.DISABLE.getName());
}
@Test
void testArrayMethod() {
// 测试array()方法
int[] arrays = CommonStatusEnum.ENABLE.array();
assertEquals(2, arrays.length);
assertTrue(contains(arrays, 0)); // ENABLE
assertTrue(contains(arrays, 1)); // DISABLE
}
@Test
void testArraysField() {
// 测试ARRAYS静态字段包含所有枚举值的status
int[] arrays = CommonStatusEnum.ARRAYS;
assertEquals(2, arrays.length);
assertTrue(contains(arrays, 0)); // ENABLE
assertTrue(contains(arrays, 1)); // DISABLE
}
private boolean contains(int[] array, int value) {
for (int i : array) {
if (i == value) {
return true;
}
}
return false;
}
}
@@ -8,6 +8,8 @@ import com.cf.imes.framework.common.enums.RpcConstants;
* @author 晨丰科技
*/
public class ApiConstants {
private ApiConstants() {
}
/**
* 服务名
@@ -6,6 +6,8 @@ package com.cf.imes.module.system.enums;
* @author 晨丰科技
*/
public class DictTypeConstants {
private DictTypeConstants() {
}
public static final String USER_TYPE = "user_type"; // 用户类型
public static final String COMMON_STATUS = "common_status"; // 系统状态
@@ -19,12 +19,4 @@ public enum ProcessTypeEnum {
private final Integer status;
private String description;
public boolean equals(Integer status) {
return this.status .equals(status) ;
}
public boolean equals(ProcessTypeEnum enableStatusEnum) {
return enableStatusEnum != null && enableStatusEnum.status .equals(this.getStatus()) ;
}
}
@@ -35,10 +35,6 @@ public enum ProductStatusEnum implements IntArrayValuable {
return ARRAYS;
}
public static boolean isProductUpdates(Integer status) {
return Objects.equals(PRODUCT_UPDATES.status, status);
}
public static boolean isProductDelis(Integer status) {
return Objects.equals(PRODUCT_DELIS.status, status);
}
@@ -23,7 +23,7 @@ public enum SmsTemplateTypeEnum {
private final int type;
public static SmsTemplateTypeEnum valueOf(Integer type) {
public static SmsTemplateTypeEnum getType(Integer type) {
if (type == null) {
return null;
}
@@ -0,0 +1,59 @@
package com.cf.imes.module.system.enums.advertisement;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
/**
* {@link AdvertisementPositionEnum} 的单元测试
*/
class AdvertisementPositionEnumTest {
@Test
void testEnumValues() {
// 测试枚举值是否正确
assertEquals(1, AdvertisementPositionEnum.WORKBENCH_CAROUSEL.getStatus());
assertEquals("首页工作台轮播", AdvertisementPositionEnum.WORKBENCH_CAROUSEL.getName());
assertEquals(2, AdvertisementPositionEnum.SYSTEMCONFIG_AMOUNTQUERY_CAROUSEL.getStatus());
assertEquals("系统管理余额查询轮播", AdvertisementPositionEnum.SYSTEMCONFIG_AMOUNTQUERY_CAROUSEL.getName());
assertEquals(3, AdvertisementPositionEnum.BASECONFIG_FUNDSQUERY_CAROUSEL.getStatus());
assertEquals("基础配置资金查询轮播", AdvertisementPositionEnum.BASECONFIG_FUNDSQUERY_CAROUSEL.getName());
}
@Test
void testArrays() {
// 测试 ARRAYS 是否包含所有枚举值的状态
int[] arrays = AdvertisementPositionEnum.ARRAYS;
assertEquals(3, arrays.length);
assertTrue(contains(arrays, 1)); // WORKBENCH_CAROUSEL
assertTrue(contains(arrays, 2)); // SYSTEMCONFIG_AMOUNTQUERY_CAROUSEL
assertTrue(contains(arrays, 3)); // BASECONFIG_FUNDSQUERY_CAROUSEL
}
@Test
void testArrayMethod() {
// 测试array()方法
int[] arrays = AdvertisementPositionEnum.WORKBENCH_CAROUSEL.array();
assertEquals(3, arrays.length);
assertTrue(contains(arrays, 1)); // WORKBENCH_CAROUSEL
assertTrue(contains(arrays, 2)); // SYSTEMCONFIG_AMOUNTQUERY_CAROUSEL
assertTrue(contains(arrays, 3)); // BASECONFIG_FUNDSQUERY_CAROUSEL
}
/**
* 辅助方法:检查数组中是否包含指定元素
*
* @param array 数组
* @param value 值
* @return 是否包含
*/
private boolean contains(int[] array, int value) {
for (int item : array) {
if (item == value) {
return true;
}
}
return false;
}
}
@@ -0,0 +1,59 @@
package com.cf.imes.module.system.enums.advertisement;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
/**
* {@link AdvertisementStatusEnum} 的单元测试
*/
class AdvertisementStatusEnumTest {
@Test
void testEnumValues() {
// 测试枚举值是否正确
assertEquals(0, AdvertisementStatusEnum.UNPUBLISHED.getStatus());
assertEquals("未发布", AdvertisementStatusEnum.UNPUBLISHED.getName());
assertEquals(1, AdvertisementStatusEnum.PUBLISHED.getStatus());
assertEquals("已发布", AdvertisementStatusEnum.PUBLISHED.getName());
assertEquals(2, AdvertisementStatusEnum.ENDED.getStatus());
assertEquals("已结束", AdvertisementStatusEnum.ENDED.getName());
}
@Test
void testArrays() {
// 测试 ARRAYS 是否包含所有枚举值的状态
int[] arrays = AdvertisementStatusEnum.ARRAYS;
assertEquals(3, arrays.length);
assertTrue(contains(arrays, 0));
assertTrue(contains(arrays, 1));
assertTrue(contains(arrays, 2));
}
@Test
void testArrayMethod() {
// 测试array()方法
int[] arrays = AdvertisementStatusEnum.UNPUBLISHED.array();
assertEquals(3, arrays.length);
assertTrue(contains(arrays, 0)); // UNPUBLISHED
assertTrue(contains(arrays, 1)); // PUBLISHED
assertTrue(contains(arrays, 2)); // ENDED
}
/**
* 辅助方法:检查数组中是否包含指定元素
*
* @param array 数组
* @param value 值
* @return 是否包含
*/
private boolean contains(int[] array, int value) {
for (int item : array) {
if (item == value) {
return true;
}
}
return false;
}
}
@@ -0,0 +1,34 @@
package com.cf.imes.module.system.enums.customplateno;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
/**
* {@link CustomPlateNoRuleCodeEnum} 的单元测试
*/
class CustomPlateNoRuleCodeEnumTest {
@Test
void testEnumValues() {
// 测试枚举值是否正确
assertEquals("custom", CustomPlateNoRuleCodeEnum.CUSTOM.getRuleCode());
assertEquals("date", CustomPlateNoRuleCodeEnum.DATE.getRuleCode());
assertEquals("orderNo", CustomPlateNoRuleCodeEnum.ORDERNO.getRuleCode());
assertEquals("plateNo", CustomPlateNoRuleCodeEnum.PLATENO.getRuleCode());
assertEquals("roomNo", CustomPlateNoRuleCodeEnum.ROOMNO.getRuleCode());
assertEquals("bodyNo", CustomPlateNoRuleCodeEnum.BODYNO.getRuleCode());
}
@Test
void testMatch() {
// 测试 match 方法
assertEquals(CustomPlateNoRuleCodeEnum.CUSTOM, CustomPlateNoRuleCodeEnum.match("custom"));
assertEquals(CustomPlateNoRuleCodeEnum.DATE, CustomPlateNoRuleCodeEnum.match("date"));
assertEquals(CustomPlateNoRuleCodeEnum.ORDERNO, CustomPlateNoRuleCodeEnum.match("orderNo"));
assertEquals(CustomPlateNoRuleCodeEnum.PLATENO, CustomPlateNoRuleCodeEnum.match("plateNo"));
assertEquals(CustomPlateNoRuleCodeEnum.ROOMNO, CustomPlateNoRuleCodeEnum.match("roomNo"));
assertEquals(CustomPlateNoRuleCodeEnum.BODYNO, CustomPlateNoRuleCodeEnum.match("bodyNo"));
assertNull(CustomPlateNoRuleCodeEnum.match("nonexistent")); // 不存在的规则编码
assertNull(CustomPlateNoRuleCodeEnum.match(null)); // null值
}
}
@@ -0,0 +1,37 @@
package com.cf.imes.module.system.enums.customplateno;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
/**
* {@link ResetModeEnum} 的单元测试
*/
class ResetModeEnumTest {
@Test
void testEnumValues() {
// 测试枚举值是否正确
assertEquals(0, ResetModeEnum.ACCUMULATION.getMode());
assertEquals(1, ResetModeEnum.DIGIT.getMode());
assertEquals(2, ResetModeEnum.YEAR.getMode());
assertEquals(3, ResetModeEnum.MONTH.getMode());
assertEquals(4, ResetModeEnum.DAY.getMode());
assertEquals(5, ResetModeEnum.ORDER.getMode());
assertEquals(6, ResetModeEnum.ROOM.getMode());
assertEquals(7, ResetModeEnum.BODY.getMode());
}
@Test
void testGetByMode() {
// 测试 getByMode 方法
assertEquals(ResetModeEnum.ACCUMULATION, ResetModeEnum.getByMode(0));
assertEquals(ResetModeEnum.DIGIT, ResetModeEnum.getByMode(1));
assertEquals(ResetModeEnum.YEAR, ResetModeEnum.getByMode(2));
assertEquals(ResetModeEnum.MONTH, ResetModeEnum.getByMode(3));
assertEquals(ResetModeEnum.DAY, ResetModeEnum.getByMode(4));
assertEquals(ResetModeEnum.ORDER, ResetModeEnum.getByMode(5));
assertEquals(ResetModeEnum.ROOM, ResetModeEnum.getByMode(6));
assertEquals(ResetModeEnum.BODY, ResetModeEnum.getByMode(7));
assertNull(ResetModeEnum.getByMode(99)); // 不存在的模式
}
}
@@ -0,0 +1,51 @@
package com.cf.imes.module.system.enums.errorcode;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
/**
* {@link ErrorCodeTypeEnum} 的单元测试
*/
class ErrorCodeTypeEnumTest {
@Test
void testEnumValues() {
// 测试枚举值是否正确
assertEquals(1, ErrorCodeTypeEnum.AUTO_GENERATION.getType());
assertEquals(2, ErrorCodeTypeEnum.MANUAL_OPERATION.getType());
}
@Test
void testArrays() {
// 测试 ARRAYS 是否包含所有枚举值的类型
int[] arrays = ErrorCodeTypeEnum.ARRAYS;
assertEquals(2, arrays.length);
assertTrue(contains(arrays, 1)); // AUTO_GENERATION
assertTrue(contains(arrays, 2)); // MANUAL_OPERATION
}
@Test
void testArrayMethod() {
// 测试array()方法
int[] arrays = ErrorCodeTypeEnum.AUTO_GENERATION.array();
assertEquals(2, arrays.length);
assertTrue(contains(arrays, 1)); // AUTO_GENERATION
assertTrue(contains(arrays, 2)); // MANUAL_OPERATION
}
/**
* 辅助方法:检查数组中是否包含指定元素
*
* @param array 数组
* @param value 值
* @return 是否包含
*/
private boolean contains(int[] array, int value) {
for (int item : array) {
if (item == value) {
return true;
}
}
return false;
}
}
@@ -0,0 +1,32 @@
package com.cf.imes.module.system.enums.oauth2;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
/**
* {@link OAuth2GrantTypeEnum} 的单元测试
*/
class OAuth2GrantTypeEnumTest {
@Test
void testEnumValues() {
// 测试枚举值是否正确
assertEquals("password", OAuth2GrantTypeEnum.PASSWORD.getGrantType());
assertEquals("authorization_code", OAuth2GrantTypeEnum.AUTHORIZATION_CODE.getGrantType());
assertEquals("implicit", OAuth2GrantTypeEnum.IMPLICIT.getGrantType());
assertEquals("client_credentials", OAuth2GrantTypeEnum.CLIENT_CREDENTIALS.getGrantType());
assertEquals("refresh_token", OAuth2GrantTypeEnum.REFRESH_TOKEN.getGrantType());
}
@Test
void testGetByGranType() {
// 测试 getByGranType 方法
assertEquals(OAuth2GrantTypeEnum.PASSWORD, OAuth2GrantTypeEnum.getByGranType("password"));
assertEquals(OAuth2GrantTypeEnum.AUTHORIZATION_CODE, OAuth2GrantTypeEnum.getByGranType("authorization_code"));
assertEquals(OAuth2GrantTypeEnum.IMPLICIT, OAuth2GrantTypeEnum.getByGranType("implicit"));
assertEquals(OAuth2GrantTypeEnum.CLIENT_CREDENTIALS, OAuth2GrantTypeEnum.getByGranType("client_credentials"));
assertEquals(OAuth2GrantTypeEnum.REFRESH_TOKEN, OAuth2GrantTypeEnum.getByGranType("refresh_token"));
assertNull(OAuth2GrantTypeEnum.getByGranType("non_existent_type")); // 不存在的类型
assertNull(OAuth2GrantTypeEnum.getByGranType(null)); // null值
}
}
@@ -0,0 +1,62 @@
package com.cf.imes.module.system.enums.permission;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
/**
* {@link DataScopeEnum} 的单元测试
*/
class DataScopeEnumTest {
@Test
void testEnumValues() {
// 测试枚举值是否正确
assertEquals(1, DataScopeEnum.ALL.getScope());
assertEquals(2, DataScopeEnum.DEPT_CUSTOM.getScope());
assertEquals(3, DataScopeEnum.DEPT_ONLY.getScope());
assertEquals(4, DataScopeEnum.DEPT_AND_CHILD.getScope());
assertEquals(5, DataScopeEnum.SELF.getScope());
}
@Test
void testArrays() {
// 测试 ARRAYS 是否包含所有枚举值的范围
int[] arrays = DataScopeEnum.ARRAYS;
assertEquals(5, arrays.length);
assertTrue(contains(arrays, 1)); // ALL
assertTrue(contains(arrays, 2)); // DEPT_CUSTOM
assertTrue(contains(arrays, 3)); // DEPT_ONLY
assertTrue(contains(arrays, 4)); // DEPT_AND_CHILD
assertTrue(contains(arrays, 5)); // SELF
}
@Test
void testArrayMethod() {
// 测试array()方法
int[] arrays = DataScopeEnum.ALL.array();
assertEquals(5, arrays.length);
assertTrue(contains(arrays, 1)); // ALL
assertTrue(contains(arrays, 2)); // DEPT_CUSTOM
assertTrue(contains(arrays, 3)); // DEPT_ONLY
assertTrue(contains(arrays, 4)); // DEPT_AND_CHILD
assertTrue(contains(arrays, 5)); // SELF
}
/**
* 辅助方法:检查数组中是否包含指定元素
*
* @param array 数组
* @param value 值
* @return 是否包含
*/
private boolean contains(int[] array, int value) {
for (int item : array) {
if (item == value) {
return true;
}
}
return false;
}
}
@@ -0,0 +1,29 @@
package com.cf.imes.module.system.enums.permission;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
/**
* {@link RoleCodeEnum} 的单元测试
*/
class RoleCodeEnumTest {
@Test
void testEnumValues() {
// 测试枚举值是否正确
assertEquals("super_admin", RoleCodeEnum.SUPER_ADMIN.getCode());
assertEquals("超级管理员", RoleCodeEnum.SUPER_ADMIN.getName());
assertEquals("organ_admin", RoleCodeEnum.TENANT_ADMIN.getCode());
assertEquals("组织管理员", RoleCodeEnum.TENANT_ADMIN.getName());
}
@Test
void testIsSuperAdmin() {
// 测试 isSuperAdmin 方法
assertTrue(RoleCodeEnum.isSuperAdmin("super_admin"));
assertFalse(RoleCodeEnum.isSuperAdmin("organ_admin"));
assertFalse(RoleCodeEnum.isSuperAdmin("other_code"));
assertFalse(RoleCodeEnum.isSuperAdmin(null));
}
}
@@ -0,0 +1,63 @@
package com.cf.imes.module.system.enums.products;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
/**
* {@link ProductStatusEnum} 的单元测试
*/
class ProductStatusEnumTest {
@Test
void testEnumValues() {
// 测试枚举值是否正确
assertEquals(0, ProductStatusEnum.PRODUCT_UPDATES.getStatus());
assertEquals("已上架", ProductStatusEnum.PRODUCT_UPDATES.getName());
assertEquals(1, ProductStatusEnum.PRODUCT_DELIS.getStatus());
assertEquals("已下架", ProductStatusEnum.PRODUCT_DELIS.getName());
}
@Test
void testArrays() {
// 测试 ARRAYS 是否包含所有枚举值的状态
int[] arrays = ProductStatusEnum.ARRAYS;
assertEquals(2, arrays.length);
assertTrue(contains(arrays, 0)); // PRODUCT_UPDATES
assertTrue(contains(arrays, 1)); // PRODUCT_DELIS
}
@Test
void testArrayMethod() {
// 测试array()方法
int[] arrays = ProductStatusEnum.PRODUCT_UPDATES.array();
assertEquals(2, arrays.length);
assertTrue(contains(arrays, 0)); // PRODUCT_UPDATES
assertTrue(contains(arrays, 1)); // PRODUCT_DELIS
}
@Test
void testIsProductDelis() {
// 测试 isProductDelis 方法
assertTrue(ProductStatusEnum.isProductDelis(1));
assertFalse(ProductStatusEnum.isProductDelis(0));
assertFalse(ProductStatusEnum.isProductDelis(2)); // 不存在的状态
assertFalse(ProductStatusEnum.isProductDelis(null)); // null值
}
/**
* 辅助方法:检查数组中是否包含指定元素
*
* @param array 数组
* @param value 值
* @return 是否包含
*/
private boolean contains(int[] array, int value) {
for (int item : array) {
if (item == value) {
return true;
}
}
return false;
}
}
@@ -0,0 +1,99 @@
package com.cf.imes.module.system.enums.sms;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
/**
* {@link SmsSceneEnum} 的单元测试
*/
class SmsSceneEnumTest {
@Test
void testEnumValues() {
// 测试枚举值是否正确
assertEquals(1, SmsSceneEnum.USER_UPDATE_MOBILE.getScene());
assertEquals("user-update-mobile", SmsSceneEnum.USER_UPDATE_MOBILE.getTemplateCode());
assertEquals("修改手机", SmsSceneEnum.USER_UPDATE_MOBILE.getDescription());
assertEquals(2, SmsSceneEnum.USER_RESET_PASSWORD.getScene());
assertEquals("user-reset-password", SmsSceneEnum.USER_RESET_PASSWORD.getTemplateCode());
assertEquals("忘记密码", SmsSceneEnum.USER_RESET_PASSWORD.getDescription());
assertEquals(3, SmsSceneEnum.USER_UPDATE_PASSWORD.getScene());
assertEquals("user-update-password", SmsSceneEnum.USER_UPDATE_PASSWORD.getTemplateCode());
assertEquals("修改密码", SmsSceneEnum.USER_UPDATE_PASSWORD.getDescription());
assertEquals(4, SmsSceneEnum.USER_LOGIN_CAPTCHAVERIFICATION.getScene());
assertEquals("user-login-captchaverification", SmsSceneEnum.USER_LOGIN_CAPTCHAVERIFICATION.getTemplateCode());
assertEquals("登录验证码", SmsSceneEnum.USER_LOGIN_CAPTCHAVERIFICATION.getDescription());
assertEquals(20, SmsSceneEnum.ADMIN_LOGIN.getScene());
assertEquals("admin-sms-login", SmsSceneEnum.ADMIN_LOGIN.getTemplateCode());
assertEquals("后台用户 - 手机号登录", SmsSceneEnum.ADMIN_LOGIN.getDescription());
assertEquals(21, SmsSceneEnum.ADMIN_MEMBER_LOGIN.getScene());
assertEquals("admin-sms-login", SmsSceneEnum.ADMIN_MEMBER_LOGIN.getTemplateCode());
assertEquals("后台用户 - 手机号登录", SmsSceneEnum.ADMIN_MEMBER_LOGIN.getDescription());
assertEquals(22, SmsSceneEnum.MEMBER_LOGIN.getScene());
assertEquals("user-sms-login", SmsSceneEnum.MEMBER_LOGIN.getTemplateCode());
assertEquals("会员用户 - 手机号登陆", SmsSceneEnum.MEMBER_LOGIN.getDescription());
}
@Test
void testArrays() {
// 测试 ARRAYS 是否包含所有枚举值的场景编号
int[] arrays = SmsSceneEnum.ARRAYS;
assertEquals(7, arrays.length);
assertTrue(contains(arrays, 1)); // USER_UPDATE_MOBILE
assertTrue(contains(arrays, 2)); // USER_RESET_PASSWORD
assertTrue(contains(arrays, 3)); // USER_UPDATE_PASSWORD
assertTrue(contains(arrays, 4)); // USER_LOGIN_CAPTCHAVERIFICATION
assertTrue(contains(arrays, 20)); // ADMIN_LOGIN
assertTrue(contains(arrays, 21)); // ADMIN_MEMBER_LOGIN
assertTrue(contains(arrays, 22)); // MEMBER_LOGIN
}
@Test
void testArrayMethod() {
// 测试array()方法
int[] arrays = SmsSceneEnum.USER_UPDATE_MOBILE.array();
assertEquals(7, arrays.length);
assertTrue(contains(arrays, 1)); // USER_UPDATE_MOBILE
assertTrue(contains(arrays, 2)); // USER_RESET_PASSWORD
assertTrue(contains(arrays, 3)); // USER_UPDATE_PASSWORD
assertTrue(contains(arrays, 4)); // USER_LOGIN_CAPTCHAVERIFICATION
assertTrue(contains(arrays, 20)); // ADMIN_LOGIN
assertTrue(contains(arrays, 21)); // ADMIN_MEMBER_LOGIN
assertTrue(contains(arrays, 22)); // MEMBER_LOGIN
}
@Test
void testGetCodeByScene() {
// 测试 getCodeByScene 方法
assertEquals(SmsSceneEnum.USER_UPDATE_MOBILE, SmsSceneEnum.getCodeByScene(1));
assertEquals(SmsSceneEnum.USER_RESET_PASSWORD, SmsSceneEnum.getCodeByScene(2));
assertEquals(SmsSceneEnum.USER_UPDATE_PASSWORD, SmsSceneEnum.getCodeByScene(3));
assertEquals(SmsSceneEnum.USER_LOGIN_CAPTCHAVERIFICATION, SmsSceneEnum.getCodeByScene(4));
assertEquals(SmsSceneEnum.ADMIN_LOGIN, SmsSceneEnum.getCodeByScene(20));
assertEquals(SmsSceneEnum.ADMIN_MEMBER_LOGIN, SmsSceneEnum.getCodeByScene(21));
assertEquals(SmsSceneEnum.MEMBER_LOGIN, SmsSceneEnum.getCodeByScene(22));
assertNull(SmsSceneEnum.getCodeByScene(99)); // 不存在的场景
}
/**
* 辅助方法:检查数组中是否包含指定元素
*
* @param array 数组
* @param value 值
* @return 是否包含
*/
private boolean contains(int[] array, int value) {
for (int item : array) {
if (item == value) {
return true;
}
}
return false;
}
}
@@ -0,0 +1,28 @@
package com.cf.imes.module.system.enums.sms;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
/**
* {@link SmsTemplateTypeEnum} 的单元测试
*/
class SmsTemplateTypeEnumTest {
@Test
void testEnumValues() {
// 测试枚举值是否正确
assertEquals(1, SmsTemplateTypeEnum.VERIFICATION_CODE.getType());
assertEquals(2, SmsTemplateTypeEnum.NOTICE.getType());
assertEquals(3, SmsTemplateTypeEnum.PROMOTION.getType());
}
@Test
void testValueOf() {
// 测试 valueOf 方法
assertEquals(SmsTemplateTypeEnum.VERIFICATION_CODE, SmsTemplateTypeEnum.getType(1));
assertEquals(SmsTemplateTypeEnum.NOTICE, SmsTemplateTypeEnum.getType(2));
assertEquals(SmsTemplateTypeEnum.PROMOTION, SmsTemplateTypeEnum.getType(3));
assertNull(SmsTemplateTypeEnum.getType(99)); // 不存在的类型
assertNull(SmsTemplateTypeEnum.getType(null)); // null值
}
}
@@ -0,0 +1,86 @@
package com.cf.imes.module.system.enums.social;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
/**
* {@link SocialTypeEnum} 的单元测试
*/
class SocialTypeEnumTest {
@Test
void testEnumValues() {
// 测试枚举值是否正确
assertEquals(10, SocialTypeEnum.GITEE.getType());
assertEquals("GITEE", SocialTypeEnum.GITEE.getSource());
assertEquals(20, SocialTypeEnum.DINGTALK.getType());
assertEquals("DINGTALK", SocialTypeEnum.DINGTALK.getSource());
assertEquals(30, SocialTypeEnum.WECHAT_ENTERPRISE.getType());
assertEquals("WECHAT_ENTERPRISE", SocialTypeEnum.WECHAT_ENTERPRISE.getSource());
assertEquals(31, SocialTypeEnum.WECHAT_MP.getType());
assertEquals("WECHAT_MP", SocialTypeEnum.WECHAT_MP.getSource());
assertEquals(32, SocialTypeEnum.WECHAT_OPEN.getType());
assertEquals("WECHAT_OPEN", SocialTypeEnum.WECHAT_OPEN.getSource());
assertEquals(34, SocialTypeEnum.WECHAT_MINI_APP.getType());
assertEquals("WECHAT_MINI_APP", SocialTypeEnum.WECHAT_MINI_APP.getSource());
}
@Test
void testArrays() {
// 测试 ARRAYS 是否包含所有枚举值的类型
int[] arrays = SocialTypeEnum.ARRAYS;
assertEquals(6, arrays.length);
assertTrue(contains(arrays, 10)); // GITEE
assertTrue(contains(arrays, 20)); // DINGTALK
assertTrue(contains(arrays, 30)); // WECHAT_ENTERPRISE
assertTrue(contains(arrays, 31)); // WECHAT_MP
assertTrue(contains(arrays, 32)); // WECHAT_OPEN
assertTrue(contains(arrays, 34)); // WECHAT_MINI_APP
}
@Test
void testArrayMethod() {
// 测试array()方法
int[] arrays = SocialTypeEnum.GITEE.array();
assertEquals(6, arrays.length);
assertTrue(contains(arrays, 10)); // GITEE
assertTrue(contains(arrays, 20)); // DINGTALK
assertTrue(contains(arrays, 30)); // WECHAT_ENTERPRISE
assertTrue(contains(arrays, 31)); // WECHAT_MP
assertTrue(contains(arrays, 32)); // WECHAT_OPEN
assertTrue(contains(arrays, 34)); // WECHAT_MINI_APP
}
@Test
void testValueOfType() {
// 测试 valueOfType 方法
assertEquals(SocialTypeEnum.GITEE, SocialTypeEnum.valueOfType(10));
assertEquals(SocialTypeEnum.DINGTALK, SocialTypeEnum.valueOfType(20));
assertEquals(SocialTypeEnum.WECHAT_ENTERPRISE, SocialTypeEnum.valueOfType(30));
assertEquals(SocialTypeEnum.WECHAT_MP, SocialTypeEnum.valueOfType(31));
assertEquals(SocialTypeEnum.WECHAT_OPEN, SocialTypeEnum.valueOfType(32));
assertEquals(SocialTypeEnum.WECHAT_MINI_APP, SocialTypeEnum.valueOfType(34));
assertNull(SocialTypeEnum.valueOfType(99)); // 不存在的类型
}
/**
* 辅助方法:检查数组中是否包含指定元素
*
* @param array 数组
* @param value 值
* @return 是否包含
*/
private boolean contains(int[] array, int value) {
for (int item : array) {
if (item == value) {
return true;
}
}
return false;
}
}
@@ -0,0 +1,31 @@
package com.cf.imes.module.system.validation.user;
import com.cf.imes.framework.test.core.ut.BaseMockitoUnitTest;
import com.cf.imes.module.system.enums.common.SexEnum;
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:23
*/
class SexValidatorTest extends BaseMockitoUnitTest {
@Mock
private ConstraintValidatorContext constraintValidatorContext;
@Test
void testValid() {
SexValidator validator = new SexValidator();
assertTrue(validator.isValid(SexEnum.MALE.getSex(), constraintValidatorContext));
assertTrue(validator.isValid(SexEnum.FEMALE.getSex(), constraintValidatorContext));
assertTrue(validator.isValid(SexEnum.UNKNOWN.getSex(), constraintValidatorContext));
assertTrue(validator.isValid(null, constraintValidatorContext));
assertFalse(validator.isValid(4, constraintValidatorContext));
}
}