diff --git a/src/app/structure-list/components/structure-details/structure-details.component.spec.ts b/src/app/structure-list/components/structure-details/structure-details.component.spec.ts index 46990d19a415f1b9e73e905e7820e23cdb20d47a..0b7a461151dfc972c2245ea0dd5ee8f6a72c0fd8 100644 --- a/src/app/structure-list/components/structure-details/structure-details.component.spec.ts +++ b/src/app/structure-list/components/structure-details/structure-details.component.spec.ts @@ -1,6 +1,9 @@ import { HttpClientTestingModule } from '@angular/common/http/testing'; import { ComponentFixture, TestBed } from '@angular/core/testing'; - +import { Structure } from '../../../models/structure.model'; +import { AccessModality } from '../../enum/access-modality.enum'; +import { Category } from '../../models/category.model'; +import { Module } from '../../models/module.model'; import { StructureDetailsComponent } from './structure-details.component'; describe('StructureDetailsComponent', () => { @@ -18,9 +21,54 @@ describe('StructureDetailsComponent', () => { fixture = TestBed.createComponent(StructureDetailsComponent); component = fixture.componentInstance; fixture.detectChanges(); + let structure: Structure = new Structure(); + structure.lesCompetencesDeBase = ['123', '234', '817']; + component.structure = structure; }); it('should create', () => { expect(component).toBeTruthy(); }); + + it('should emit close action', () => { + spyOn(component.closeDetails, 'emit'); + component.close(); + expect(component.closeDetails.emit).toHaveBeenCalled(); + expect(component.closeDetails.emit).toHaveBeenCalledWith(true); + }); + + it('should return icon name with a string input', () => { + const iconNameGroup = component.getAccessIcon(AccessModality.free); + const iconNameCalendar = component.getAccessIcon(AccessModality.meeting); + const iconNameTel = component.getAccessIcon(AccessModality.numeric); + expect(iconNameGroup).toEqual('group'); + expect(iconNameCalendar).toEqual('calendar'); + expect(iconNameTel).toEqual('tel'); + }); + + it('should update array with right modules', () => { + let baseSkillssReferentiel = new Category(); + let accessRightsReferentiel = new Category(); + const mo1 = new Module('132', 'Uniquement sur RDV'); + const mo2 = new Module('145', 'Accès libre'); + const mo3 = new Module('112', 'Téléphone / Visio'); + const arrayModule: Module[] = [mo1, mo2, mo3]; + const m1 = new Module('260', 'm1'); + const m2 = new Module('259', 'm2'); + const m3 = new Module('261', 'm3'); + const m4 = new Module('249', 'm4'); + const m5 = new Module('222', 'm5'); + const arrayModuleBase: Module[] = [m1, m2, m3, m4, m5]; + baseSkillssReferentiel.name = 'categ2'; + baseSkillssReferentiel.modules = arrayModuleBase; + component.baseSkillssReferentiel = baseSkillssReferentiel; + accessRightsReferentiel.name = 'categ1'; + accessRightsReferentiel.modules = arrayModule; + component.accessRightsReferentiel = accessRightsReferentiel; + component.structure.lesCompetencesDeBase = ['260', '261']; + component.structure.accesAuxDroits = ['145', '112']; + component.setServiceCategories(); + expect(component.baseSkills).toEqual([m1, m3]); + expect(component.accessRights).toEqual([mo2, mo3]); + }); }); diff --git a/src/app/structure-list/components/structure-details/structure-details.component.ts b/src/app/structure-list/components/structure-details/structure-details.component.ts index ff53b7c38e0d39c97a87b2b0f766c6b01a7217dc..26bda928a07623c386d9d122c09390272c312c5b 100644 --- a/src/app/structure-list/components/structure-details/structure-details.component.ts +++ b/src/app/structure-list/components/structure-details/structure-details.component.ts @@ -53,15 +53,13 @@ export class StructureDetailsComponent implements OnInit { } public setServiceCategories(): void { - this.baseSkills = this.toNumbers(this.structure.lesCompetencesDeBase).map((skill) => + this.baseSkills = this.structure.lesCompetencesDeBase.map((skill) => _.find(this.baseSkillssReferentiel.modules, { id: skill }) ); - this.accessRights = this.toNumbers(this.structure.accesAuxDroits).map((rights) => + this.accessRights = this.structure.accesAuxDroits.map((rights) => _.find(this.accessRightsReferentiel.modules, { id: rights }) ); } public keepOriginalOrder = (a, b) => a.key; - - public toNumbers = (arr) => arr.map(Number); } diff --git a/src/app/structure-list/models/category.model.ts b/src/app/structure-list/models/category.model.ts index 030f7fe827c535a481d2e8ff5eb6963edaf7e136..473e6e5d0ce523d25635a214749fd267e59c745d 100644 --- a/src/app/structure-list/models/category.model.ts +++ b/src/app/structure-list/models/category.model.ts @@ -6,7 +6,10 @@ export class Category { constructor(obj?: any) { Object.assign(this, obj, { - modules: obj && obj.modules ? obj.modules.map((module) => new Module(module.id, module.text)) : null, + modules: + obj && obj.modules + ? obj.modules.map((module) => new Module(module.display_id ? module.display_id : module.id, module.text)) + : null, }); } diff --git a/src/app/structure-list/services/search.service.ts b/src/app/structure-list/services/search.service.ts index de2252c1ff9c7b86c9c987b499b507a630659080..3f57cd50fdf4e9273328c9758b63f0fe1bae20e4 100644 --- a/src/app/structure-list/services/search.service.ts +++ b/src/app/structure-list/services/search.service.ts @@ -36,8 +36,6 @@ export class SearchService { public setCountModules(category: Category, structureCountTab: StructureCounter[]): Category { category.modules.forEach((m: Module) => { for (let i = 0; i < structureCountTab.length; i++) { - // Force type - m.id = m.id.toString(); if (structureCountTab[i].id === m.id) { m.count = structureCountTab[i].count; }