Skip to content

Commit 2c22e9b

Browse files
committed
[DEMANDE DEVENIR AIDANT] Prendse en compte les paramètres optionnels de recherche
1 parent 5bbbb20 commit 2c22e9b

File tree

2 files changed

+28
-1
lines changed

2 files changed

+28
-1
lines changed

mon-aide-cyber-api/src/api/recherche-entreprise/routesAPIRechercheEntreprise.ts

+11-1
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,19 @@ export const routesAPIRechercheEntreprise = (
5454
suite: NextFunction
5555
) => {
5656
const nomEntreprise: string = requete.query.nom as string;
57+
const parametresRecherche = Object.entries(requete.query).reduce(
58+
(precedent, courant) => {
59+
const parametres = courant as [string, string];
60+
if (parametres[0] !== 'nom') {
61+
precedent += `&${parametres[0]}=${parametres[1]}`;
62+
}
63+
return precedent;
64+
},
65+
''
66+
);
5767
return adaptateurDeRequeteHTTP
5868
.execute<ReponseAPIRechercheEntreprise>({
59-
url: `${adaptateurEnvironnement.apiRechercheEntreprise().url()}/search?q=${encodeURIComponent(nomEntreprise)}&per_page=25&limite_matching_etablissements=1`,
69+
url: `${adaptateurEnvironnement.apiRechercheEntreprise().url()}/search?q=${encodeURIComponent(nomEntreprise)}${parametresRecherche}&per_page=25&limite_matching_etablissements=1`,
6070
headers: { Accept: 'application/json' },
6171
methode: 'GET',
6272
})

mon-aide-cyber-api/test/api/recherche-entreprise/routesAPIRechercheEntreprise.spec.ts

+17
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,23 @@ describe('Le serveur MAC, sur les routes de recherche entreprise', () => {
6868
);
6969
});
7070

71+
it('Prends en compte les paramètres de requêtes optionnels', async () => {
72+
testeurMAC.adaptateurDeRequeteHTTP.reponse({
73+
results: [{ siege: { siret: '1234567890' }, nom_complet: 'Beta-Gouv' }],
74+
});
75+
76+
await executeRequete(
77+
donneesServeur.app,
78+
'GET',
79+
'/api/recherche-entreprise?nom=beta&est_association=true',
80+
donneesServeur.portEcoute
81+
);
82+
83+
expect(testeurMAC.adaptateurDeRequeteHTTP.requeteAttendue).toStrictEqual(
84+
'/search?q=beta&est_association=true&per_page=25&limite_matching_etablissements=1'
85+
);
86+
});
87+
7188
it('Retourne une erreur si la requête a échoué', async () => {
7289
testeurMAC.adaptateurDeRequeteHTTP.reponse(
7390
{

0 commit comments

Comments
 (0)