Uh oh!
There was an error while loading. Please reload this page.
Update Resume matcher - #21
Conversation
…or resume score service - fix tests base service to mock httpx tranport instead of rely on external services
bump package version 1.6.0
There was a problem hiding this comment.
Pull request overview
This PR updates the “Resume Matcher (Score)” client to reflect a significantly expanded resume-score response schema, adds client-side validation for job_description length, and updates tests/docs accordingly (including removing external HTTP dependencies from several tests).
Changes:
- Expand
ResumeScoreResponse/ resume-score types to a richer nested schema (strengths/improvements + job/skill/education match breakdowns). - Add
job_descriptionlength validation (100–5000 chars) inResumeScoreService.get_resume_score()and adjust smoke/tests. - Improve test reliability by switching several service tests to
httpx.MockTransportand adding new unit tests for the resume-score service.
Reviewed changes
Copilot reviewed 16 out of 17 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| tox.ini | Fix GitHub Actions tox environment mapping by adding the python = key. |
| pyproject.toml | Bump package version to 1.6.0. |
| README.md | Rename/clarify supported API names for “Resume Checker(Review)” and “Resume Matcher(Score)”. |
| magicalapi/types/resume_score.py | Replace the old resume-score schema with a detailed nested response model. |
| magicalapi/services/resume_score_service.py | Add job_description length validation and update service wording. |
| tests/types/test_resume_score_type.py | Update type-validation tests to match the new resume-score schema. |
| tests/services/test_resume_score_service.py | Add new tests covering job_description length validation and response parsing. |
| tests/services/test_webhook_url.py | Make webhook-url tests hermetic via httpx.MockTransport (no external httpbin). |
| tests/services/test_base_service.py | Make base-service tests hermetic via httpx.MockTransport and update resume-score validation fixture payload. |
| smoke/test_smoke.py | Update smoke test input so job_description meets the new length requirements. |
| magicalapi/types/resume_review.py | Update service naming in module docstring. |
| magicalapi/types/profile_data.py | Update service naming in class docstring. |
| magicalapi/types/company_data.py | Update service naming in class docstring. |
| magicalapi/services/resume_review_service.py | Update service naming in module/method docstrings. |
| magicalapi/services/profile_data_service.py | Update service naming and normalize # type: ignore comment formatting. |
| magicalapi/services/company_data_service.py | Update service naming in module/method docstrings. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
| if not 100 <= len(job_description) <= 5000: | ||
| raise ValueError( | ||
| "job_description must be between 100 and 5000 characters long" | ||
| ) |
Uh oh!
There was an error while loading. Please reload this page.
| service = ResumeScoreService(httpxclient) | ||
| captured_request: dict[str, str] = {} | ||
| async def fake_send_post_request(path: str, data: dict[str, str], headers: dict[str, str] = {}): |
Uh oh!
There was an error while loading. Please reload this page.
No description provided.