From c2723968362b68e77690c83ab4f36d03294e69f9 Mon Sep 17 00:00:00 2001 From: Sven Strittmatter Date: Tue, 31 May 2022 21:14:29 +0200 Subject: [PATCH] #8 Append EN suffix to achievable skill model in frontend Signed-off-by: Sven Strittmatter --- .../achievable-skill/achievable-skill.model.ts | 8 ++++---- .../shared/pipe/achievable-skill-filter.pipe.ts | 3 ++- .../custom/teams/skills/teams-skills.component.html | 6 ++++-- .../teams/skills/teams-skills.component.spec.ts | 12 ++++++------ .../custom/teams/skills/teams-skills.component.ts | 2 +- 5 files changed, 17 insertions(+), 14 deletions(-) diff --git a/src/main/webapp/app/custom/entities/achievable-skill/achievable-skill.model.ts b/src/main/webapp/app/custom/entities/achievable-skill/achievable-skill.model.ts index 426ab1d8..46da5760 100644 --- a/src/main/webapp/app/custom/entities/achievable-skill/achievable-skill.model.ts +++ b/src/main/webapp/app/custom/entities/achievable-skill/achievable-skill.model.ts @@ -5,8 +5,8 @@ export interface IAchievableSkill { id?: number; teamSkillId?: number; skillId?: number; - title?: string; - description?: string | null; + titleEN?: string; + descriptionEN?: string | null; achievedAt?: Moment; verifiedAt?: Moment; vote?: number; @@ -22,8 +22,8 @@ export class AchievableSkill implements IAchievableSkill { constructor( public id?: number, public skillId?: number, - public title?: string, - public description?: string | null, + public titleEN?: string, + public descriptionEN?: string | null, public achievedAt?: Moment, public verifiedAt?: Moment, public vote?: number, diff --git a/src/main/webapp/app/custom/shared/pipe/achievable-skill-filter.pipe.ts b/src/main/webapp/app/custom/shared/pipe/achievable-skill-filter.pipe.ts index 4edda7bc..7f416daa 100644 --- a/src/main/webapp/app/custom/shared/pipe/achievable-skill-filter.pipe.ts +++ b/src/main/webapp/app/custom/shared/pipe/achievable-skill-filter.pipe.ts @@ -4,6 +4,7 @@ import { IAchievableSkill } from 'app/custom/entities/achievable-skill/achievabl @Pipe({ name: 'achievableSkillFilter' }) export class AchievableSkillFilterPipe implements PipeTransform { transform(skills: IAchievableSkill[], searchString: string): IAchievableSkill[] { - return skills.filter(skill => (skill.title ?? '').toLowerCase().includes(searchString.toLowerCase())); + // FIXME: #8 Localize title attribute here. + return skills.filter(skill => (skill.titleEN ?? '').toLowerCase().includes(searchString.toLowerCase())); } } diff --git a/src/main/webapp/app/custom/teams/skills/teams-skills.component.html b/src/main/webapp/app/custom/teams/skills/teams-skills.component.html index 961fb85a..8444b66c 100644 --- a/src/main/webapp/app/custom/teams/skills/teams-skills.component.html +++ b/src/main/webapp/app/custom/teams/skills/teams-skills.component.html @@ -46,10 +46,12 @@

{{ 'teamDojoApp.teams.skills.title' | translate }}

