From f3ed85a65db71ca65b2c1d9fd6082bb2a8b56d1d Mon Sep 17 00:00:00 2001 From: "EVOFORGE\\dimay" Date: Thu, 3 Nov 2022 07:42:36 -0400 Subject: [PATCH] #1773: ensure order of the badges --- .../java/skills/storage/repos/SkillDefRepo.groovy | 2 +- .../ClientDisplaySubjSummarySpec.groovy | 13 ++++++------- .../clientDisplay/SingleSkillSummarySpec.groovy | 12 ++++++------ 3 files changed, 13 insertions(+), 14 deletions(-) diff --git a/service/src/main/java/skills/storage/repos/SkillDefRepo.groovy b/service/src/main/java/skills/storage/repos/SkillDefRepo.groovy index 55ba98562a..1f5199072b 100644 --- a/service/src/main/java/skills/storage/repos/SkillDefRepo.groovy +++ b/service/src/main/java/skills/storage/repos/SkillDefRepo.groovy @@ -296,7 +296,7 @@ interface SkillDefRepo extends PagingAndSortingRepository { from SkillDef s, SkillRelDef r, SkillDef c where s.id = r.parent and c.id = r.child and r.type='BadgeRequirement' and ( (s.type='Badge' and s.projectId=?2) or s.type='GlobalBadge') and s.enabled='true' and - c.id = r.child and c.skillId in ?1 and c.type='Skill' and c.projectId=?2 order by c.skillId''') + c.id = r.child and c.skillId in ?1 and c.type='Skill' and c.projectId=?2 order by c.skillId, s.skillId''') List findAllBadgesForSkill(List skillId, String projectId) @Query(value='''select sum(c.totalPoints) diff --git a/service/src/test/java/skills/intTests/clientDisplay/ClientDisplaySubjSummarySpec.groovy b/service/src/test/java/skills/intTests/clientDisplay/ClientDisplaySubjSummarySpec.groovy index 6a30194b1c..9f7cfeda58 100644 --- a/service/src/test/java/skills/intTests/clientDisplay/ClientDisplaySubjSummarySpec.groovy +++ b/service/src/test/java/skills/intTests/clientDisplay/ClientDisplaySubjSummarySpec.groovy @@ -408,6 +408,12 @@ class ClientDisplaySubjSummarySpec extends DefaultIntSpec { skillsService.createSubject(proj1_subj) skillsService.createSkills(allSkills) + Map badge2 = SkillsFactory.createBadge(1, 2) + skillsService.createBadge(badge2) + skillsService.assignSkillToBadge(proj1.projectId, badge2.badgeId, allSkills[0].skillId) + badge2.enabled = true + skillsService.updateBadge(badge2, badge2.badgeId) + Map badge1 = SkillsFactory.createBadge(1, 1) skillsService.createBadge(badge1) allSkills.each { @@ -416,12 +422,6 @@ class ClientDisplaySubjSummarySpec extends DefaultIntSpec { badge1.enabled = true skillsService.updateBadge(badge1, badge1.badgeId) - Map badge2 = SkillsFactory.createBadge(1, 2) - skillsService.createBadge(badge2) - skillsService.assignSkillToBadge(proj1.projectId, badge2.badgeId, allSkills[0].skillId) - badge2.enabled = true - skillsService.updateBadge(badge2, badge2.badgeId) - when: def summary = skillsService.getSkillSummary("user1", proj1.projectId, proj1_subj.subjectId) then: @@ -430,7 +430,6 @@ class ClientDisplaySubjSummarySpec extends DefaultIntSpec { summary.skills[0].badges[0].badgeId == badge1.badgeId summary.skills[0].badges[1].badgeId == badge2.badgeId summary.skills[1..2].every { it.badges.size() == 1 && it.badges[0].badgeId == badge1.badgeId } - } def "load subject summary with badges in a group"(){ diff --git a/service/src/test/java/skills/intTests/clientDisplay/SingleSkillSummarySpec.groovy b/service/src/test/java/skills/intTests/clientDisplay/SingleSkillSummarySpec.groovy index a782af881e..fd4fc6305e 100644 --- a/service/src/test/java/skills/intTests/clientDisplay/SingleSkillSummarySpec.groovy +++ b/service/src/test/java/skills/intTests/clientDisplay/SingleSkillSummarySpec.groovy @@ -1192,6 +1192,12 @@ class SingleSkillSummarySpec extends DefaultIntSpec { skillsService.createSubject(proj1_subj) skillsService.createSkills(allSkills) + Map badge2 = SkillsFactory.createBadge(1, 2) + badge2.enabled = true + supervisorService.createGlobalBadge(badge2) + supervisorService.assignSkillToGlobalBadge(proj1.projectId, badge2.badgeId, allSkills[0].skillId) + supervisorService.updateGlobalBadge(badge2, badge2.badgeId) + Map badge1 = SkillsFactory.createBadge(1, 1) skillsService.createBadge(badge1) allSkills.each { @@ -1200,12 +1206,6 @@ class SingleSkillSummarySpec extends DefaultIntSpec { badge1.enabled = true skillsService.updateBadge(badge1, badge1.badgeId) - Map badge2 = SkillsFactory.createBadge(1, 2) - badge2.enabled = true - supervisorService.createGlobalBadge(badge2) - supervisorService.assignSkillToGlobalBadge(proj1.projectId, badge2.badgeId, allSkills[0].skillId) - supervisorService.updateGlobalBadge(badge2, badge2.badgeId) - when: def summary = skillsService.getSingleSkillSummaryWithSubject("user1", proj1.projectId, proj1_subj.subjectId, allSkills[0].skillId) then: