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

gcivil-nyu-org / fall24-monday-team5 / 261

09 Dec 2024 03:24AM UTC coverage: 93.548% (-0.2%) from 93.704%
261

Pull #93

travis-pro

aryanprasad7
Merge branch 'main' into release-main
Pull Request #93: Groups communication feature

315 of 341 new or added lines in 12 files covered. (92.38%)

1595 of 1705 relevant lines covered (93.55%)

0.94 hits per line

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

88.46
/groups/models.py
1
from django.db import models
1✔
2
from django.utils.timezone import now
1✔
3
from accounts.models import Profile
1✔
4

5

6
class Group(models.Model):
1✔
7
    name = models.CharField(max_length=255)
1✔
8
    description = models.TextField(blank=True, null=True)
1✔
9
    created_by = models.ForeignKey(
1✔
10
        Profile, on_delete=models.CASCADE, related_name="created_groups"
11
    )
12
    members = models.ManyToManyField(Profile, related_name="group_members")
1✔
13
    created_at = models.DateTimeField(default=now)
1✔
14

15
    def __str__(self):
1✔
NEW
16
        return self.name
×
17

18

19
class GroupMessage(models.Model):
1✔
20
    group = models.ForeignKey(Group, on_delete=models.CASCADE, related_name="messages")
1✔
21
    sender = models.ForeignKey(
1✔
22
        Profile, on_delete=models.CASCADE, related_name="group_messages"
23
    )
24
    content = models.TextField()
1✔
25
    timestamp = models.DateTimeField(default=now)
1✔
26

27
    def __str__(self):
1✔
NEW
28
        return f"Message from {self.sender.username} in {self.group.name}"
×
29

30

31
class Invitation(models.Model):
1✔
32
    INVITATION_STATUS = [
1✔
33
        ("pending", "Pending"),
34
        ("accepted", "Accepted"),
35
        ("declined", "Declined"),
36
    ]
37

38
    group = models.ForeignKey(
1✔
39
        Group, on_delete=models.CASCADE, related_name="invitations"
40
    )
41
    user = models.ForeignKey(
1✔
42
        Profile, on_delete=models.CASCADE, related_name="invitations"
43
    )
44
    status = models.CharField(
1✔
45
        max_length=10, choices=INVITATION_STATUS, default="pending"
46
    )
47
    created_at = models.DateTimeField(default=now)
1✔
48

49
    def __str__(self):
1✔
NEW
50
        return f"Invitation from {self.group.created_by.username} to {self.user.username} for {self.group.name}"  # noqa: E501
×
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

© 2026 Coveralls, Inc