Fix event search filtering
Some checks failed
linter / quality (push) Has been cancelled
tests / ci (push) Has been cancelled
tests / ui (push) Has been cancelled

This commit is contained in:
Codex Agent
2026-01-20 12:41:14 +01:00
parent 3c2ebdbc0e
commit e28eb9a90b
2 changed files with 38 additions and 4 deletions

View File

@@ -1,6 +1,6 @@
import React from 'react';
import { describe, expect, it, vi } from 'vitest';
import { render, screen } from '@testing-library/react';
import { act, fireEvent, render, screen } from '@testing-library/react';
const navigateMock = vi.fn();
const authState = {
@@ -54,6 +54,13 @@ vi.mock('../../api', () => ({
event_date: '2026-02-19',
settings: {},
},
{
id: 2,
name: { en: 'Summer Gala' },
slug: 'summer-gala',
event_date: '2026-06-01',
settings: {},
},
]),
}));
@@ -96,7 +103,7 @@ vi.mock('../components/Primitives', () => ({
}));
vi.mock('../components/FormControls', () => ({
MobileInput: (props: React.InputHTMLAttributes<HTMLInputElement>) => <input {...props} />,
MobileInput: ({ compact: _compact, ...props }: React.InputHTMLAttributes<HTMLInputElement>) => <input {...props} />,
}));
vi.mock('@tamagui/card', () => ({
@@ -171,4 +178,18 @@ describe('MobileEventsPage', () => {
authState.user = { role: 'tenant_admin' };
});
it('filters events by search query', async () => {
render(<MobileEventsPage />);
expect(await screen.findByText('Demo Event')).toBeInTheDocument();
expect(screen.getByText('Summer Gala')).toBeInTheDocument();
await act(async () => {
fireEvent.change(screen.getByPlaceholderText('Select event'), { target: { value: 'Summer' } });
});
expect(screen.getByText('Summer Gala')).toBeInTheDocument();
expect(screen.queryByText('Demo Event')).not.toBeInTheDocument();
});
});