mirror of
https://github.com/aljazceru/goose.git
synced 2025-12-28 03:24:21 +01:00
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>
38 lines
1.1 KiB
Python
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
|