test(PersonMentionEditor): add placeholder show/hide behavior coverage
Some checks failed
CI / Unit & Component Tests (push) Failing after 3m15s
CI / OCR Service Tests (push) Successful in 28s
CI / Backend Unit Tests (push) Failing after 2m59s
CI / Unit & Component Tests (pull_request) Failing after 3m16s
CI / OCR Service Tests (pull_request) Successful in 31s
CI / Backend Unit Tests (pull_request) Failing after 3m3s
Some checks failed
CI / Unit & Component Tests (push) Failing after 3m15s
CI / OCR Service Tests (push) Successful in 28s
CI / Backend Unit Tests (push) Failing after 2m59s
CI / Unit & Component Tests (pull_request) Failing after 3m16s
CI / OCR Service Tests (pull_request) Successful in 31s
CI / Backend Unit Tests (pull_request) Failing after 3m3s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -363,6 +363,38 @@ describe('PersonMentionEditor — XSS resistance', () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// ─── Placeholder behavior ─────────────────────────────────────────────────────
|
||||||
|
|
||||||
|
describe('PersonMentionEditor — placeholder behavior', () => {
|
||||||
|
it('sets data-placeholder on the inner element when editor is empty', async () => {
|
||||||
|
render(PersonMentionEditorHost, {
|
||||||
|
initialValue: '',
|
||||||
|
initialMentions: [],
|
||||||
|
placeholder: 'Gib Text ein...',
|
||||||
|
onChange: () => {}
|
||||||
|
});
|
||||||
|
await vi.waitFor(() => {
|
||||||
|
const inner = document.querySelector('.tiptap-editor-inner') as HTMLElement | null;
|
||||||
|
expect(inner).not.toBeNull();
|
||||||
|
expect(inner!.getAttribute('data-placeholder')).toBe('Gib Text ein...');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
it('omits data-placeholder on the inner element when editor has content', async () => {
|
||||||
|
render(PersonMentionEditorHost, {
|
||||||
|
initialValue: 'Bestehender Text',
|
||||||
|
initialMentions: [],
|
||||||
|
placeholder: 'Gib Text ein...',
|
||||||
|
onChange: () => {}
|
||||||
|
});
|
||||||
|
await vi.waitFor(() => {
|
||||||
|
const inner = document.querySelector('.tiptap-editor-inner') as HTMLElement | null;
|
||||||
|
expect(inner).not.toBeNull();
|
||||||
|
expect(inner!.hasAttribute('data-placeholder')).toBe(false);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
// ─── Touch target (WCAG 2.2 AA) ──────────────────────────────────────────────
|
// ─── Touch target (WCAG 2.2 AA) ──────────────────────────────────────────────
|
||||||
|
|
||||||
describe('PersonMentionEditor — touch target', () => {
|
describe('PersonMentionEditor — touch target', () => {
|
||||||
|
|||||||
Reference in New Issue
Block a user