test(GeschichteListRow): add failing tests for DRAFT status badge

RED: component has no draft badge yet.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Marcel
2026-06-12 11:48:02 +02:00
parent d5bfe77a73
commit df66cf6605

View File

@@ -91,4 +91,34 @@ describe('GeschichteListRow', () => {
render(GeschichteListRow, { props: { geschichte: baseRow() } });
expect(document.body.textContent).toContain('Anna Schmidt');
});
it('shows no draft badge for PUBLISHED stories', async () => {
render(GeschichteListRow, { props: { geschichte: baseRow({ status: 'PUBLISHED' }) } });
expect(document.querySelector('[data-testid="draft-badge"]')).toBeNull();
expect(document.querySelector('[data-testid="draft-badge-mobile"]')).toBeNull();
});
it('shows desktop draft badge for DRAFT stories', async () => {
render(GeschichteListRow, { props: { geschichte: baseRow({ status: 'DRAFT' }) } });
const badge = document.querySelector('[data-testid="draft-badge"]');
expect(badge).not.toBeNull();
});
it('shows mobile draft badge for DRAFT stories', async () => {
render(GeschichteListRow, { props: { geschichte: baseRow({ status: 'DRAFT' }) } });
const badge = document.querySelector('[data-testid="draft-badge-mobile"]');
expect(badge).not.toBeNull();
});
it('draft badge is a plain <span>', async () => {
render(GeschichteListRow, { props: { geschichte: baseRow({ status: 'DRAFT' }) } });
const badge = document.querySelector('[data-testid="draft-badge"]');
expect(badge?.tagName.toLowerCase()).toBe('span');
});
it('draft badge uses text-xs label size', async () => {
render(GeschichteListRow, { props: { geschichte: baseRow({ status: 'DRAFT' }) } });
const badge = document.querySelector('[data-testid="draft-badge"]');
expect(badge!.className).toContain('text-xs');
});
});