dao层修改 单元测试

This commit is contained in:
禾几海
2020-05-25 14:48:05 +08:00
parent 9185ff8f58
commit 9e6868b638
7 changed files with 282 additions and 62 deletions

View File

@@ -0,0 +1,17 @@
package cn.celess.blog.enmu;
import com.sun.javaws.jnl.IconDesc;
/**
* @Author: 小海
* @Date: 2020-05-25 08:58
* @Desc:
*/
public enum CommentStatusEnum {
// 正常
NORMAL(0, "正常");
CommentStatusEnum(int code, String msg) {
}
}

View File

@@ -0,0 +1,23 @@
package cn.celess.blog.enmu;
import lombok.Getter;
/**
* @Author: 小海
* @Date: 2020-05-24 16:31
* @Desc:
*/
@Getter
public enum RoleEnum {
// admin 权限
ADMIN_ROLE("admin"),
// user 权限
USER_ROLE("user");
private final String roleName;
RoleEnum(String roleName) {
this.roleName = roleName;
}
}

View File

@@ -14,27 +14,21 @@ public class Comment {
private Long id;
/**
* 是评论还是留言 0:评论 其他1留言
*/
private Boolean type;
private int status;
private Long authorID;
private String pagePath;
private String content;
private Long articleID;
private Date date;
/**
* 回应着ID 默认为顶级回复
*/
private String responseId = "";
private User fromUser;
private User toUser;
/**
* 评论的父ID
*/
private Long pid;
private boolean delete;
}

View File

