30 lines
838 B
Python
30 lines
838 B
Python
import pytest
|
|
from pydantic import ValidationError
|
|
|
|
from schemas.message_feedback_request import MessageFeedbackRequestDTO
|
|
|
|
|
|
def test_feedback_request_accepts_like_without_content():
|
|
dto = MessageFeedbackRequestDTO(message_id="mid-1", feedback="like")
|
|
|
|
assert dto.message_id == "mid-1"
|
|
assert dto.feedback == "like"
|
|
assert dto.feedback_content is None
|
|
|
|
|
|
def test_feedback_request_requires_content_for_dislike():
|
|
with pytest.raises(ValidationError):
|
|
MessageFeedbackRequestDTO(message_id="mid-2", feedback="dislike")
|
|
|
|
|
|
def test_feedback_request_accepts_dislike_with_content():
|
|
dto = MessageFeedbackRequestDTO(
|
|
message_id="mid-3",
|
|
feedback="dislike",
|
|
feedback_content="结果不准确",
|
|
)
|
|
|
|
assert dto.feedback == "dislike"
|
|
assert dto.feedback_content == "结果不准确"
|
|
|