def test_validate_contact_details_should_return_true_when_only_email_entered():
    def create_form_answers():
        return {"contact_details": {"email": "*****@*****.**"}}

    with patch(
            _FORM_ANSWERS_FUNCTION_FULLY_QUALIFIED_NAME,
            create_form_answers), \
         _current_app.test_request_context() as test_request_ctx:
        is_valid = validation.validate_contact_details("contact_details")

        assert is_valid is True
        assert len(test_request_ctx.session) == 0
def test_validate_contact_details_should_return_true_when_valid_sms_number_entered(
):
    def create_form_answers():
        return {"contact_details": {"phone_number_texts": "07000 000 000"}}

    with patch(
            _FORM_ANSWERS_FUNCTION_FULLY_QUALIFIED_NAME,
            create_form_answers), \
         _current_app.test_request_context() as test_request_ctx:
        is_valid = validation.validate_contact_details("contact_details")

        assert is_valid is True
        assert len(test_request_ctx.session) == 0
def test_validate_contact_details_should_return_false_when_invalid_sms_number_entered(
):
    def create_form_answers():
        return {"contact_details": {"phone_number_texts": "071234"}}

    with patch(
            _FORM_ANSWERS_FUNCTION_FULLY_QUALIFIED_NAME,
            create_form_answers), \
         _current_app.test_request_context() as test_request_ctx:
        is_valid = validation.validate_contact_details("contact_details")

        assert is_valid is False
        assert test_request_ctx.session['error_items']['contact_details'][
            'phone_number_texts'] is not None