@@ -2,6 +2,7 @@ package cn.celess.blog.entity;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
@@ -10,6 +11,7 @@ import java.util.Date;
* @date : 2019/03/28 14:52
*/
@Data
@NoArgsConstructor
public class User {
private Long id;
@@ -18,12 +20,6 @@ public class User {
*/
private String email;
/**
* 用户唯一标识码
*/
@JsonIgnore
private String uid;
/**
* 密码
*/
@@ -46,15 +42,12 @@ public class User {
private Date recentlyLandedDate;
/**
* 随机码 用户验证邮箱/找回密码
* 暂时废弃这一字段
*/
private String emailVerifyId;
private String role = "user";
public User() {
}
private int status;
public User(String email, String pwd) {
this.email = email;
this.pwd = pwd;
}
}

View File

@@ -16,13 +16,13 @@ import java.util.List;
@Repository
public interface UserMapper {
int addUser(String email, String pwd);
int addUser(User user);
int updateInfo(String desc, String displayName, long id);
int updateAvatarImgUrl(String avatarImgUrl, long id);
int updateLoginTime(String email, Date date);
int updateLoginTime(String email);
int updateEmailStatus(String email, boolean status);
@@ -50,7 +50,9 @@ public interface UserMapper {
int delete(long id);
int setUserRole(Long uid, String role);
int lock(long id);
int setUserRole(Long id, String role);
List<User> findAll();

View File

@@ -4,68 +4,74 @@
<resultMap id="userResultMap" type="cn.celess.blog.entity.User">
<id column="u_id" property="id"/>
<result column="u_email" property="email"/>
<result column="u_uid" property="uid"/>
<result column="u_pwd" property="pwd"/>
<result column="email_status" property="emailStatus"/>
<result column="u_email_status" property="emailStatus"/>
<result column="u_avatar" property="avatarImgUrl"/>
<result column="u_desc" property="desc"/>
<result column="recently_landed_time" property="recentlyLandedDate"/>
<result column="email_verify_id" property="emailVerifyId"/>
<result column="display_name" property="displayName"/>
<result column="role" property="role"/>
<result column="u_recently_landed_time" property="recentlyLandedDate"/>
<result column="u_display_name" property="displayName"/>
<result column="u_role" property="role"/>
<result column="status" property="status"/>
</resultMap>
<insert id="addUser">
<insert id="addUser" useGeneratedKeys="true" keyProperty="id">
insert into user(u_email, u_pwd)
values (#{email}, #{pwd})
</insert>
<update id="updateInfo">
update user set
<if test="desc!=null">`u_desc`=#{desc},</if>
<if test="displayName!=null">`display_name`=#{displayName}</if>
<if test="desc!=null">u_desc=#{desc},</if>
<if test="displayName!=null">u_display_name=#{displayName}</if>
where u_id=#{id}
</update>
<update id="updateLoginTime">
update user
set `recently_landed_time`=#{date}
where `u_email` = #{email}
set u_recently_landed_time=now()
where u_email = #{email}
</update>
<update id="updateAvatarImgUrl">
update user
set `u_avatar`=#{avatarImgUrl}
where `u_id` = #{id}
set u_avatar=#{avatarImgUrl}
where u_id = #{id}
</update>
<update id="updateEmailStatus">
update user
set `email_status`=#{status}
where `u_email` = #{email}
set u_email_status=#{status}
where u_email = #{email}
</update>
<update id="updatePwd">
update user
set `u_pwd`=#{pwd}
where `u_email` = #{email}
set u_pwd=#{pwd}
where u_email = #{email}
</update>
<update id="setUserRole">
update user
set role=#{role}
where u_id = #{uid}
set u_role=#{role}
where u_id = #{id}
</update>
<update id="update">
update user
set `u_email` = #{email},
`u_pwd` = #{pwd},
`email_status` = #{emailStatus},
`u_desc` = #{desc},
`display_name` = #{displayName},
`role` = #{role}
where `u_id` = #{id}
</update>
<delete id="delete">
delete
from user
set u_email = #{email},
u_pwd = #{pwd},
u_email_status = #{emailStatus},
u_desc = #{desc},
u_display_name = #{displayName},
u_avatar = #{avatarImgUrl},
u_role = #{role}
where u_id = #{id}
</delete>
</update>
<update id="delete">
update user
set status= 2
where u_id = #{id}
</update>
<update id="lock">
update user
set status= 1
where u_id = #{id}
</update>
<select id="existsByEmail" resultType="java.lang.Boolean">
select exists(select * from user where u_email = #{email})
@@ -96,7 +102,7 @@
</select>
<select id="getDisPlayName" resultType="java.lang.String">
select display_name
select u_display_name
from user
where u_id = #{id}
</select>
@@ -107,7 +113,7 @@
where u_email = #{email}
</select>
<select id="getRoleByEmail" resultType="java.lang.String">
select role
select u_role
from user
where u_email = #{emai}
</select>
@@ -116,7 +122,7 @@
from user
</select>
<select id="getRoleById" resultType="java.lang.String">
select role
select u_role
from user
where u_id = #{id}
</select>

View File

@@ -0,0 +1,185 @@
package cn.celess.blog.mapper;
import cn.celess.blog.BaseTest;
import cn.celess.blog.enmu.RoleEnum;
import cn.celess.blog.enmu.UserAccountStatusEnum;
import cn.celess.blog.entity.User;
import cn.celess.blog.util.MD5Util;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.List;
import static org.junit.Assert.*;
public class UserMapperTest extends BaseTest {
@Autowired
UserMapper userMapper;
@Test
public void addUser() {
User user = generateUser();
assertNotNull(user.getId());
}
@Test
public void updateInfo() {
User user = generateUser();
assertEquals(1, userMapper.updateInfo("ttt", "ttt", user.getId()));
}
@Test
public void updateAvatarImgUrl() {
User user = generateUser();
assertEquals(1, userMapper.updateAvatarImgUrl("https://www.celess.cn/example.jpg", user.getId()));
}
@Test
public void updateLoginTime() {
User user = generateUser();
assertEquals(1, userMapper.updateLoginTime(user.getEmail()));
}
@Test
public void updateEmailStatus() {
User user = generateUser();
assertEquals(1, userMapper.updateEmailStatus(user.getEmail(), true));
}
@Test
public void updatePwd() {
User user = generateUser();
assertEquals(1, userMapper.updatePwd(user.getEmail(), MD5Util.getMD5("12345687654")));
}
@Test
public void getPwd() {
User user = generateUser();
assertEquals(user.getPwd(), userMapper.getPwd(user.getEmail()));
}
@Test
public void existsByEmail() {
User user = generateUser();
assertTrue(userMapper.existsByEmail(user.getEmail()));
}
@Test
public void findByEmail() {
User user = generateUser();
User byEmail = userMapper.findByEmail(user.getEmail());
assertNotNull(byEmail);
assertEquals(user.getId(), byEmail.getId());
}
@Test
public void findById() {
User user = generateUser();
User findById = userMapper.findById(user.getId());
assertNotNull(findById);
assertEquals(user.getEmail(), findById.getEmail());
}
@Test
public void getAvatarImgUrlById() {
User user = generateUser();
assertNull(userMapper.getAvatarImgUrlById(user.getId()));
userMapper.updateAvatarImgUrl("example.cn", user.getId());
assertEquals("example.cn", userMapper.getAvatarImgUrlById(user.getId()));
}
@Test
public void getEmail() {
User user = generateUser();
assertEquals(user.getEmail(), userMapper.getEmail(user.getId()));
}
@Test
public void getDisPlayName() {
User user = generateUser();
assertNull(userMapper.getDisPlayName(user.getId()));
}
@Test
public void getRoleByEmail() {
User user = generateUser();
assertEquals(RoleEnum.USER_ROLE.getRoleName(), userMapper.getRoleByEmail(user.getEmail()));
}
@Test
public void getRoleById() {
User user = generateUser();
assertEquals(RoleEnum.USER_ROLE.getRoleName(), userMapper.getRoleById(user.getId()));
}
@Test
public void count() {
generateUser();
assertTrue(userMapper.count() >= 1);
}
@Test
public void delete() {
User user = generateUser();
int delete = userMapper.delete(user.getId());
assertEquals(1, delete);
User byId = userMapper.findById(user.getId());
assertEquals(UserAccountStatusEnum.DELETED.getCode(), byId.getStatus());
}
@Test
public void lock() {
User user = generateUser();
int delete = userMapper.lock(user.getId());
assertEquals(1, delete);
User byId = userMapper.findById(user.getId());
assertEquals(UserAccountStatusEnum.LOCKED.getCode(), byId.getStatus());
}
@Test
public void setUserRole() {
User user = generateUser();
userMapper.setUserRole(user.getId(), RoleEnum.ADMIN_ROLE.getRoleName());
assertEquals(RoleEnum.ADMIN_ROLE.getRoleName(), userMapper.getRoleById(user.getId()));
}
@Test
public void findAll() {
User user = generateUser();
List<User> all = userMapper.findAll();
assertTrue(all.size() >= 1);
}
@Test
public void update() {
User user = generateUser();
user.setDesc("aaa");
user.setDisplayName("bbb");
user.setEmailStatus(true);
user.setRole(RoleEnum.ADMIN_ROLE.getRoleName());
user.setAvatarImgUrl("https://celess.cn/examcple.jpg");
user.setEmail(randomStr(8) + "@celess.cn");
user.setPwd(MD5Util.getMD5("010100000100000"));
assertEquals(1, userMapper.update(user));
User byId = userMapper.findById(user.getId());
assertEquals(user.getDesc(), byId.getDesc());
assertEquals(user.getDisplayName(), byId.getDisplayName());
assertEquals(user.getEmailStatus(), byId.getEmailStatus());
assertEquals(user.getRole(), byId.getRole());
assertEquals(user.getAvatarImgUrl(), byId.getAvatarImgUrl());
assertEquals(user.getEmail(), byId.getEmail());
assertEquals(user.getPwd(), byId.getPwd());
}
private User generateUser() {
User user = new User(randomStr(6) + "@celess.cn", MD5Util.getMD5("1234567890"));
userMapper.addUser(user);
User newUser = userMapper.findByEmail(user.getEmail());
assertEquals(user.getId(), newUser.getId());
return newUser;
}
}