Skip to content
Snippets Groups Projects
Select Git revision
  • 570d0a542fd9853f82abf34f00ac4d8deb2f6ba9
  • main default
2 results

Comments.js

Blame
  • test_signals.py 1.33 KiB
    """Test the visits app signals."""
    
    from django.test import TestCase
    from tests.utils.mixins import SignalTestMixin
    
    from mails.signals import notification_sent
    from users.factory import UserFactory
    from visits.factory import ParticipationFactory, VisitFactory
    from visits.notifications import ConfirmParticipation
    from visits.signals import accepted_changed
    
    
    class NotifyParticipationTest(SignalTestMixin, TestCase):
        """Test the notify_participation signal handler."""
    
        def setUp(self):
            VisitFactory.create_batch(5)
            self.obj = ParticipationFactory.create(accepted=None)
    
        def change(self, accepted=True):
            self.obj.accepted = accepted
            self.obj.save()
    
        def test_accepted_changed_called(self):
            with self.assertCalled(accepted_changed):
                self.change()
    
        def test_accepted_changed_called_when_creating_accepted_partipant(self):
            with self.assertCalled(accepted_changed):
                ParticipationFactory.create(accepted=True)
    
        def test_notification_sent_is_called_by_confirm(self):
            with self.assertCalled(notification_sent, sender=ConfirmParticipation):
                self.change(accepted=True)
    
        def test_notification_sent_is_called_by_confirm(self):
            with self.assertCalled(notification_sent, sender=ConfirmParticipation):
                self.change(accepted=False)