generated from kgod/ai-review-template
feat: initialize resume agent with OfferPai sync
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
"""Contract tests for resume editing API request and response models."""
|
||||
|
||||
from datetime import UTC, datetime
|
||||
|
||||
import pytest
|
||||
from pydantic import ValidationError
|
||||
|
||||
from app.models import (
|
||||
ActionResponse,
|
||||
BusinessResume,
|
||||
OptimizeEntryRequest,
|
||||
OptimizeRequest,
|
||||
ResumePatchOperation,
|
||||
ResumePatchRequest,
|
||||
TimelineResponse,
|
||||
)
|
||||
|
||||
|
||||
def test_resume_patch_request_validates_revision_and_extra_fields() -> None:
|
||||
request = ResumePatchRequest(
|
||||
expected_revision=2,
|
||||
operation={"type": "update_entry", "entry_id": "entry_1", "fields": {"major": "AI"}},
|
||||
)
|
||||
assert request.operation.type == "update_entry"
|
||||
with pytest.raises(ValidationError):
|
||||
ResumePatchRequest(
|
||||
expected_revision=0,
|
||||
operation={"type": "delete_entry", "entry_id": "entry_1"},
|
||||
)
|
||||
with pytest.raises(ValidationError):
|
||||
ResumePatchOperation(type="delete_entry", entry_id="entry_1", unexpected=True)
|
||||
|
||||
|
||||
def test_optimize_requests_require_entry_id() -> None:
|
||||
assert OptimizeRequest(entry_id="entry_1", instruction="更量化").entry_id == "entry_1"
|
||||
assert OptimizeEntryRequest(entry_id="entry_1").entry_id == "entry_1"
|
||||
with pytest.raises(ValidationError):
|
||||
OptimizeRequest(entry_id="")
|
||||
|
||||
|
||||
def test_action_and_timeline_responses_expose_optional_resume_field() -> None:
|
||||
assert "resume" in ActionResponse.model_fields
|
||||
assert "resume" in TimelineResponse.model_fields
|
||||
assert ActionResponse.model_fields["resume"].default is None
|
||||
assert TimelineResponse.model_fields["resume"].default is None
|
||||
now = datetime.now(UTC)
|
||||
resume = BusinessResume(
|
||||
id="resume_1",
|
||||
session_id="session_1",
|
||||
revision=1,
|
||||
content={"schema_version": 2},
|
||||
created_at=now,
|
||||
updated_at=now,
|
||||
)
|
||||
assert resume.content["schema_version"] == 2
|
||||
Reference in New Issue
Block a user