Как проверить, что повторный 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)
Естественно, те же две ошибки продолжают появляться. Подскажите, пожалуйста, как правильнее эту проверку сделать?