Files
parenthese/frontend/src/utils/searchResultChanges.test.js
T
IliesAllaliandClaude Opus 5.5 7c9ea3c95e Chercher quelqu'un : créer la personne trouvée, rattachée à un proche
« Ajouter à l'arbre » s'ouvre sur Nouvelle personne : lien (parent, enfant, conjoint,
frère ou sœur) et proche dans l'arbre, par le même chemin qu'« Ajouter quelqu'un ».
Dates, lieux, sexe, source en note, à vérifier. « Déjà dans l'arbre » complète une fiche.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 18:15:03 +01:00

49 lines
2.0 KiB
JavaScript

import { describe, expect, it } from 'vitest'
import { changesFromResult, personFromResult } from './searchResultChanges.js'
const RESULT = {
id: 'abc123',
birth: { date: '1898-03-14', place: 'Tulle (19)' },
death: { date: '1987-11-08', place: 'Limoges (87)' },
url: 'https://deces.matchid.io/id/abc123',
}
describe('changesFromResult', () => {
it('remplit les champs vides, marque à vérifier et note la source', () => {
const person = { firstName: 'Jean', lastName: 'Dupont', birthYear: 1898, birthPlace: 'Tulle', note: 'Menuisier' }
expect(changesFromResult(person, RESULT, 'Décès en France depuis 1970')).toEqual({
deathYear: '1987-11-08',
deathPlace: 'Limoges (87)',
toVerify: true,
note: 'Menuisier\nDécès en France depuis 1970 : https://deces.matchid.io/id/abc123',
})
})
it("ne touche jamais une valeur déjà saisie, et ne rend rien s'il n'y a rien de nouveau", () => {
const complete = { birthDate: '1898-01-01', birthPlace: 'Tulle', deathDate: '1987-01-01', deathPlace: 'Limoges' }
expect(changesFromResult(complete, RESULT, 'Décès')).toBeNull()
})
it('crée une nouvelle personne rattachée, à vérifier, avec sa source', () => {
const result = { ...RESULT, firstName: 'Jean Louis', lastName: 'Dupont', sex: 'M', birth: { date: '1898', place: 'Tulle (19)' } }
expect(personFromResult(result, 'Décès', { personId: 'p1', type: 'parent' })).toEqual({
firstName: 'Jean Louis',
lastName: 'Dupont',
sex: 'male',
birthDate: '1898-01-01',
deathDate: '1987-11-08',
birthPlace: 'Tulle (19)',
deathPlace: 'Limoges (87)',
isDeceased: false,
toVerify: true,
notes: 'Décès : https://deces.matchid.io/id/abc123',
relations: [{ personId: 'p1', type: 'parent' }],
})
})
it("n'ajoute pas deux fois la même source à la note", () => {
const person = { note: 'Décès : https://deces.matchid.io/id/abc123' }
expect(changesFromResult(person, RESULT, 'Décès').note).toBe('Décès : https://deces.matchid.io/id/abc123')
})
})