def test_application_message_title(self): author = UserFactory() group = GroupFactory(members=[author]) applicant = UserFactory() application = ApplicationFactory(group=group, user=applicant) conversation = Conversation.objects.get_or_create_for_target(application) message = conversation.messages.create(author=author, content='bla') title = get_message_title(message, 'en') self.assertEqual(title, '❓ {} / {}'.format(applicant.display_name, author.display_name)) application.accept(author) message.refresh_from_db() title = get_message_title(message, 'en') self.assertEqual(title, '✅ {} / {}'.format(applicant.display_name, author.display_name)) application.decline(author) message.refresh_from_db() title = get_message_title(message, 'en') self.assertEqual(title, '❌ {} / {}'.format(applicant.display_name, author.display_name)) application.withdraw() message.refresh_from_db() title = get_message_title(message, 'en') self.assertEqual(title, '🗑️ {} / {}'.format(applicant.display_name, author.display_name)) message = conversation.messages.create(author=applicant, content='bla') message.refresh_from_db() title = get_message_title(message, 'en') self.assertEqual(title, '🗑️ {}'.format(applicant.display_name))
def test_creates_application_declined_notification(self): member = UserFactory() group = GroupFactory(members=[member]) user = UserFactory() application = ApplicationFactory(user=user, group=group) application.decline(member) self.assertEqual( Notification.objects.filter( user=user, type=NotificationType.APPLICATION_DECLINED.value).count(), 1) self.assertEqual( Notification.objects.filter( type=NotificationType.NEW_APPLICANT.value).count(), 0)