feat(tags): gestion des tags dans le formulaire carte (max 3, suggestions, normalisation)
- schéma zod : tags normalisés (trim + minuscules + dédupe), 3 max par carte - couche générique : findTags (MySQL + Mongo), service tags() - API GET /api/tags + cardsApi.tags() pour les suggestions - formulaire : saisie + ajout (Entrée/bouton), suggestions des tags existants, chips supprimables, compteur n/3, blocage au-delà de 3 - tests : schémas, repositories, service, route, api-client, formulaire
This commit is contained in:
1 parent
31283ada26
commit
67569e2d16
18 files changed
+334
-8
No files matched your search
@@ -74,6 +74,12 @@ describe('cardsApi', () => {
|
||||
expectRequest('GET', '/api/themes')
|
||||
})
|
||||
|
||||
it('tags() appelle GET /api/tags', async () => {
|
||||
fetchMock.mockResolvedValue(jsonResponse(['scope', 'fonction']))
|
||||
await expect(cardsApi.tags()).resolves.toEqual(['scope', 'fonction'])
|
||||
expectRequest('GET', '/api/tags')
|
||||
})
|
||||
|
||||
it('lève ApiClientError avec le message de l API sur une erreur 404', async () => {
|
||||
fetchMock.mockResolvedValue(
|
||||
jsonResponse({ error: 'NotFoundError', message: 'Carte inconnue' }, 404),
|
||||
|
||||
Reference in new issue
Block a user