From 1d860e253e59abed6587a4f9a1cfcc739dcbbce8 Mon Sep 17 00:00:00 2001 From: vincent porte Date: Mon, 27 Jan 2025 16:43:41 +0100 Subject: [PATCH] update EmailLastSent when saving Event --- lacommunaute/event/models.py | 7 +++++++ lacommunaute/event/tests/tests_model.py | 10 ++++++++++ 2 files changed, 17 insertions(+) diff --git a/lacommunaute/event/models.py b/lacommunaute/event/models.py index b29c5b6c0..73a02c847 100644 --- a/lacommunaute/event/models.py +++ b/lacommunaute/event/models.py @@ -2,6 +2,9 @@ from django.db import models from machina.models.abstract_models import DatedModel +from lacommunaute.users.enums import EmailLastSeenKind +from lacommunaute.users.models import EmailLastSeen + class Event(DatedModel): name = models.CharField(max_length=100, verbose_name="Nom") @@ -28,3 +31,7 @@ class Meta: def __str__(self): return f"{self.name} - {self.date}" + + def save(self, *args, **kwargs): + super().save(*args, **kwargs) + EmailLastSeen.objects.seen(self.poster.email, EmailLastSeenKind.EVENT) diff --git a/lacommunaute/event/tests/tests_model.py b/lacommunaute/event/tests/tests_model.py index 501dff72b..454292418 100644 --- a/lacommunaute/event/tests/tests_model.py +++ b/lacommunaute/event/tests/tests_model.py @@ -2,9 +2,19 @@ from django.test import TestCase from lacommunaute.event.factories import EventFactory +from lacommunaute.users.models import EmailLastSeen class EventModelTest(TestCase): def test_user_is_mandatory(self): with self.assertRaises(IntegrityError): EventFactory(poster=None) + + +class TestEventModel: + def test_email_last_seen_updated_on_save(self, db): + event = EventFactory() + event.save() + + email_last_seen = EmailLastSeen.objects.get(email=event.poster.email) + assert email_last_seen.last_seen_kind == "EVENT"