diff --git a/src/main/webapp/app/custom/teams/skills/teams-skills.component.spec.ts b/src/main/webapp/app/custom/teams/skills/teams-skills.component.spec.ts index 8d0a3d63..05ed3c8f 100644 --- a/src/main/webapp/app/custom/teams/skills/teams-skills.component.spec.ts +++ b/src/main/webapp/app/custom/teams/skills/teams-skills.component.spec.ts @@ -91,13 +91,13 @@ describe('Component Tests', () => { expect(teamId).toEqual(125); expect(aSkill).toBeTruthy(); expect((aSkill as IAchievableSkill).skillId).toEqual(1100); - expect((aSkill as IAchievableSkill).title).toEqual('Input Validation'); + expect((aSkill as IAchievableSkill).titleEN).toEqual('Input Validation'); expect((aSkill as IAchievableSkill).skillStatus).toEqual(SkillStatus.OPEN); expect((aSkill as IAchievableSkill).irrelevant).toEqual(!clickedOnce); const achievableSkill = { teamSkillId: 1553, skillId: (aSkill as IAchievableSkill).skillId, - title: (aSkill as IAchievableSkill).title, + title: (aSkill as IAchievableSkill).titleEN, irrelevant: (aSkill as IAchievableSkill).irrelevant, skillStatus: clickedOnce ? SkillStatus.OPEN : SkillStatus.IRRELEVANT, }; @@ -118,7 +118,7 @@ describe('Component Tests', () => { expect(ev.achievableSkill).toBeDefined(); expect(ev.achievableSkill?.teamSkillId).toEqual(1553); expect(ev.achievableSkill?.skillId).toEqual(1100); - expect(ev.achievableSkill?.title).toEqual('Input Validation'); + expect(ev.achievableSkill?.titleEN).toEqual('Input Validation'); expect(ev.achievableSkill?.irrelevant).toEqual(!clickedOnce); expect(ev.achievableSkill?.skillStatus).toEqual(!clickedOnce ? SkillStatus.IRRELEVANT : SkillStatus.OPEN); if (clickedOnce) { @@ -146,13 +146,13 @@ describe('Component Tests', () => { expect(teamId).toEqual(160); expect(aSkill).toBeTruthy(); expect((aSkill as IAchievableSkill).skillId).toEqual(1500); - expect((aSkill as IAchievableSkill).title).toEqual('Strong passwords'); + expect((aSkill as IAchievableSkill).titleEN).toEqual('Strong passwords'); expect((aSkill as IAchievableSkill).skillStatus).toEqual(clickedOnce ? SkillStatus.ACHIEVED : SkillStatus.OPEN); expect((aSkill as IAchievableSkill).irrelevant).toEqual(false); const achievableSkill = { teamSkillId: 1556, skillId: (aSkill as IAchievableSkill).skillId, - title: (aSkill as IAchievableSkill).title, + title: (aSkill as IAchievableSkill).titleEN, irrelevant: (aSkill as IAchievableSkill).irrelevant, skillStatus: clickedOnce ? SkillStatus.OPEN : SkillStatus.ACHIEVED, achievedAt: !clickedOnce ? moment() : undefined, @@ -173,7 +173,7 @@ describe('Component Tests', () => { expect(ev.achievableSkill).toBeDefined(); expect(ev.achievableSkill?.teamSkillId).toEqual(1556); expect(ev.achievableSkill?.skillId).toEqual(1500); - expect(ev.achievableSkill?.title).toEqual('Strong passwords'); + expect(ev.achievableSkill?.titleEN).toEqual('Strong passwords'); expect(ev.achievableSkill?.irrelevant).toEqual(false); expect(ev.achievableSkill?.skillStatus).toEqual(!clickedOnce ? SkillStatus.ACHIEVED : SkillStatus.OPEN); if (ev.achievableSkill != null) { diff --git a/src/main/webapp/app/custom/teams/skills/teams-skills.component.ts b/src/main/webapp/app/custom/teams/skills/teams-skills.component.ts index e8f15c2f..4d1d1f4b 100644 --- a/src/main/webapp/app/custom/teams/skills/teams-skills.component.ts +++ b/src/main/webapp/app/custom/teams/skills/teams-skills.component.ts @@ -52,7 +52,7 @@ export class TeamsSkillsComponent implements OnInit, OnChanges { activeSkill: ISkill | null = null; search$: Subject = new Subject(); search = ''; - orderBy: keyof IAchievableSkill = 'title'; + orderBy: keyof IAchievableSkill = 'titleEN'; // FIXME: #8 Localize attribute here. hasAuthority = false; constructor(