Как мне написать тест, чтобы проверить этот пользовательский сериализатор для сброса пароля? - PullRequest
0 голосов
/ 15 ноября 2018

Версия:

  • Django 1.11
  • Python 3.6

Я нахожусь на 100% тестовом покрытии, и я получил этот пользовательский сериализатор, который яЯ не уверен, как писать тесты для.

from rest_auth.serializers import PasswordResetSerializer, \
    PasswordResetConfirmSerializer as BasePasswordResetConfirmSerializer, TokenSerializer as BaseTokenSerializer
from rest_framework import serializers

class PasswordResetConfirmSerializer(BasePasswordResetConfirmSerializer):

    def validate(self, attrs):
        self._errors = {}

        # Decode the uidb64 to uid to get User object
        try:
            uid = url_str_to_user_pk(attrs['uid'])
            self.user = UserModel._default_manager.get(pk=uid)
        except (TypeError, ValueError, OverflowError, UserModel.DoesNotExist):
            raise ValidationError({'uid': ['Invalid value']})

        self.custom_validation(attrs)
        # Construct SetPasswordForm instance
        self.set_password_form = self.set_password_form_class(
            user=self.user, data=attrs
        )
        if not self.set_password_form.is_valid():
            raise serializers.ValidationError(self.set_password_form.errors)
        if not default_token_generator.check_token(self.user, attrs['token']):
            raise ValidationError({'token': ['Invalid value']})

        return attrs

Как написать модульный тест для этого класса сериализатора?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...