def test_multiple_responses_for_user_and_survey(self):
     user = UserFactory()
     teamtemp1 = TeamTemperatureFactory()
     teamtemp2 = TeamTemperatureFactory()
     _ = TemperatureResponseFactory(request=teamtemp1, responder=user)
     _ = TemperatureResponseFactory(request=teamtemp2, responder=user)
     self.assertEqual(user.temperature_responses.count(), 2)
     self.assertEqual(teamtemp1.temperature_responses.count(), 1)
     self.assertEqual(teamtemp2.temperature_responses.count(), 1)
예제 #2
0
 def setUp(self):
     self.survey = TeamTemperatureFactory()
     self.response = TemperatureResponseFactory(request=self.survey)
     self.form_data = {
         'response_id': self.response.id,
         'survey_type_title': 'test',
         'temp_question_title': 'test',
         'word_question_title': 'test',
         'team_name': self.response.team_name,
         'pretty_team_name': self.response.pretty_team_name(),
         'id': self.survey.id,
         'word': self.response.word,
         'score': self.response.score,
     }
    def setUp(self):
        self.teamtemp = TeamTemperatureFactory()
        self.team = TeamFactory(request=self.teamtemp)
        self.response = TemperatureResponseFactory(
            request=self.teamtemp, team_name=self.team.team_name)

        TeamResponseHistoryFactory(request=self.teamtemp,
                                   team_name=self.team.team_name)
        TeamResponseHistoryFactory(request=self.teamtemp, team_name='Average')
    def test_response(self):
        response = TemperatureResponseFactory()
        response.clean()
        self.assertTrue(len(response.word) > 0)
        self.assertTrue(response.score > 0)
        self.assertTrue(len(response.team_name) > 0)
        self.assertIsNotNone(response.response_date)
        self.assertIsNotNone(response.request)
        self.assertRegexpMatches(
            str(response), "^%d: %s %s %d %s %s " %
            (response.id, response.request.id, response.responder.id,
             response.score, response.word, response.team_name))

        stats, query_set = response.request.stats()
        self.assertEqual(stats['count'], 1)
        self.assertEqual(stats['average']['score__avg'], float(response.score))
        self.assertEqual(stats['words'][0]['word'], response.word)

        self.assertEqual(query_set.count(), 1)
    def test_multiple_responses_for_a_survey(self):
        teamtemp = TeamTemperatureFactory()
        response1 = TemperatureResponseFactory(request=teamtemp)
        response2 = TemperatureResponseFactory(request=teamtemp)
        response3 = TemperatureResponseFactory(request=teamtemp,
                                               word=response2.word)
        self.assertEqual(teamtemp.temperature_responses.count(), 3)

        stats, query_set = teamtemp.stats()

        self.assertEqual(stats['count'], 3)
        self.assertEqual(
            stats['average']['score__avg'],
            old_div(float(response1.score + response2.score + response3.score),
                    3))

        words = [[x['word']] * x['id__count'] for x in stats['words']]
        flat_words = sorted(itertools.chain(*words))

        self.assertEqual(
            flat_words,
            sorted([response1.word, response2.word, response3.word]))

        self.assertEqual(query_set.count(), 3)
예제 #6
0
class SurveyResponseFormTestCases(TestCase):
    def setUp(self):
        self.survey = TeamTemperatureFactory()
        self.response = TemperatureResponseFactory(request=self.survey)
        self.form_data = {
            'response_id': self.response.id,
            'survey_type_title': 'test',
            'temp_question_title': 'test',
            'word_question_title': 'test',
            'team_name': self.response.team_name,
            'pretty_team_name': self.response.pretty_team_name(),
            'id': self.survey.id,
            'word': self.response.word,
            'score': self.response.score,
        }

    def test_empty_survey_response_form(self):
        form = SurveyResponseForm(max_word_count=1)
        self.assertFalse(form.is_valid())

    def test_existing_survey_response_form(self):
        form = SurveyResponseForm(data=self.form_data, max_word_count=1)
        self.assertTrue(form.is_valid())

    def test_invalid_word_survey_response_form(self):
        self.form_data['word'] = 'bad!test'
        form = SurveyResponseForm(data=self.form_data, max_word_count=1)
        self.assertFalse(form.is_valid())

    def test_invalid_score_survey_response_form(self):
        self.form_data['score'] = 11
        form = SurveyResponseForm(data=self.form_data, max_word_count=1)
        self.assertFalse(form.is_valid())

    def test_too_many_words_survey_response_form(self):
        self.form_data['word'] = 'test one two three'
        form = SurveyResponseForm(data=self.form_data, max_word_count=2)
        self.assertFalse(form.is_valid())
 def test_invalid_score(self):
     with self.assertRaises(ValidationError):
         TemperatureResponseFactory(score=0)
     with self.assertRaises(ValidationError):
         TemperatureResponseFactory(score=11)
 def test_pretty_team_name(self):
     response = TemperatureResponseFactory(team_name='bob_and_his_friends')
     self.assertEqual(response.pretty_team_name(), 'bob and his friends')