Skip to content

Commit

Permalink
Délègue affichage en XML au requêteur
Browse files Browse the repository at this point in the history
Co-authored-by: Fabien Lamarque <[email protected]>
  • Loading branch information
egaillot and Fabinout committed Sep 12, 2024
1 parent 3e2d15a commit ac125ea
Show file tree
Hide file tree
Showing 3 changed files with 55 additions and 18 deletions.
22 changes: 4 additions & 18 deletions src/ebms/requeteJustificatif.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
const EnteteRequete = require('./enteteRequete');
const Fournisseur = require('./fournisseur');
const Message = require('./message');
const Requeteur = require('./requeteur');
const TypeJustificatif = require('./typeJustificatif');

class RequeteJustificatif extends Message {
Expand All @@ -13,6 +14,7 @@ class RequeteJustificatif extends Message {
destinataire = {},
fournisseur = new Fournisseur(),
idConversation = config.adaptateurUUID.genereUUID(),
requeteur = new Requeteur(),
typeJustificatif = new TypeJustificatif({}),
previsualisationRequise = false,
} = {},
Expand All @@ -21,6 +23,7 @@ class RequeteJustificatif extends Message {

this.codeDemarche = codeDemarche;
this.fournisseur = fournisseur;
this.requeteur = requeteur;
this.typeJustificatif = typeJustificatif;
this.previsualisationRequise = previsualisationRequise;
}
Expand Down Expand Up @@ -80,24 +83,7 @@ class RequeteJustificatif extends Message {
</rim:Element>
</rim:SlotValue>
</rim:Slot>
<rim:Slot name="EvidenceRequester">
<rim:SlotValue xsi:type="rim:CollectionValueType" collectionType="urn:oasis:names:tc:ebxml-regrep:CollectionType:Set">
<rim:Element xsi:type="rim:AnyValueType">
<sdg:Agent>
<sdg:Identifier schemeID="urn:oasis:names:tc:ebcore:partyid-type:unregistered:FR">123456</sdg:Identifier>
<sdg:Name lang="FR">Un requêteur français</sdg:Name>
<sdg:Classification>ER</sdg:Classification>
</sdg:Agent>
</rim:Element>
<rim:Element xsi:type="rim:AnyValueType">
<sdg:Agent>
<sdg:Identifier schemeID="urn:oasis:names:tc:ebcore:partyid-type:unregistered:FR">OOTSFRANCE</sdg:Identifier>
<sdg:Name lang="EN">OOTS-France Intermediary Platform</sdg:Name>
<sdg:Classification>IP</sdg:Classification>
</sdg:Agent>
</rim:Element>
</rim:SlotValue>
</rim:Slot>
${this.requeteur.enXML()}
${this.fournisseur.enXML()}
<query:ResponseOption returnType="LeafClassWithRepositoryItem"/>
<query:Query queryDefinition="DocumentQuery">
Expand Down
23 changes: 23 additions & 0 deletions src/ebms/requeteur.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,29 @@ class Requeteur {
this.nom = donnees.nom;
this.url = donnees.url;
}

enXML() {
return `
<rim:Slot name="EvidenceRequester">
<rim:SlotValue xsi:type="rim:CollectionValueType" collectionType="urn:oasis:names:tc:ebxml-regrep:CollectionType:Set">
<rim:Element xsi:type="rim:AnyValueType">
<sdg:Agent>
<sdg:Identifier schemeID="urn:oasis:names:tc:ebcore:partyid-type:unregistered:FR">${this.id}</sdg:Identifier>
<sdg:Name lang="FR">${this.nom}</sdg:Name>
<sdg:Classification>ER</sdg:Classification>
</sdg:Agent>
</rim:Element>
<rim:Element xsi:type="rim:AnyValueType">
<sdg:Agent>
<sdg:Identifier schemeID="urn:oasis:names:tc:ebcore:partyid-type:unregistered:FR">OOTSFRANCE</sdg:Identifier>
<sdg:Name lang="EN">OOTS-France Intermediary Platform</sdg:Name>
<sdg:Classification>IP</sdg:Classification>
</sdg:Agent>
</rim:Element>
</rim:SlotValue>
</rim:Slot>
`;
}
}

module.exports = Requeteur;
28 changes: 28 additions & 0 deletions test/ebms/requeteur.spec.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
const Requeteur = require('../../src/ebms/requeteur');

describe('Un requêteur', () => {
it("s'affiche en XML", () => {
const requeteur = new Requeteur({ id: '123456', nom: 'Un requêteur français' });

expect(requeteur.enXML()).toBe(`
<rim:Slot name="EvidenceRequester">
<rim:SlotValue xsi:type="rim:CollectionValueType" collectionType="urn:oasis:names:tc:ebxml-regrep:CollectionType:Set">
<rim:Element xsi:type="rim:AnyValueType">
<sdg:Agent>
<sdg:Identifier schemeID="urn:oasis:names:tc:ebcore:partyid-type:unregistered:FR">123456</sdg:Identifier>
<sdg:Name lang="FR">Un requêteur français</sdg:Name>
<sdg:Classification>ER</sdg:Classification>
</sdg:Agent>
</rim:Element>
<rim:Element xsi:type="rim:AnyValueType">
<sdg:Agent>
<sdg:Identifier schemeID="urn:oasis:names:tc:ebcore:partyid-type:unregistered:FR">OOTSFRANCE</sdg:Identifier>
<sdg:Name lang="EN">OOTS-France Intermediary Platform</sdg:Name>
<sdg:Classification>IP</sdg:Classification>
</sdg:Agent>
</rim:Element>
</rim:SlotValue>
</rim:Slot>
`);
});
});

0 comments on commit ac125ea

Please sign in to comment.