🧐(stats) restrict domains count to active domains

Stats are currently counting all domains, including users tests.
Counting enabled domains is more relevant to reflect actual use.
This commit is contained in:
Marie PUPO JEAMMET
2025-03-19 11:46:00 +01:00
committed by Marie
parent f21716dc68
commit 889a495ea3
2 changed files with 7 additions and 3 deletions

View File

@@ -29,6 +29,7 @@ from core.api import permissions
from core.api.client import serializers
from core.utils.raw_sql import gen_sql_filter_json_array
from mailbox_manager import enums
from mailbox_manager import models as domains_models
@@ -609,7 +610,9 @@ class StatView(views.APIView):
last_login__gte=timezone.now() - datetime.timedelta(30)
).count(),
"teams": models.Team.objects.count(),
"domains": domains_models.MailDomain.objects.count(),
"domains": domains_models.MailDomain.objects.filter(
status=enums.MailDomainStatusChoices.ENABLED
).count(),
"mailboxes": domains_models.Mailbox.objects.count(),
}
return response.Response(context)

View File

@@ -19,7 +19,7 @@ pytestmark = pytest.mark.django_db
def test_api_stats__anonymous(django_assert_num_queries):
"""Stats endpoint should be available even when not connected."""
domains_factories.MailDomainFactory.create_batch(5)
domains_factories.MailDomainEnabledFactory.create_batch(5)
core_factories.TeamFactory.create_batch(3)
# clear cache to allow stats count
@@ -57,7 +57,8 @@ def test_api_stats__expected_count():
client.force_login(user)
core_factories.TeamFactory.create_batch(3)
domains_factories.MailDomainFactory.create_batch(2)
domains_factories.MailDomainFactory.create_batch(1)
domains_factories.MailDomainEnabledFactory.create_batch(2)
domains_factories.MailboxFactory.create_batch(
10, domain=domains_models.MailDomain.objects.all()[1]
)