MicroFish/backend
MiroFish Contributor f3eb616656 refactor: extract OasisAgentProfile to standalone oasis_models module
Extract OasisAgentProfile dataclass and helper functions to a new
oasis_models.py module that has no Flask dependencies. This allows
proper unit testing without mocking the entire app package.

Changes:
- Create backend/app/services/oasis_models.py with OasisAgentProfile
  and helper functions (_generate_username, _normalize_gender,
  _is_individual_entity, _is_group_entity)
- Update oasis_profile_generator.py to import from oasis_models
- Create backend/tests/test_oasis_profile.py that imports the real
  OasisAgentProfile instead of using an inline copy
- Add pytest.ini and conftest.py for test configuration

This fixes the bug where tests were testing a copy of the class
rather than the actual production code.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-10 20:25:22 +08:00
..
app refactor: extract OasisAgentProfile to standalone oasis_models module 2026-04-10 20:25:22 +08:00
scripts Add UTF-8 encoding support for Windows in simulation_runner.py and run_parallel_simulation.py to resolve character encoding issues with third-party libraries. 2025-12-26 18:14:57 +08:00
tests refactor: extract OasisAgentProfile to standalone oasis_models module 2026-04-10 20:25:22 +08:00
pyproject.toml fix(file_parser): handle non-UTF-8 encoded text files with automatic encoding detection 2026-01-22 18:28:37 +08:00
pytest.ini refactor: extract OasisAgentProfile to standalone oasis_models module 2026-04-10 20:25:22 +08:00
requirements.txt fix(file_parser): handle non-UTF-8 encoded text files with automatic encoding detection 2026-01-22 18:28:37 +08:00
run.py Add UTF-8 encoding support for Windows console in run.py and logger.py to prevent character encoding issues 2025-12-26 17:58:48 +08:00
uv.lock fix(file_parser): handle non-UTF-8 encoded text files with automatic encoding detection 2026-01-22 18:28:37 +08:00