Commit c57c8095 by chrisndodge

Merge pull request #58 from edx/muhhshoaib/PHX-78

PHX-78 used the new service for resetting the student attempts
parents 3e08fb6a d7641295
...@@ -507,7 +507,6 @@ def remove_exam_attempt(attempt_id): ...@@ -507,7 +507,6 @@ def remove_exam_attempt(attempt_id):
""" """
existing_attempt = ProctoredExamStudentAttempt.objects.get_exam_attempt_by_id(attempt_id) existing_attempt = ProctoredExamStudentAttempt.objects.get_exam_attempt_by_id(attempt_id)
if not existing_attempt: if not existing_attempt:
err_msg = ( err_msg = (
'Cannot remove attempt for attempt_id = {attempt_id} ' 'Cannot remove attempt for attempt_id = {attempt_id} '
...@@ -516,7 +515,13 @@ def remove_exam_attempt(attempt_id): ...@@ -516,7 +515,13 @@ def remove_exam_attempt(attempt_id):
raise StudentExamAttemptDoesNotExistsException(err_msg) raise StudentExamAttemptDoesNotExistsException(err_msg)
username = existing_attempt.user.username
course_id = existing_attempt.proctored_exam.course_id
content_id = existing_attempt.proctored_exam.content_id
existing_attempt.delete_exam_attempt() existing_attempt.delete_exam_attempt()
instructor_service = get_runtime_service('instructor')
if instructor_service:
instructor_service.delete_student_attempt(username, course_id, content_id)
def get_all_exams_for_course(course_id): def get_all_exams_for_course(course_id):
......
...@@ -54,7 +54,10 @@ from .utils import ( ...@@ -54,7 +54,10 @@ from .utils import (
LoggedInTestCase, LoggedInTestCase,
) )
from edx_proctoring.tests.test_services import MockCreditService from edx_proctoring.tests.test_services import (
MockCreditService,
MockInstructorService,
)
from edx_proctoring.runtime import set_runtime_service, get_runtime_service from edx_proctoring.runtime import set_runtime_service, get_runtime_service
...@@ -100,6 +103,7 @@ class ProctoredExamApiTests(LoggedInTestCase): ...@@ -100,6 +103,7 @@ class ProctoredExamApiTests(LoggedInTestCase):
self.practice_exam_submitted_msg = 'You have submitted this practice proctored exam' self.practice_exam_submitted_msg = 'You have submitted this practice proctored exam'
set_runtime_service('credit', MockCreditService()) set_runtime_service('credit', MockCreditService())
set_runtime_service('instructor', MockInstructorService())
def _create_proctored_exam(self): def _create_proctored_exam(self):
""" """
......
...@@ -60,6 +60,17 @@ class MockCreditService(object): ...@@ -60,6 +60,17 @@ class MockCreditService(object):
found[0]['status'] = status found[0]['status'] = status
class MockInstructorService(object):
"""
Simple mock of the Instructor Service
"""
def delete_student_attempt(self, student_identifier, course_id, content_id): # pylint: disable=unused-argument
"""
Mock implementation
"""
return True
class TestProctoringService(unittest.TestCase): class TestProctoringService(unittest.TestCase):
""" """
Tests for ProctoringService Tests for ProctoringService
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment