test: restore basic_profile.json test fixture (#106) - #669
Open
michellejtan wants to merge 11 commits into
Open
Conversation
michellejtan
marked this pull request as draft
August 3, 2026 06:23
michellejtan
marked this pull request as ready for review
August 3, 2026 06:23
michellejtan
marked this pull request as draft
August 3, 2026 06:32
michellejtan
marked this pull request as ready for review
August 4, 2026 06:13
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Restores the missing
tests/fixtures/sample_profiles/basic_profile.jsontest fixture referenced byscripts/run_evals.pyandscripts/issues_manifest.json(#106). The fixture is a realistic fake portfolio (GitHub username, resume text, two repos) shaped to match what the ingestion parsers (ResumeParser,RepoAnalyzer,ReadmeParser) actually consume, so it's immediately useful if a future test wires it up rather than an arbitrary shape.Issue
Closes #106
Changes
tests/fixtures/sample_profiles/basic_profile.json— a fake profile withgithub_username,resume_filename,resume_text(using section headings likeSummary/Technical Skills/Experience/Educationso it exercisesResumeParser's section detection),portfolio_url, and exactly tworeposentries shaped like GitHub API metadata (name,description,html_url,language,stargazers_count,forks_count,open_issues_count,pushed_at,readme_contentwith real markdown headings).sample_profile_datafixture totests/conftest.pythat loads the JSON file, following the existing pattern ofsample_resume_text/sample_readme_text.tests/unit/test_fixtures.pywith a test proving the fixture loads correctly and has the expected shape (profile fields present, exactly two repos, each repo hasname/html_url/readme_content).Testing
make test-unit)make test-integration) — not applicable, no integration tests reference this fixture yetmake lint)make typecheck)All checks passed locally:
tests/unit/test_fixtures.pypassesTo manually verify:
pytest tests/unit/test_fixtures.py -v—confirm
test_sample_profile_data_shape(or your actual test name) passes.tests/fixtures/sample_profiles/basic_profile.jsonand confirm itcontains a GitHub username, resume text with section headings (Summary,
Technical Skills, Experience, Education), and exactly two repo entries
with GitHub API-style fields (
html_url,language,stargazers_count,etc.).
python -c "import json; d = json.load(open('tests/fixtures/sample_profiles/basic_profile.json')); print(d.keys())"to confirm the top-level keys match what
sample_profile_dataintests/conftest.pyexpects.Pre-existing failures (unrelated to this change)
Before starting, I ran
make test-unitandmake checkonmainto establish a baseline:make test-unit: 53 pre-existing failures (e.g.test_bias_detector.py,test_pii_scrubber.py,test_review_service.py,test_resume_parser.py,test_readme_parser.py,test_tech_detector.py, and others), 376 passing.make check: 182 pre-existing lint errors, none in files this PR touches.I verified these are unrelated to this fix by stashing my changes and re-running both commands — the failure/error counts were identical with and without my changes applied.
After my changes:
make test-unit: same 53 pre-existing failures, plus my new test passes.make check: still exactly 182 pre-existing lint errors — zero new errors introduced.tests/conftest.pyandtests/unit/test_fixtures.pypass lint, format, and mypy individually.This PR does not fix these pre-existing issues (out of scope for #106) but does not introduce any new failures either.
Screenshots / Demo
N/A — test fixture only, no UI change.
Notes for Reviewers
scripts/run_evals.pyhas a TODO referencingtests/fixtures/sample_profiles/for future benchmark portfolios, but wiring that up is out of scope here.html_url,stargazers_count, etc.) rather than matching theIngestedSourceDB model, since that's the layerRepoAnalyzer.parse()andingest_repo_metadata()actually consume before mapping into DB rows. Flagging in case a different shape is expected.