예제 #1
0
    def test_govuk_input_suffix(self, question):
        question.unit = "%"
        question.unit_position = "after"

        params = govuk_input(question)

        assert params["suffix"] == {"text": "%"}
예제 #2
0
    def test_govuk_input_prefix(self, question):
        question.unit = "£"
        question.unit_position = "before"

        params = govuk_input(question)

        assert params["prefix"] == {"text": "£"}
예제 #3
0
    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
예제 #4
0
    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
예제 #5
0
    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
예제 #6
0
 def test_govuk_input(self, question, snapshot):
     assert govuk_input(question) == snapshot
예제 #7
0
 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"
예제 #8
0
 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"]
예제 #9
0
    def test_govuk_input_suffix_text_kwarg(self, question):
        params = govuk_input(question, suffix_text="%")

        assert params["suffix"] == {"text": "%"}
예제 #10
0
    def test_govuk_input_prefix_text_kwarg(self, question):
        params = govuk_input(question, prefix_text="£")

        assert params["prefix"] == {"text": "£"}