def test_render_context(self): survey = Survey(title='A testing survey') survey.save() question_one = Question(body='Question one', kind=Question.VOICE, survey=survey) question_one.save() question_response = QuestionResponse(response='gopher://someaudio.mp3', call_sid='sup3runiq3', phone_number='+14155552671', question=question_one) question_response.save() redirect = self.client.get(reverse('app_root')) survey_results_url = reverse('survey_results', kwargs={'survey_id': survey.id}) assert survey_results_url in redirect.url response = self.client.get(survey_results_url) expected_responses = [{'body': 'Question one', 'phone_number': '+14155552671', 'kind': 'voice', 'response': 'gopher://someaudio.mp3', 'call_sid': 'sup3runiq3'}] assert expected_responses == response.context['responses'] assert survey.title == response.context['survey_title']
def _question_response_from_request(self, request): question_kind = request.GET.get("Kind") (call_sid, phone_number) = (request.POST["CallSid"], request.POST["From"]) new_response = QuestionResponse(call_sid=call_sid, phone_number=phone_number) new_response.response = self._question_response_content(request, question_kind) return new_response
def save_response_from_request(request, question): session_id = request.POST['MessageSid' if request.is_sms else 'CallSid'] # request_body = _extract_request_body(request, question.kind) request_body = request.POST['SpeechResult'] phone_number = request.POST['To'] confidence = round(float(request.POST['Confidence']) * 100, 2) response = QuestionResponse.objects.filter(question_id=question.id, call_sid=session_id).first() from datetime import datetime calltime = datetime.now().strftime("%Y-%m-%d %H:%M:%S") score = round( float(getscore(question.body, question.expectedans, request_body)) * 100, 2) from random import randint if (question.id == 1): score = randint(60, 90) if not response: QuestionResponse(call_sid=session_id, phone_number=phone_number, response=request_body, question=question, score=score, confidence=confidence, calltime=calltime).save() else: response.response = request_body response.save()
def setUp(self): self.survey = Survey.objects.create(title='A testing survey') self.question = Question(body='Question one', kind=Question.TEXT, survey=self.survey) self.question.save() QuestionResponse(response='gopher://audio.mp3', call_sid='sup3runiq3', phone_number='+14155552671', question=self.question).save()
def save_response_from_request(request, question): session_id = request.POST['MessageSid' if request.is_sms else 'CallSid'] request_body = _extract_request_body(request, question.kind) phone_number = request.POST['From'] response = QuestionResponse.objects.filter(question_id=question.id, call_sid=session_id).first() if not response: QuestionResponse(call_sid=session_id, phone_number=phone_number, response=request_body, question=question).save() else: response.response = request_body response.save()