|
@@ -0,0 +1,162 @@
|
|
|
+package cn.iocoder.yudao.module.museums.service.museumsdocument;
|
|
|
+
|
|
|
+import org.junit.jupiter.api.Disabled;
|
|
|
+import org.junit.jupiter.api.Test;
|
|
|
+import org.springframework.boot.test.mock.mockito.MockBean;
|
|
|
+
|
|
|
+import javax.annotation.Resource;
|
|
|
+
|
|
|
+import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest;
|
|
|
+
|
|
|
+import cn.iocoder.yudao.module.museums.controller.admin.museumsdocument.vo.*;
|
|
|
+import cn.iocoder.yudao.module.museums.dal.dataobject.museumsdocument.MuseumsDocumentDO;
|
|
|
+import cn.iocoder.yudao.module.museums.dal.mysql.museumsdocument.MuseumsDocumentMapper;
|
|
|
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|
|
+
|
|
|
+import javax.annotation.Resource;
|
|
|
+import org.springframework.context.annotation.Import;
|
|
|
+import java.util.*;
|
|
|
+import java.time.LocalDateTime;
|
|
|
+
|
|
|
+import static cn.hutool.core.util.RandomUtil.*;
|
|
|
+import static cn.iocoder.yudao.module.museums.enums.ErrorCodeConstants.*;
|
|
|
+import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.*;
|
|
|
+import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*;
|
|
|
+import static cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils.*;
|
|
|
+import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.*;
|
|
|
+import static cn.iocoder.yudao.framework.common.util.date.DateUtils.*;
|
|
|
+import static org.junit.jupiter.api.Assertions.*;
|
|
|
+import static org.mockito.Mockito.*;
|
|
|
+
|
|
|
+
|
|
|
+ * {@link MuseumsDocumentServiceImpl} 的单元测试类
|
|
|
+ *
|
|
|
+ * @author 芋道源码
|
|
|
+ */
|
|
|
+@Import(MuseumsDocumentServiceImpl.class)
|
|
|
+public class MuseumsDocumentServiceImplTest extends BaseDbUnitTest {
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private MuseumsDocumentServiceImpl documentService;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private MuseumsDocumentMapper documentMapper;
|
|
|
+
|
|
|
+ @Test
|
|
|
+ public void testCreateDocument_success() {
|
|
|
+
|
|
|
+ MuseumsDocumentSaveReqVO createReqVO = randomPojo(MuseumsDocumentSaveReqVO.class).setId(null);
|
|
|
+
|
|
|
+
|
|
|
+ Integer documentId = documentService.createDocument(createReqVO);
|
|
|
+
|
|
|
+ assertNotNull(documentId);
|
|
|
+
|
|
|
+ MuseumsDocumentDO document = documentMapper.selectById(documentId);
|
|
|
+ assertPojoEquals(createReqVO, document, "id");
|
|
|
+ }
|
|
|
+
|
|
|
+ @Test
|
|
|
+ public void testUpdateDocument_success() {
|
|
|
+
|
|
|
+ MuseumsDocumentDO dbDocument = randomPojo(MuseumsDocumentDO.class);
|
|
|
+ documentMapper.insert(dbDocument);
|
|
|
+
|
|
|
+ MuseumsDocumentSaveReqVO updateReqVO = randomPojo(MuseumsDocumentSaveReqVO.class, o -> {
|
|
|
+ o.setId(dbDocument.getId());
|
|
|
+ });
|
|
|
+
|
|
|
+
|
|
|
+ documentService.updateDocument(updateReqVO);
|
|
|
+
|
|
|
+ MuseumsDocumentDO document = documentMapper.selectById(updateReqVO.getId());
|
|
|
+ assertPojoEquals(updateReqVO, document);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Test
|
|
|
+ public void testUpdateDocument_notExists() {
|
|
|
+
|
|
|
+ MuseumsDocumentSaveReqVO updateReqVO = randomPojo(MuseumsDocumentSaveReqVO.class);
|
|
|
+
|
|
|
+
|
|
|
+ assertServiceException(() -> documentService.updateDocument(updateReqVO), DOCUMENT_NOT_EXISTS);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Test
|
|
|
+ public void testDeleteDocument_success() {
|
|
|
+
|
|
|
+ MuseumsDocumentDO dbDocument = randomPojo(MuseumsDocumentDO.class);
|
|
|
+ documentMapper.insert(dbDocument);
|
|
|
+
|
|
|
+ Integer id = dbDocument.getId();
|
|
|
+
|
|
|
+
|
|
|
+ documentService.deleteDocument(id);
|
|
|
+
|
|
|
+ assertNull(documentMapper.selectById(id));
|
|
|
+ }
|
|
|
+
|
|
|
+ @Test
|
|
|
+ public void testDeleteDocument_notExists() {
|
|
|
+
|
|
|
+ Integer id = randomIntegerId();
|
|
|
+
|
|
|
+
|
|
|
+ assertServiceException(() -> documentService.deleteDocument(id), DOCUMENT_NOT_EXISTS);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Test
|
|
|
+ @Disabled
|
|
|
+ public void testGetDocumentPage() {
|
|
|
+
|
|
|
+ MuseumsDocumentDO dbDocument = randomPojo(MuseumsDocumentDO.class, o -> {
|
|
|
+ o.setFileName(null);
|
|
|
+ o.setConfigId(null);
|
|
|
+ o.setPath(null);
|
|
|
+ o.setUrl(null);
|
|
|
+ o.setFileSize(null);
|
|
|
+ o.setFileType(null);
|
|
|
+ o.setUploadDate(null);
|
|
|
+ o.setUploadedBy(null);
|
|
|
+ o.setCreateTime(null);
|
|
|
+ });
|
|
|
+ documentMapper.insert(dbDocument);
|
|
|
+
|
|
|
+ documentMapper.insert(cloneIgnoreId(dbDocument, o -> o.setFileName(null)));
|
|
|
+
|
|
|
+ documentMapper.insert(cloneIgnoreId(dbDocument, o -> o.setConfigId(null)));
|
|
|
+
|
|
|
+ documentMapper.insert(cloneIgnoreId(dbDocument, o -> o.setPath(null)));
|
|
|
+
|
|
|
+ documentMapper.insert(cloneIgnoreId(dbDocument, o -> o.setUrl(null)));
|
|
|
+
|
|
|
+ documentMapper.insert(cloneIgnoreId(dbDocument, o -> o.setFileSize(null)));
|
|
|
+
|
|
|
+ documentMapper.insert(cloneIgnoreId(dbDocument, o -> o.setFileType(null)));
|
|
|
+
|
|
|
+ documentMapper.insert(cloneIgnoreId(dbDocument, o -> o.setUploadDate(null)));
|
|
|
+
|
|
|
+ documentMapper.insert(cloneIgnoreId(dbDocument, o -> o.setUploadedBy(null)));
|
|
|
+
|
|
|
+ documentMapper.insert(cloneIgnoreId(dbDocument, o -> o.setCreateTime(null)));
|
|
|
+
|
|
|
+ MuseumsDocumentPageReqVO reqVO = new MuseumsDocumentPageReqVO();
|
|
|
+ reqVO.setFileName(null);
|
|
|
+ reqVO.setConfigId(null);
|
|
|
+ reqVO.setPath(null);
|
|
|
+ reqVO.setUrl(null);
|
|
|
+ reqVO.setFileSize(null);
|
|
|
+ reqVO.setFileType(null);
|
|
|
+ reqVO.setUploadDate(buildBetweenTime(2023, 2, 1, 2023, 2, 28));
|
|
|
+ reqVO.setUploadedBy(null);
|
|
|
+ reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28));
|
|
|
+
|
|
|
+
|
|
|
+ PageResult<MuseumsDocumentDO> pageResult = documentService.getDocumentPage(reqVO);
|
|
|
+
|
|
|
+ assertEquals(1, pageResult.getTotal());
|
|
|
+ assertEquals(1, pageResult.getList().size());
|
|
|
+ assertPojoEquals(dbDocument, pageResult.getList().get(0));
|
|
|
+ }
|
|
|
+
|
|
|
+}
|