From a294ce791da0bfaec405f707119ba328e322ca75 Mon Sep 17 00:00:00 2001 From: wangziqi Date: Sat, 1 Aug 2026 12:33:41 +0800 Subject: [PATCH] test(education): implement authoring contract test stubs for formalized interfaces --- ...ueprintAuthoringControllerContractTest.java | 5 +++++ ...lectionAuthoringControllerContractTest.java | 5 +++++ ...entNodeAuthoringControllerContractTest.java | 5 +++++ ...uestionAuthoringControllerContractTest.java | 18 ++++++++++++++++++ 4 files changed, 33 insertions(+) diff --git a/yudao-module-education/src/test/java/cn/iocoder/yudao/module/education/controller/admin/blueprint/PracticeBlueprintAuthoringControllerContractTest.java b/yudao-module-education/src/test/java/cn/iocoder/yudao/module/education/controller/admin/blueprint/PracticeBlueprintAuthoringControllerContractTest.java index 64996f3a..b581c967 100644 --- a/yudao-module-education/src/test/java/cn/iocoder/yudao/module/education/controller/admin/blueprint/PracticeBlueprintAuthoringControllerContractTest.java +++ b/yudao-module-education/src/test/java/cn/iocoder/yudao/module/education/controller/admin/blueprint/PracticeBlueprintAuthoringControllerContractTest.java @@ -1,8 +1,11 @@ package cn.iocoder.yudao.module.education.controller.admin.blueprint; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.security.core.LoginUser; import cn.iocoder.yudao.framework.security.core.service.SecurityFrameworkService; import cn.iocoder.yudao.module.education.controller.admin.blueprint.vo.PracticeBlueprintDraftReqVO; +import cn.iocoder.yudao.module.education.dal.dataobject.catalog.PracticeBlueprintDO; import cn.iocoder.yudao.module.education.service.blueprint.authoring.PracticeBlueprintAuthoringCommand; import cn.iocoder.yudao.module.education.service.blueprint.authoring.PracticeBlueprintAuthoringService; import org.junit.jupiter.api.*; @@ -61,6 +64,8 @@ class PracticeBlueprintAuthoringControllerContractTest { } static class RecordingService implements PracticeBlueprintAuthoringService { Long actorId; + public PageResult getPage(PageParam pageParam) { return new PageResult<>(); } + public PracticeBlueprintDO get(Long id) { return null; } public Long createDraft(PracticeBlueprintAuthoringCommand c) { return 101L; } public int reviseDraft(Long id, PracticeBlueprintAuthoringCommand c) { return c.expectedAuthoringVersion() + 1; } public int activate(Long id, int v, Long actor) { actorId = actor; return v + 1; } diff --git a/yudao-module-education/src/test/java/cn/iocoder/yudao/module/education/controller/admin/collection/QuestionCollectionAuthoringControllerContractTest.java b/yudao-module-education/src/test/java/cn/iocoder/yudao/module/education/controller/admin/collection/QuestionCollectionAuthoringControllerContractTest.java index ce0c6c04..a8ca755d 100644 --- a/yudao-module-education/src/test/java/cn/iocoder/yudao/module/education/controller/admin/collection/QuestionCollectionAuthoringControllerContractTest.java +++ b/yudao-module-education/src/test/java/cn/iocoder/yudao/module/education/controller/admin/collection/QuestionCollectionAuthoringControllerContractTest.java @@ -1,9 +1,12 @@ package cn.iocoder.yudao.module.education.controller.admin.collection; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.security.core.LoginUser; import cn.iocoder.yudao.framework.security.core.service.SecurityFrameworkService; import cn.iocoder.yudao.module.education.controller.admin.collection.vo.QuestionCollectionDraftReqVO; import cn.iocoder.yudao.module.education.controller.admin.collection.vo.QuestionCollectionMembershipReqVO; +import cn.iocoder.yudao.module.education.dal.dataobject.catalog.QuestionCollectionDO; import cn.iocoder.yudao.module.education.service.collection.authoring.QuestionCollectionAuthoringCommand; import cn.iocoder.yudao.module.education.service.collection.authoring.QuestionCollectionAuthoringService; import org.junit.jupiter.api.*; @@ -69,6 +72,8 @@ class QuestionCollectionAuthoringControllerContractTest { } static class RecordingService implements QuestionCollectionAuthoringService { Long actorId; + public PageResult getPage(PageParam pageParam) { return new PageResult<>(); } + public QuestionCollectionDO get(Long id) { return null; } public Long createDraft(QuestionCollectionAuthoringCommand c) { return 101L; } public int reviseDraft(Long id, QuestionCollectionAuthoringCommand c) { return c.expectedAuthoringVersion() + 1; } public int replaceMembership(Long id, List q, int v) { return v + 1; } diff --git a/yudao-module-education/src/test/java/cn/iocoder/yudao/module/education/controller/admin/contentnode/ContentNodeAuthoringControllerContractTest.java b/yudao-module-education/src/test/java/cn/iocoder/yudao/module/education/controller/admin/contentnode/ContentNodeAuthoringControllerContractTest.java index b6bc9657..cdb18c7f 100644 --- a/yudao-module-education/src/test/java/cn/iocoder/yudao/module/education/controller/admin/contentnode/ContentNodeAuthoringControllerContractTest.java +++ b/yudao-module-education/src/test/java/cn/iocoder/yudao/module/education/controller/admin/contentnode/ContentNodeAuthoringControllerContractTest.java @@ -1,9 +1,12 @@ package cn.iocoder.yudao.module.education.controller.admin.contentnode; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.security.core.LoginUser; import cn.iocoder.yudao.framework.security.core.service.SecurityFrameworkService; import cn.iocoder.yudao.module.education.controller.admin.contentnode.vo.ContentNodeDraftReqVO; import cn.iocoder.yudao.module.education.controller.admin.contentnode.vo.ContentNodeReviseReqVO; +import cn.iocoder.yudao.module.education.dal.dataobject.catalog.ContentNodeDO; import cn.iocoder.yudao.module.education.service.contentnode.authoring.ContentNodeAuthoringCommand; import cn.iocoder.yudao.module.education.service.contentnode.authoring.ContentNodeAuthoringService; import org.junit.jupiter.api.AfterEach; @@ -87,6 +90,8 @@ class ContentNodeAuthoringControllerContractTest { static class RecordingService implements ContentNodeAuthoringService { ContentNodeAuthoringCommand command; void reset() { command = null; } + public PageResult getPage(PageParam pageParam) { return new PageResult<>(); } + public ContentNodeDO get(Long id) { return null; } public Long createDraft(ContentNodeAuthoringCommand c) { command = c; return 101L; } public int reviseDraft(Long id, ContentNodeAuthoringCommand c) { command = c; return c.expectedAuthoringVersion() + 1; } public int activate(Long id, int expected, Long actor) { return expected + 1; } diff --git a/yudao-module-education/src/test/java/cn/iocoder/yudao/module/education/controller/admin/question/QuestionAuthoringControllerContractTest.java b/yudao-module-education/src/test/java/cn/iocoder/yudao/module/education/controller/admin/question/QuestionAuthoringControllerContractTest.java index b2b419cf..fc83c9fa 100644 --- a/yudao-module-education/src/test/java/cn/iocoder/yudao/module/education/controller/admin/question/QuestionAuthoringControllerContractTest.java +++ b/yudao-module-education/src/test/java/cn/iocoder/yudao/module/education/controller/admin/question/QuestionAuthoringControllerContractTest.java @@ -1,9 +1,12 @@ package cn.iocoder.yudao.module.education.controller.admin.question; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.security.core.LoginUser; import cn.iocoder.yudao.framework.security.core.service.SecurityFrameworkService; import cn.iocoder.yudao.module.education.controller.admin.question.vo.QuestionDraftCreateReqVO; import cn.iocoder.yudao.module.education.controller.admin.question.vo.QuestionPlacementReqVO; +import cn.iocoder.yudao.module.education.dal.dataobject.catalog.QuestionDO; import cn.iocoder.yudao.module.education.service.question.authoring.QuestionDraftCommand; import cn.iocoder.yudao.module.education.service.question.authoring.QuestionPlacementCommand; import cn.iocoder.yudao.module.education.service.question.authoring.TenantQuestionLifecycleService; @@ -253,6 +256,21 @@ class QuestionAuthoringControllerContractTest { placementCommand = null; } + @Override + public PageResult getPage(PageParam pageParam) { + return new PageResult<>(); + } + + @Override + public QuestionDO get(Long questionId) { + return null; + } + + @Override + public int reviseDraft(Long questionId, QuestionDraftCommand command, int expectedContentVersion) { + return expectedContentVersion + 1; + } + int totalCalls() { int count = createdCommand != null ? 1 : 0; count += publishedQuestionId != null ? 1 : 0;