feat(lesereisen): data model + Flyway migration — GeschichteType, JourneyItem, migrate geschichten_documents #787
@@ -130,6 +130,22 @@ describe('StoryReader', () => {
|
||||
expect(ondelete).toHaveBeenCalledOnce();
|
||||
});
|
||||
|
||||
it('person chip link meets 44px touch-target minimum height', async () => {
|
||||
render(StoryReader, {
|
||||
context: ctx(),
|
||||
props: {
|
||||
geschichte: baseGeschichte({
|
||||
persons: [{ id: 'p1', firstName: 'Helene', lastName: 'Schmidt' }]
|
||||
}),
|
||||
canBlogWrite: false
|
||||
}
|
||||
});
|
||||
|
||||
const link = document.querySelector<HTMLAnchorElement>('a[href^="/persons/"]');
|
||||
const rect = link?.getBoundingClientRect();
|
||||
expect(rect?.height).toBeGreaterThanOrEqual(44);
|
||||
});
|
||||
|
||||
it('XSS: Story body is sanitised — injected payload does not execute', async () => {
|
||||
// StoryReader uses {@html safeHtml(g.body)} — DOMPurify must strip the payload.
|
||||
render(StoryReader, {
|
||||
|
||||
Reference in New Issue
Block a user