Example #1
0
    def test_valid_data_save(self):
        respondent = Respondent(id=100)
        respondent.save()

        comment = Comment.objects.create(
            respondent=respondent,
            question_id=1,
            message='hello world',
            language='en',
        )

        self.assertEqual(QuantitativeQuestionRating.objects.count(), 0)

        http_response = self.push({
            'question-ratings': {
                '1': 4
            },
            'comments': {
                '1': 'hello world',
            },
            'comment-ratings': {
                unicode(comment.id): 2
            },
            'respondent-data': {
                'language': 'tl'
            }
        })

        self.assertEqual(http_response.status_code, 200)
        self.assertEqual(QuantitativeQuestionRating.objects.count(), 1)
        self.assertEqual(Comment.objects.count(), 2)
        self.assertEqual(CommentRating.objects.count(), 1)
        self.assertEqual(Respondent.objects.count(), 2)
        self.assertEqual(Comment.objects.last().message, 'hello world')
Example #2
0
    def test_respondent_gender_validation(self):
        for gender in ['', 'M', 'F']:
            Respondent(gender=gender).full_clean()

        for gender in ['m', 'f', '?', 'Male', '**']:
            with self.assertRaises(ValidationError) as context:
                Respondent(gender=gender).full_clean()
            errors = dict(context.exception)
            self.assertEqual(len(errors), 1)
            self.assertTrue('gender' in errors)
Example #3
0
    def test_respondent_age_validation(self):
        for age in [0, 10, 60, 110, 120]:
            Respondent(age=age).full_clean()

        for age in [-1, 121, 65535]:
            with self.assertRaises(ValidationError) as context:
                Respondent(age=age).full_clean()
            errors = dict(context.exception)
            self.assertEqual(len(errors), 1)
            self.assertTrue('age' in errors)