소스 검색

add test case for logic delete

yuxiaobin 7 년 전
부모
커밋
af1c35d808

+ 4 - 0
mybatis-plus-core/src/test/java/com/baomidou/mybatisplus/test/h2/H2MetaObjAndVersionAndOptLockTest.java

@@ -212,6 +212,10 @@ public class H2MetaObjAndVersionAndOptLockTest extends H2Test {
         Assert.assertNotNull("testType should be auto filled", user.getTestType());
         userMapper.deleteById(user);
         Assert.assertNotNull("logicDelete should call update(), lastUpdateDt should be auto filled", user.getLastUpdatedDt());
+        Assert.assertNull("logic deleted, should not be retrieved", userMapper.selectById(user.getId()));
+        H2UserVersionAndLogicDeleteEntity userDB = userMapper.selectMyRecordById(user.getId());
+        Assert.assertNotNull("logic delete should not delete record physical", userDB);
+        Assert.assertEquals("logic delete should update version=-1", -1, userDB.getVersion().intValue());
     }
 
     @Test

+ 3 - 0
mybatis-plus-core/src/test/java/com/baomidou/mybatisplus/test/h2/entity/mapper/H2UserVersionAndLogicDeleteMapper.java

@@ -55,4 +55,7 @@ public interface H2UserVersionAndLogicDeleteMapper extends BaseMapper<H2UserVers
             "insert into h2user(name,version) values( #{name}, #{version})"
     )
     int myInsertWithoutParam(H2UserVersionAndLogicDeleteEntity user1);
+
+    @Select("select test_id as id, version, last_updated_dt from h2user where test_id=#{id}")
+    H2UserVersionAndLogicDeleteEntity selectMyRecordById(@Param("id") Long id);
 }