summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormahesh2018-01-30 15:02:55 +0530
committermahesh2018-01-30 16:46:41 +0530
commit782fd83b5931efde8ae26795c65e952df5012d0f (patch)
tree758881fc7e31709bb5c1e63d42b3bc0a043cf087
parenta4bf74684bcb32e461defc36e48ba71bf7f02c03 (diff)
downloadonline_test-782fd83b5931efde8ae26795c65e952df5012d0f.tar.gz
online_test-782fd83b5931efde8ae26795c65e952df5012d0f.tar.bz2
online_test-782fd83b5931efde8ae26795c65e952df5012d0f.zip
Add test cases to check for duplicate answerpapers
-rw-r--r--yaksh/models.py6
-rw-r--r--yaksh/test_models.py11
2 files changed, 11 insertions, 6 deletions
diff --git a/yaksh/models.py b/yaksh/models.py
index 4dd045a..6a7b800 100644
--- a/yaksh/models.py
+++ b/yaksh/models.py
@@ -1186,12 +1186,6 @@ class QuestionPaper(models.Model):
ans_paper.questions_order = ",".join(question_ids)
ans_paper.save()
ans_paper.questions_unanswered.add(*questions)
- except AnswerPaper.MultipleObjectsReturned:
- ans_paper = AnswerPaper.objects.filter(user=user,
- attempt_number=attempt_num,
- question_paper=self,
- course_id=course_id
- ).order_by('id').last()
return ans_paper
def _is_attempt_allowed(self, user, course_id):
diff --git a/yaksh/test_models.py b/yaksh/test_models.py
index 7086a1e..9166a3e 100644
--- a/yaksh/test_models.py
+++ b/yaksh/test_models.py
@@ -12,6 +12,7 @@ from datetime import datetime, timedelta
from django.utils import timezone
import pytz
from django.contrib.auth.models import Group
+from django.db import IntegrityError
from django.core.files import File
from django.forms.models import model_to_dict
from textwrap import dedent
@@ -1313,6 +1314,16 @@ class AnswerPaperTestCases(unittest.TestCase):
self.assertEqual(self.user2_answerpaper2.current_question(),
self.question1)
+ def test_duplicate_attempt_answerpaper(self):
+ with self.assertRaises(IntegrityError):
+ new_answerpaper = AnswerPaper.objects.create(
+ user=self.answerpaper.user,
+ question_paper=self.answerpaper.question_paper,
+ attempt_number=self.answerpaper.attempt_number,
+ start_time=self.answerpaper.start_time,
+ end_time=self.answerpaper.end_time
+ )
+
###############################################################################
class CourseTestCases(unittest.TestCase):