From 2c676841090cf9d9f671a7cacf48c896eee95c51 Mon Sep 17 00:00:00 2001 From: Rodja Trappe Date: Tue, 24 Sep 2024 17:22:04 +0200 Subject: [PATCH] Allow testing for validation texts (#3765) allow testing for validation texts --- nicegui/element_filter.py | 1 + tests/test_user_simulation.py | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/nicegui/element_filter.py b/nicegui/element_filter.py index 1c0208b70..b2e2e8206 100644 --- a/nicegui/element_filter.py +++ b/nicegui/element_filter.py @@ -109,6 +109,7 @@ def __iter__(self) -> Iterator[T]: element.props.get('icon'), element.props.get('placeholder'), element.props.get('value'), + element.props.get('error-message'), element.text if isinstance(element, TextElement) else None, element.content if isinstance(element, ContentElement) else None, element.source if isinstance(element, SourceElement) else None, diff --git a/tests/test_user_simulation.py b/tests/test_user_simulation.py index 298b84f2f..b1eb9ce7c 100644 --- a/tests/test_user_simulation.py +++ b/tests/test_user_simulation.py @@ -396,3 +396,12 @@ def page(): assert len(user.download.http_responses) == 1 assert response.status_code == 200 assert response.text == 'Hello' + + +async def test_validation(user: User) -> None: + ui.input('Number', validation={'Not a number': lambda value: value.isnumeric()}) + + await user.open('/') + await user.should_not_see('Not a number') + user.find(ui.input).type('some invalid entry') + await user.should_see('Not a number')