feat(transcription): person @mention sidecar + rename propagation (PR-A backend, #362) #366
@@ -96,6 +96,32 @@ class PersonMentionPropagationListenerTest {
|
|||||||
.containsExactly("Augusta Raddatz");
|
.containsExactly("Augusta Raddatz");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void doesNotMatchPartialName_whenAnotherMentionShares_a_substring_with_renamed_person() {
|
||||||
|
UUID hansPeterId = savedPersonId("Hans-Peter", "Müller");
|
||||||
|
UUID hansId = savedPersonId("Hans", "Müller");
|
||||||
|
TranscriptionBlock saved = saveBlock(
|
||||||
|
"Heute hat @Hans-Peter Müller wieder mit @Hans Müller gesprochen.",
|
||||||
|
List.of(
|
||||||
|
new PersonMention(hansPeterId, "Hans-Peter Müller"),
|
||||||
|
new PersonMention(hansId, "Hans Müller")));
|
||||||
|
em.clear();
|
||||||
|
|
||||||
|
listener.onPersonDisplayNameChanged(
|
||||||
|
new PersonDisplayNameChangedEvent(hansId, "Hans Müller", "Hans Schmidt"));
|
||||||
|
blockRepository.flush();
|
||||||
|
em.clear();
|
||||||
|
|
||||||
|
TranscriptionBlock reloaded = blockRepository.findById(saved.getId()).orElseThrow();
|
||||||
|
assertThat(reloaded.getText())
|
||||||
|
.isEqualTo("Heute hat @Hans-Peter Müller wieder mit @Hans Schmidt gesprochen.");
|
||||||
|
assertThat(reloaded.getMentionedPersons())
|
||||||
|
.extracting(PersonMention::getPersonId, PersonMention::getDisplayName)
|
||||||
|
.containsExactlyInAnyOrder(
|
||||||
|
org.assertj.core.groups.Tuple.tuple(hansPeterId, "Hans-Peter Müller"),
|
||||||
|
org.assertj.core.groups.Tuple.tuple(hansId, "Hans Schmidt"));
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void leavesUnrelatedBlockUntouched_whenNoSidecarReferencesPerson() {
|
void leavesUnrelatedBlockUntouched_whenNoSidecarReferencesPerson() {
|
||||||
UUID personId = savedPersonId("Auguste", "Raddatz");
|
UUID personId = savedPersonId("Auguste", "Raddatz");
|
||||||
|
|||||||
Reference in New Issue
Block a user