test_plan_group_connection_reuse.py 860 B

1234567891011121314151617181920212223242526272829303132
  1. from __future__ import annotations
  2. from unittest.mock import Mock, patch
  3. from sqlalchemy.orm import Session
  4. from supply_infra.db.repositories.demand_grade_plan_repo import (
  5. DemandGradePlanRepository,
  6. )
  7. def test_materialize_group_items_reuses_repository_session(monkeypatch) -> None:
  8. session = Mock(spec=Session)
  9. repository = DemandGradePlanRepository(session)
  10. monkeypatch.setattr(repository, "group_item_count", lambda _group_id: 0)
  11. with patch(
  12. "supply_infra.scheduler.plan_group_batch.resolve_demands_for_category_ids",
  13. return_value=[],
  14. ) as resolve:
  15. created = repository.materialize_group_items(
  16. 17,
  17. "20260727",
  18. [316, 317],
  19. )
  20. assert created == 0
  21. resolve.assert_called_once_with(
  22. "20260727",
  23. [316, 317],
  24. session=session,
  25. )