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)
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)
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')