fix(l1): drop duplicate T9 tests + honor explicit empty notify recipients

- Remove the weaker shadowing copies of the two T9 tests so the stronger
  originals (which seed an engineer and assert eng.id in target_user_ids,
  plus proposal_type/match_keywords) actually run.
- _resolve_recipients: treat an explicit empty target_user_ids as 'no
  recipients' instead of falling back to the default owner/admin set.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-05-30 03:45:13 -04:00
parent e3da5b7502
commit cc41f20668
2 changed files with 7 additions and 67 deletions

View File

@@ -171,8 +171,13 @@ async def _resolve_recipients(
target_user_ids: Optional[list[uuid.UUID]],
db: AsyncSession,
) -> list[User]:
"""Resolve notification recipients. Defaults to team admins + account owners + admins."""
if target_user_ids:
"""Resolve notification recipients. Defaults to team admins + account owners + admins.
An explicit ``target_user_ids`` (even an empty list) means the caller has already
computed the recipient set — honor it exactly. Only ``None`` falls back to the
default owner/admin/team-admin set.
"""
if target_user_ids is not None:
result = await db.execute(
select(User)
.where(User.id.in_(target_user_ids))