Exemplo n.º 1
0
    def test_last_answer_date(self):
        p = profile()
        u = p.user
        answer(creator=u, save=True)

        serializer = api.ProfileSerializer(instance=p)
        eq_(serializer.data['last_answer_date'], u.answers.last().created)
Exemplo n.º 2
0
 def test_username_too_short(self):
     # Min length is 4 chars.
     self.data['username'] = '******'
     serializer = api.ProfileSerializer(data=self.data)
     eq_(serializer.is_valid(), False)
     eq_(serializer.errors, {'username':
         [u'Usernames may only be letters, numbers, "." and "-".']})
Exemplo n.º 3
0
 def test_username_too_long(self):
     # Max length is 30
     self.data['username'] = '******' * 31
     serializer = api.ProfileSerializer(data=self.data)
     eq_(serializer.is_valid(), False)
     eq_(serializer.errors, {'username':
         [u'Usernames may only be letters, numbers, "." and "-".']})
Exemplo n.º 4
0
 def test_username_bad_chars(self):
     # New users shouldn't be able to have '@' in their username.
     self.data['username'] = '******'
     serializer = api.ProfileSerializer(data=self.data)
     eq_(serializer.is_valid(), False)
     eq_(serializer.errors, {'username':
         [u'Usernames may only be letters, numbers, "." and "-".']})
Exemplo n.º 5
0
 def test_no_duplicate_emails(self):
     user(email=self.data['email'], save=True)
     serializer = api.ProfileSerializer(data=self.data)
     eq_(serializer.errors, {
         'email': ['A user with that email address already exists.'],
     })
     assert not serializer.is_valid()
Exemplo n.º 6
0
    def test_last_answer_date(self):
        p = ProfileFactory()
        u = p.user
        AnswerFactory(creator=u)

        serializer = api.ProfileSerializer(instance=p)
        eq_(serializer.data['last_answer_date'], u.answers.last().created)
Exemplo n.º 7
0
 def test_user_created(self):
     # There is at least one user in existence due to migrations
     number_users = User.objects.count()
     serializer = api.ProfileSerializer(data=self.data)
     assert serializer.is_valid()
     serializer.save()
     eq_(User.objects.count(), number_users + 1)
     eq_(Profile.objects.count(), 1)
Exemplo n.º 8
0
    def test_cant_update_username(self):
        p = ProfileFactory(user__username='******')

        serializer = api.ProfileSerializer(data=self.data, instance=p)
        eq_(serializer.is_valid(), False)
        eq_(serializer.errors, {
            'username': [u"Can't change this field."],
        })
Exemplo n.º 9
0
    def test_counts(self):
        u = UserFactory()
        p = u.profile
        q = QuestionFactory(creator=u)
        AnswerFactory(creator=u)
        q.solution = AnswerFactory(question=q, creator=u)
        q.save()

        serializer = api.ProfileSerializer(instance=p)
        eq_(serializer.data['question_count'], 1)
        eq_(serializer.data['answer_count'], 2)
        eq_(serializer.data['solution_count'], 1)
Exemplo n.º 10
0
    def test_counts(self):
        p = profile()
        u = p.user
        q = question(creator=u, save=True)
        answer(creator=u, save=True)
        q.solution = answer(question=q, creator=u, save=True)
        q.save()

        serializer = api.ProfileSerializer(instance=p)
        eq_(serializer.data['question_count'], 1)
        eq_(serializer.data['answer_count'], 2)
        eq_(serializer.data['solution_count'], 1)
Exemplo n.º 11
0
    def test_helpfulness(self):
        p = profile()
        u = p.user
        a1 = answer(creator=u, save=True)
        a2 = answer(creator=u, save=True)

        answervote(answer=a1, helpful=True, save=True)
        answervote(answer=a2, helpful=True, save=True)
        answervote(answer=a2, helpful=True, save=True)
        # Some red herrings.
        answervote(creator=u, save=True)
        answervote(answer=a1, helpful=False, save=True)

        serializer = api.ProfileSerializer(instance=p)
        eq_(serializer.data['helpfulness'], 3)
Exemplo n.º 12
0
    def test_helpfulness(self):
        u = UserFactory()
        p = u.profile
        a1 = AnswerFactory(creator=u)
        a2 = AnswerFactory(creator=u)

        AnswerVoteFactory(answer=a1, helpful=True)
        AnswerVoteFactory(answer=a2, helpful=True)
        AnswerVoteFactory(answer=a2, helpful=True)
        # Some red herrings.
        AnswerVoteFactory(creator=u)
        AnswerVoteFactory(answer=a1, helpful=False)

        serializer = api.ProfileSerializer(instance=p)
        eq_(serializer.data['helpfulness'], 3)
Exemplo n.º 13
0
 def test_automatic_display_name(self):
     del self.data['display_name']
     serializer = api.ProfileSerializer(data=self.data)
     assert serializer.is_valid()
     eq_(serializer.object.name, 'bobb')
Exemplo n.º 14
0
 def test_password(self):
     serializer = api.ProfileSerializer(data=self.data)
     assert serializer.is_valid()
     serializer.save()
     assert serializer.object.user.password != 'testpass'
     assert serializer.object.user.check_password('testpass')
Exemplo n.º 15
0
 def test_password(self):
     serializer = api.ProfileSerializer(data=self.data)
     serializer.is_valid(raise_exception=True)
     obj = serializer.save()
     assert obj.user.password != 'testpass'
     assert obj.user.check_password('testpass')
Exemplo n.º 16
0
 def test_automatic_display_name(self):
     del self.data['display_name']
     serializer = api.ProfileSerializer(data=self.data)
     serializer.is_valid(raise_exception=True)
     obj = serializer.save()
     eq_(obj.name, 'bobb')
Exemplo n.º 17
0
 def test_users_with_emails_get_confirmation_email(self):
     serializer = api.ProfileSerializer(data=self.data)
     assert serializer.is_valid()
     serializer.save()
     eq_(len(mail.outbox), 1)
     eq_(mail.outbox[0].subject, 'Please confirm your email address')
Exemplo n.º 18
0
 def test_users_with_emails_are_inactive(self):
     serializer = api.ProfileSerializer(data=self.data)
     serializer.is_valid(raise_exception=True)
     obj = serializer.save()
     eq_(obj.user.is_active, False)
Exemplo n.º 19
0
 def test_users_with_emails_are_inactive(self):
     serializer = api.ProfileSerializer(data=self.data)
     serializer.is_valid()
     assert serializer.is_valid()
     serializer.save()
     eq_(serializer.object.user.is_active, False)
Exemplo n.º 20
0
 def test_users_without_emails_are_active(self):
     del self.data['email']
     serializer = api.ProfileSerializer(data=self.data)
     assert serializer.is_valid()
     serializer.save()
     eq_(serializer.object.user.is_active, True)