• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

liqd / adhocracy-plus / 18908688697

29 Oct 2025 12:59PM UTC coverage: 44.622% (-44.5%) from 89.135%
18908688697

Pull #2986

github

web-flow
Merge 1dfde8ee7 into 445e1d498
Pull Request #2986: Draft: Speed up Github Ci Tests

3012 of 6750 relevant lines covered (44.62%)

0.45 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/apps/projects/helpers.py
1
from datetime import timedelta
×
2

3
from django.contrib.contenttypes.models import ContentType
×
4
from django.db.models import Count
×
5
from django.db.models import Q
×
6
from django.utils import timezone
×
7

8
from adhocracy4.comments.models import Comment
×
9
from adhocracy4.reports.models import Report
×
10

11

12
def get_all_comments_project(project):
×
13
    return Comment.objects.filter(
×
14
        Q(project=project) | Q(parent_comment__project=project)
15
    )
16

17

18
def get_num_comments_project(project):
×
19
    return get_all_comments_project(project).count()
×
20

21

22
def get_num_reports(project):
×
23
    comment_ids_project = get_all_comments_project(project).values_list("id", flat=True)
×
24
    comment_ct = ContentType.objects.get_for_model(Comment)
×
25
    return Report.objects.filter(
×
26
        content_type=comment_ct, object_pk__in=comment_ids_project
27
    ).count()
28

29

30
def get_num_latest_comments(project, until={"days": 7}):
×
31
    all_comments_project = get_all_comments_project(project)
×
32
    return all_comments_project.filter(
×
33
        created__gte=timezone.now() - timedelta(**until)
34
    ).count()
35

36

37
def get_num_reported_unread_comments(project):
×
38
    unread_comments = get_all_comments_project(project).filter(is_reviewed=False)
×
39
    return (
×
40
        unread_comments.annotate(num_reports=Count("reports", distinct=True))
41
        .filter(num_reports__gt=0)
42
        .count()
43
    )
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc