test(timeline): assert submit-disabled transition and ≥44px chip targets
Tighten the review-flagged test gaps (no production change):
- submitting state: the old test only asserted the button was initially
enabled (a tautology). Now stub a never-resolving fetch, click Speichern, and
assert the button gains `disabled` — exercising the double-submit guard
(Decision 8).
- the two redirect-throwing save tests now use `await expect(...).rejects` so a
future missing redirect fails loudly instead of being swallowed by try/catch.
- the YEAR end-date-hide assertion uses getByLabelText('Enddatum') not-present,
symmetric with the RANGE reveal, instead of a raw #eventDateEnd querySelector.
- PersonMultiSelect + DocumentMultiSelect: assert the chip remove button carries
the min-h-[44px]/min-w-[44px] target the rtm cites for REQ-017.
Addresses PR #832 review (Tester + Requirements Engineer test-coverage concerns).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -258,6 +258,19 @@ describe('PersonMultiSelect – removing persons', () => {
|
||||
await expect.element(page.getByText('Anna Musterfrau')).toBeInTheDocument();
|
||||
});
|
||||
|
||||
// REQ-017 (#781): chip remove targets must be ≥44px for the 60+ audience.
|
||||
it('renders a ≥44px touch target on the chip remove button', async () => {
|
||||
render(PersonMultiSelect, {
|
||||
selectedPersons: [{ id: '1', displayName: 'Max Mustermann' }]
|
||||
});
|
||||
const removeBtn = (await page
|
||||
.getByRole('button', { name: 'Entfernen' })
|
||||
.first()
|
||||
.element()) as HTMLElement;
|
||||
expect(removeBtn.className).toContain('min-h-[44px]');
|
||||
expect(removeBtn.className).toContain('min-w-[44px]');
|
||||
});
|
||||
|
||||
it('removes the corresponding hidden input when a chip is removed', async () => {
|
||||
render(PersonMultiSelect, {
|
||||
selectedPersons: [
|
||||
|
||||
Reference in New Issue
Block a user