from io import StringIO import pytest from django.core.management import call_command from apps.users.models import User pytestmark = [pytest.mark.integration, pytest.mark.django_db] def test_legacy_identity_audit_reports_placeholder_and_email_only_users(user_factory): first = user_factory(email="old@noemail.local") second = user_factory(email="person@example.com") User.objects.filter(pk__in=[first.pk, second.pk]).update(mobile=None) output = StringIO() call_command("audit_legacy_email_identities", stdout=output) report = output.getvalue() assert "Placeholder emails: 1" in report assert "Email-only users needing mobile bind: 2" in report