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;
         }