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)
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 "-".']})
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 "-".']})
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 "-".']})
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()
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)
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)
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."], })
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)
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)
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)
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)
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')
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')
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')
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')
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')
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)
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)
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)