def test_results_survey(self): survey = SurveyFactory.create() SurveyContent.objects.create_for_placeholder(self.placeholder, survey=survey) response = self.client.get(self.url) self.assertEquals(response.status_code, status.HTTP_200_OK) self.assertEqual(response.data['title'], self.page.title) self.assertEqual(response.data['description'], self.page.description) survey = response.data['blocks'][0] self.assertEqual(survey['type'], 'survey') self.assertTrue('response_count' in survey) self.assertEqual(survey['answers'], [])
def test_results_list(self): survey = SurveyFactory.create() SurveyContent.objects.create_for_placeholder(self.placeholder, survey=survey) quote_block = QuotesContent.objects.create_for_placeholder(self.placeholder) self.quote = QuoteFactory(block=quote_block) stat_block = StatsContent.objects.create_for_placeholder(self.placeholder) self.stat = StatFactory(block=stat_block) response = self.client.get(self.url) self.assertEquals(response.status_code, status.HTTP_200_OK) self.assertEquals(len(response.data['blocks']), 3) self.assertEquals(response.data['blocks'][0]['type'], 'survey') self.assertEquals(response.data['blocks'][1]['type'], 'quotes') self.assertEquals(response.data['blocks'][2]['type'], 'statistics')
def setUp(self): super(PlatformAggregateTest, self).setUp() now = timezone.now() last_year = now - datetime.timedelta(days=365) self.init_projects() survey = SurveyFactory.create() old_project = ProjectFactory.create(campaign_ended=last_year) new_project = ProjectFactory.create(campaign_ended=now) old_task1 = TaskFactory.create(project=old_project) old_task2 = TaskFactory.create(project=new_project) question1 = QuestionFactory.create(remote_id=1, type='number', survey=survey) question2 = QuestionFactory.create(remote_id=2, type='table-radio', survey=survey) SubQuestionFactory.create(question=question2, title='before') SubQuestionFactory.create(question=question2, title='after') question3 = QuestionFactory.create(remote_id=3, type='checkbox', survey=survey) question4 = QuestionFactory.create(remote_id=4, type='number', aggregation='average', survey=survey) for answer1, answer2, answer3, answer4 in ((4, { 'before': 1, 'after': 3 }, { 'test': 3, 'tast': 4 }, 62), (6, { 'before': 3, 'after': 5 }, { 'test': 4, 'tast': 3 }, 65), (8, { 'before': 5, 'after': 5 }, { 'test': 5, 'tast': 5 }, 55), (2, { 'before': 7, 'after': 3 }, { 'test': 6, 'tast': 5 }, 62)): response = ResponseFactory(project=old_project, survey=survey) AnswerFactory.create(question=question1, response=response, value=answer1) AnswerFactory.create(question=question2, response=response, options=answer2) AnswerFactory.create(question=question3, response=response, options=answer3) AnswerFactory.create(question=question4, response=response, value=answer4) for answer1, answer2, answer3, answer4 in ( (2, { 'before': 6, 'after': 8 }, { 'test': 4, 'tast': 5 }, 60), (4, { 'before': 2, 'after': 4 }, { 'test': 4, 'tast': 2 }, 40), ): response = ResponseFactory(task=old_task1, survey=survey) AnswerFactory.create(question=question1, response=response, value=answer1) AnswerFactory.create(question=question2, response=response, options=answer2) AnswerFactory.create(question=question3, response=response, options=answer3) AnswerFactory.create(question=question4, response=response, value=answer4) for answer1, answer2, answer3, answer4 in ( (11, { 'before': 0, 'after': 2 }, { 'test': 2, 'tast': 3 }, 12), (9, { 'before': 2, 'after': 4 }, { 'test': 4, 'tast': 2 }, 16), ): response = ResponseFactory(task=old_task2, survey=survey) AnswerFactory.create(question=question1, response=response, value=answer1) AnswerFactory.create(question=question2, response=response, options=answer2) AnswerFactory.create(question=question3, response=response, options=answer3) AnswerFactory.create(question=question4, response=response, value=answer4) for answer1, answer2, answer3, answer4 in ((3, { 'before': 0, 'after': 2 }, { 'test': 2, 'tast': 3 }, 23), (5, { 'before': 2, 'after': 4 }, { 'test': 4, 'tast': 2 }, 12), (7, { 'before': 5, 'after': 4 }, { 'test': 4, 'tast': 5 }, 14), (1, { 'before': 6, 'after': 2 }, { 'test': 5, 'tast': 4 }, 500)): response = ResponseFactory(project=new_project, survey=survey) AnswerFactory.create(question=question1, response=response, value=answer1) AnswerFactory.create(question=question2, response=response, options=answer2) AnswerFactory.create(question=question3, response=response, options=answer3) AnswerFactory.create(question=question4, response=response, value=answer4) survey.aggregate()