diff --git a/install/ui/src/freeipa/Application_controller.js b/install/ui/src/freeipa/Application_controller.js index 46aabc9c4..140ee8fe0 100644 --- a/install/ui/src/freeipa/Application_controller.js +++ b/install/ui/src/freeipa/Application_controller.js @@ -318,6 +318,7 @@ define([ $type: 'text', name: 'pagination_size', label: '@i18n:customization.table_pagination', + required: true, validators: ['positive_integer'] } ] diff --git a/ipatests/test_webui/test_misc_cases.py b/ipatests/test_webui/test_misc_cases.py index 5f7ffb54e..aca9e1a99 100644 --- a/ipatests/test_webui/test_misc_cases.py +++ b/ipatests/test_webui/test_misc_cases.py @@ -11,6 +11,11 @@ from ipatests.test_webui.ui_driver import screenshot import pytest import re +try: + from selenium.webdriver.common.by import By +except ImportError: + pass + @pytest.mark.tier1 class TestMiscCases(UI_driver): @@ -26,3 +31,17 @@ class TestMiscCases(UI_driver): ver_re = re.compile('version: .*') assert re.search(ver_re, about_text), 'Version not found' self.dialog_button_click('ok') + + @screenshot + def test_customization_pagination_input_required(self): + """Test if 'pagination size' is required when submitting the form.""" + self.init_app() + + self.profile_menu_action('configuration') + self.fill_input('pagination_size', '') + self.dialog_button_click('save') + + pagination_size_elem = self.find( + ".widget[name='pagination_size']", By.CSS_SELECTOR) + + self.assert_field_validation_required(parent=pagination_size_elem)