-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[CORRECTION] Retourne une liste, même si la collection ebMS ne contie…
…nt qu'un élément À l'heure actuel, on renvoie toujours le contenu de `Element`, qui avec le parser XML qu'on utilise, peut renvoyer un objet ou une liste, suivant qu'il y a 1 ou n éléments. Cela pose problème quand on fait un `map` sur ce qui est une liste ou pas, et qui peut lever une erreur. C'est ce qui arrive pour les états membres qui ne saisissent qu'un seul requêteur (là où la doc suggère d'ajouter aussi le requêteur de la plate-forme intermédiaire). Ce commit corrige l'anomalie.
- Loading branch information
Showing
3 changed files
with
38 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
const { valeurSlot } = require('../../src/ebms/utils'); | ||
|
||
describe('`valeurSlot` pour un slot de type `rim:CollectionValueType`', () => { | ||
it('retourne une liste', () => { | ||
const xmlParse = { | ||
Slot: [{ | ||
'@_name': 'Chaines', | ||
SlotValue: { | ||
'@_type': 'rim:CollectionValueType', | ||
Element: [ | ||
{ Chaine: 'Un truc' }, | ||
{ Chaine: 'Un autre truc' }, | ||
], | ||
}, | ||
}], | ||
}; | ||
|
||
const chaines = valeurSlot('Chaines', xmlParse).map((v) => v.Chaine); | ||
expect(chaines).toEqual(['Un truc', 'Un autre truc']); | ||
}); | ||
|
||
it("retourne une liste, même s'il n'y a qu'un seul élément dans la collection", () => { | ||
const xmlParse = { | ||
Slot: [{ | ||
'@_name': 'Chaines', | ||
SlotValue: { | ||
'@_type': 'rim:CollectionValueType', | ||
Element: { Chaine: 'Un truc' }, | ||
}, | ||
}], | ||
}; | ||
|
||
const chaines = valeurSlot('Chaines', xmlParse).map((v) => v.Chaine); | ||
expect(chaines).toEqual(['Un truc']); | ||
}); | ||
}); |