Как проверить, что повторный POST запрос на регистрацию возвращает ответ со статусом 200?

Всем привет! Необходимо для учебного API проекта доделать функцию регистрации. Pytest выдаёт две ошибки:

AssertionError: Проверьте, что повторный POST-запрос к `/api/v1/auth/signup/` с данными зарегистрированного пользователя возвращает ответ со статусом 200.
E       assert 400 == <HTTPStatus.OK: 200>
AssertionError: Проверьте, что POST-запрос к /api/v1/auth/signup/ с данными пользователя, созданного администратором,  возвращает ответ со статусом 200.
E       assert 400 == <HTTPStatus.OK: 200>

Я по неопытности не могу корректно написать проверку касательно повторного запроса. Вот моя попытка:

@api_view(['POST'])
@permission_classes([AllowAny])
def sign_up(request):
    confirmation_code = Token.generate_key()
    serializer = SignUpSerializer(data=request.data)
    serializer.is_valid(raise_exception=True)
    email = serializer.data['email']
    username = serializer.data['username']
    try:
        user= User.objects.get(
            username=username, 
            email=email
        )
    except ObjectDoesNotExist:
        user= None
    if User.objects.filter(username=username, email=email).exists():
        send_mail(
        'Код подтверждения',
        f'Ваш код подтверждения: {confirmation_code}',
        '[email protected]',
        [email],
        fail_silently=True
    )
    else:
        user = User.objects.create(
            username=serializer.validated_data['username'],
            email=serializer.validated_data['email'],
        )
        user.save()
        send_mail(
            'Код подтверждения',
            f'Ваш код подтверждения: {confirmation_code}',
            '[email protected]',
            [email],
            fail_silently=True
        )
    return Response(serializer.data, status=status.HTTP_200_OK)

Естественно, те же две ошибки продолжают появляться. Подскажите, пожалуйста, как правильнее эту проверку сделать?


Ответы (0 шт):