mirror of
https://github.com/iflytek/skillhub.git
synced 2026-10-15 04:18:20 +00:00
merge: validate PR 793 archived interaction
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
This commit is contained in:
commit
30b79bccef
2 changed files with 31 additions and 1 deletions
|
|
@ -242,7 +242,8 @@ public class SkillQueryService {
|
|||
skill.getUpdatedAt(),
|
||||
canManageRestrictedSkill(skill, currentUserId, userNsRoles),
|
||||
canSubmitPromotion(namespace, skill, publishedVersion, currentUserId, userNsRoles),
|
||||
headlineVersion == null || "PUBLISHED".equals(headlineVersion.status()),
|
||||
skill.getStatus() == SkillStatus.ACTIVE
|
||||
&& (headlineVersion == null || "PUBLISHED".equals(headlineVersion.status())),
|
||||
currentUserId == null || !Objects.equals(skill.getOwnerId(), currentUserId),
|
||||
headlineVersion,
|
||||
publishedVersion,
|
||||
|
|
|
|||
|
|
@ -1212,6 +1212,35 @@ class SkillQueryServiceTest {
|
|||
assertTrue(result.canInteract());
|
||||
}
|
||||
|
||||
@Test
|
||||
void testGetSkillDetail_ShouldDisableInteractionForArchivedSkill() throws Exception {
|
||||
String namespaceSlug = "test-ns";
|
||||
String skillSlug = "test-skill";
|
||||
String ownerId = "owner-1";
|
||||
Map<Long, NamespaceRole> userNsRoles = Map.of();
|
||||
|
||||
Namespace namespace = new Namespace(namespaceSlug, "Test NS", ownerId);
|
||||
setId(namespace, 1L);
|
||||
Skill skill = new Skill(1L, skillSlug, ownerId, SkillVisibility.PUBLIC);
|
||||
setId(skill, 1L);
|
||||
skill.setStatus(SkillStatus.ARCHIVED);
|
||||
skill.setLatestVersionId(11L);
|
||||
|
||||
SkillVersion published = new SkillVersion(1L, "1.0.0", ownerId);
|
||||
setId(published, 11L);
|
||||
published.setStatus(SkillVersionStatus.PUBLISHED);
|
||||
|
||||
when(namespaceRepository.findBySlug(namespaceSlug)).thenReturn(Optional.of(namespace));
|
||||
when(skillRepository.findByNamespaceIdAndSlug(1L, skillSlug)).thenReturn(List.of(skill));
|
||||
when(skillVersionRepository.findById(11L)).thenReturn(Optional.of(published));
|
||||
|
||||
SkillQueryService.SkillDetailDTO result = service.getSkillDetail(namespaceSlug, skillSlug, ownerId, userNsRoles);
|
||||
|
||||
assertNotNull(result.headlineVersion());
|
||||
assertEquals("PUBLISHED", result.headlineVersion().status());
|
||||
assertFalse(result.canInteract());
|
||||
}
|
||||
|
||||
@Test
|
||||
void testGetSkillDetail_ShouldIncludeRejectedOwnerPreviewComment() throws Exception {
|
||||
String namespaceSlug = "test-ns";
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue