test(transcription): listener no-op when no block references the renamed person
Save a block with no sidecar entries, fire a rename event for an unrelated person, and assert the block reloads with its original text and empty sidecar. Confirms findByMentionedPersons_PersonId returns an empty list and the saveAll path does not accidentally touch unrelated rows. Refs #362 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -95,4 +95,22 @@ class PersonMentionPropagationListenerTest {
|
|||||||
.extracting(PersonMention::getDisplayName)
|
.extracting(PersonMention::getDisplayName)
|
||||||
.containsExactly("Augusta Raddatz");
|
.containsExactly("Augusta Raddatz");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void leavesUnrelatedBlockUntouched_whenNoSidecarReferencesPerson() {
|
||||||
|
UUID personId = savedPersonId("Auguste", "Raddatz");
|
||||||
|
TranscriptionBlock saved = saveBlock(
|
||||||
|
"Plain text without any mentions.",
|
||||||
|
List.of());
|
||||||
|
em.clear();
|
||||||
|
|
||||||
|
listener.onPersonDisplayNameChanged(
|
||||||
|
new PersonDisplayNameChangedEvent(personId, "Auguste Raddatz", "Augusta Raddatz"));
|
||||||
|
blockRepository.flush();
|
||||||
|
em.clear();
|
||||||
|
|
||||||
|
TranscriptionBlock reloaded = blockRepository.findById(saved.getId()).orElseThrow();
|
||||||
|
assertThat(reloaded.getText()).isEqualTo("Plain text without any mentions.");
|
||||||
|
assertThat(reloaded.getMentionedPersons()).isEmpty();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user