33 lines
767 B
Python
33 lines
767 B
Python
import pytest
|
|
from pydantic import ValidationError
|
|
|
|
from main import todocreate
|
|
|
|
|
|
def test_todocreate_requires_task() -> None:
|
|
with pytest.raises(ValidationError):
|
|
todocreate()
|
|
|
|
|
|
def test_todocreate_accepts_valid_task() -> None:
|
|
todo_data = todocreate(task="学习测试单元")
|
|
|
|
assert todo_data.task == "学习测试单元"
|
|
|
|
|
|
def test_todocreate_rejects_empty_task() -> None:
|
|
with pytest.raises(ValidationError):
|
|
todocreate(task="")
|
|
|
|
|
|
def test_todocreate_rejects_blank_task() -> None:
|
|
with pytest.raises(ValidationError):
|
|
todocreate(task=" ")
|
|
|
|
|
|
def test_todocreate_rejects_task_longer_than_200_characters() -> None:
|
|
long_task = "a" * 201
|
|
|
|
with pytest.raises(ValidationError):
|
|
todocreate(task=long_task)
|