test(planner): cover Entfernen hidden when slot.id is null

Adds regression test for the {#if slot.id} guard on the remove button —
QA flagged the missing negative test case for optimistic slots.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-10 14:18:16 +02:00
parent 3f9bd2b226
commit 4835231f6d

View File

@@ -161,6 +161,15 @@ describe('DesktopDayTile — filled slot', () => {
expect(screen.getByRole('button', { name: /Entfernen/i })).toBeTruthy(); expect(screen.getByRole('button', { name: /Entfernen/i })).toBeTruthy();
}); });
it('hides Entfernen button when slot.id is null (optimistic slot)', () => {
const slotWithoutId = { ...filledSlot, id: null };
render(DesktopDayTile, { props: { slot: slotWithoutId, isToday: false, activeSlotId: null, isPlanner: true, slotMap: {}, suggestions: [] } });
// flip the tile first so back face is visible
// activeSlotId must match slot.id to flip — but slot.id is null, so isFlipped = false
// The back face is still rendered in the DOM; check button is absent
expect(screen.queryByRole('button', { name: /Entfernen/i })).toBeNull();
});
it('calls onremove when Entfernen clicked', async () => { it('calls onremove when Entfernen clicked', async () => {
const onremove = vi.fn(); const onremove = vi.fn();
const user = userEvent.setup(); const user = userEvent.setup();