Files
goose/tests/cli/prompt/test_prompt_validator.py
Luke Alvoeiro dd126afa6c chore: initial commit
Co-authored-by: Lifei Zhou <lifei@squareup.com>
Co-authored-by: Mic Neale <micn@tbd.email>
Co-authored-by: Lily Delalande <ldelalande@squareup.com>
Co-authored-by: Bradley Axen <baxen@squareup.com>
Co-authored-by: Andy Lane <alane@squareup.com>
Co-authored-by: Elena Zherdeva <ezherdeva@squareup.com>
Co-authored-by: Zaki Ali <zaki@squareup.com>
Co-authored-by: Salman Mohammed <smohammed@squareup.com>
2024-08-23 16:39:04 -07:00

38 lines
1.1 KiB
Python

from unittest.mock import MagicMock, patch
import pytest
from goose.cli.prompt.prompt_validator import PromptValidator
from prompt_toolkit.validation import ValidationError
@pytest.fixture
def validator():
return PromptValidator()
@patch("prompt_toolkit.document.Document.text")
def test_validate_should_not_raise_error_when_input_is_none(document, validator):
try:
validator.validate(create_mock_document(None))
except Exception as e:
pytest.fail(f"An error was raised: {e}")
@patch("prompt_toolkit.document.Document.text", return_value="user typed something")
def test_validate_should_not_raise_error_when_user_has_input(document, validator):
try:
validator.validate(create_mock_document("user typed something"))
except Exception as e:
pytest.fail(f"An error was raised: {e}")
def test_validate_should_raise_validation_error_when_user_has_empty_input(validator):
with pytest.raises(ValidationError):
validator.validate(create_mock_document(""))
def create_mock_document(text: str) -> MagicMock:
document = MagicMock()
document.text = text
return document