def test_govuk_input_suffix(self, question): question.unit = "%" question.unit_position = "after" params = govuk_input(question) assert params["suffix"] == {"text": "%"}
def test_govuk_input_prefix(self, question): question.unit = "£" question.unit_position = "before" params = govuk_input(question) assert params["prefix"] == {"text": "£"}
def test_govuk_input_asking_for_whole_numbers(self, question): """Test that we follow Design System guidance on asking for numbers https://design-system.service.gov.uk/components/text-input/#numbers """ question.limits = {"integer_only": True} params = govuk_input(question) assert params["inputmode"] == "numeric" assert params["pattern"] == "[0-9]*" assert params["spellcheck"] is False
def test_govuk_input_asking_for_decimal_numbers(self, integer_only, question): """Test that we follow Design System guidance on asking for numbers https://design-system.service.gov.uk/components/text-input/#numbers """ if integer_only is False: question.limits = {"integer_only": False} params = govuk_input(question) assert "inputmode" not in params assert params["spellcheck"] is False
def test_govuk_input_pattern_includes_prefix_or_suffix( self, unit, unit_position, expected_pattern, question, ): question.limits = {"integer_only": True} question.unit = unit question.unit_position = unit_position params = govuk_input(question) assert params["pattern"] == expected_pattern
def test_govuk_input(self, question, snapshot): assert govuk_input(question) == snapshot
def test_govuk_input_classes(self, question, snapshot): assert govuk_input(question)["classes"] == "app-text-input--height-compatible" assert govuk_input(question, classes=["app-input"])["classes"] == "app-input"
def test_govuk_input_width(self, question): """Number inputs should be a reasonably small width""" params = govuk_input(question) assert "govuk-input--width-5" in params["classes"]
def test_govuk_input_suffix_text_kwarg(self, question): params = govuk_input(question, suffix_text="%") assert params["suffix"] == {"text": "%"}
def test_govuk_input_prefix_text_kwarg(self, question): params = govuk_input(question, prefix_text="£") assert params["prefix"] == {"text": "£"}