29 lines
1.5 KiB
Python
29 lines
1.5 KiB
Python
"""loaddata (انتقال به Postgres) نباید از روی سیگنال NodeProgress بسازد: خودِ ردیف در فایل است."""
|
|
from django.db.models.signals import post_save
|
|
from django.test import TestCase
|
|
|
|
from content.models import Choice, Grade, Lesson, Node, NodeProgress, Question, Unit, UserAnswer
|
|
|
|
|
|
class RawSaveTests(TestCase):
|
|
def test_raw_user_answer_save_creates_no_node_progress(self):
|
|
grade = Grade.objects.create(title='g', number=99)
|
|
unit = Unit.objects.create(grade=grade, title='u', order=1)
|
|
node = Node.objects.create(unit=unit, title='n', order=1)
|
|
lesson = Lesson.objects.create(node=node, title='l')
|
|
q = Question.objects.create(lesson=lesson, type='multiple_choice', prompt='p')
|
|
c = Choice.objects.create(question=q, value='a', is_correct=True)
|
|
answer = UserAnswer(user_id=1, question=q, choice=c, correct=True)
|
|
post_save.send(UserAnswer, instance=answer, created=True, raw=True)
|
|
self.assertEqual(NodeProgress.objects.count(), 0)
|
|
|
|
|
|
class RawTicketReplyTests(TestCase):
|
|
def test_raw_support_reply_creates_no_notification(self):
|
|
from notifications.models import Notification
|
|
from support.models import Ticket, TicketMessage
|
|
t = Ticket.objects.create(user_id=1, subject='s')
|
|
m = TicketMessage(ticket=t, sender='support', text='x')
|
|
post_save.send(TicketMessage, instance=m, created=True, raw=True)
|
|
self.assertEqual(Notification.objects.count(), 0)
|