Login uchun test lar qo'shildi
This commit is contained in:
@@ -9,6 +9,7 @@ from django_core.models import SmsConfirm
|
|||||||
from pydantic import BaseModel
|
from pydantic import BaseModel
|
||||||
from rest_framework import status
|
from rest_framework import status
|
||||||
from rest_framework.test import APIClient
|
from rest_framework.test import APIClient
|
||||||
|
from django.utils import timezone
|
||||||
|
|
||||||
|
|
||||||
class TokenModel(BaseModel):
|
class TokenModel(BaseModel):
|
||||||
@@ -26,6 +27,8 @@ def test_user(db):
|
|||||||
phone = "998999999999"
|
phone = "998999999999"
|
||||||
password = "password"
|
password = "password"
|
||||||
user = get_user_model().objects.create_user(phone=phone, first_name="John", last_name="Doe", password=password)
|
user = get_user_model().objects.create_user(phone=phone, first_name="John", last_name="Doe", password=password)
|
||||||
|
user.validated_at = timezone.now()
|
||||||
|
user.save()
|
||||||
return user
|
return user
|
||||||
|
|
||||||
|
|
||||||
@@ -40,9 +43,6 @@ def sms_code(test_user):
|
|||||||
def test_reg_view(api_client):
|
def test_reg_view(api_client):
|
||||||
data = {
|
data = {
|
||||||
"phone": "998999999991",
|
"phone": "998999999991",
|
||||||
"first_name": "John",
|
|
||||||
"last_name": "Doe",
|
|
||||||
"password": "password",
|
|
||||||
}
|
}
|
||||||
with patch.object(SmsService, "send_confirm", return_value=True):
|
with patch.object(SmsService, "send_confirm", return_value=True):
|
||||||
response = api_client.post(reverse("auth-register"), data=data)
|
response = api_client.post(reverse("auth-register"), data=data)
|
||||||
@@ -124,3 +124,37 @@ def test_me_update_view(api_client, test_user):
|
|||||||
data = {"first_name": "Updated"}
|
data = {"first_name": "Updated"}
|
||||||
response = api_client.patch(reverse("me-user-update"), data=data)
|
response = api_client.patch(reverse("me-user-update"), data=data)
|
||||||
assert response.status_code == status.HTTP_200_OK
|
assert response.status_code == status.HTTP_200_OK
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.django_db
|
||||||
|
def test_login_send_code(api_client, test_user):
|
||||||
|
data = {"phone": test_user.phone}
|
||||||
|
|
||||||
|
with patch.object(SmsService, "send_confirm", return_value=True):
|
||||||
|
response = api_client.post(reverse("login-send-code"), data=data)
|
||||||
|
assert response.status_code == status.HTTP_202_ACCEPTED
|
||||||
|
assert response.data["data"]["detail"] == f"Sms {test_user.phone} raqamiga yuborildi"
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.django_db
|
||||||
|
def test_login_send_code_invalid_phone(api_client, test_user):
|
||||||
|
phone = f"{test_user.phone}1"
|
||||||
|
data = {"phone": phone}
|
||||||
|
with patch.object(SmsService, "send_confirm", return_value=True):
|
||||||
|
response = api_client.post(reverse("login-send-code"), data=data)
|
||||||
|
assert response.status_code == status.HTTP_400_BAD_REQUEST
|
||||||
|
assert response.data["data"]["phone"][0] == f"Phone Not Found"
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.django_db
|
||||||
|
def test_login_code_confirm_view(api_client, test_user, sms_code):
|
||||||
|
data = {"phone": test_user.phone, "code": sms_code}
|
||||||
|
response = api_client.post(reverse("login-send-confirm"), data=data)
|
||||||
|
assert response.status_code == status.HTTP_202_ACCEPTED
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.django_db
|
||||||
|
def test_login_code_confirm_invalid_code(api_client, test_user):
|
||||||
|
data = {"phone": test_user.phone, "code": "123456"}
|
||||||
|
response = api_client.post(reverse("login-send-confirm"), data=data)
|
||||||
|
assert response.status_code == status.HTTP_400_BAD_REQUEST
|
||||||
|
|||||||
Reference in New Issue
Block a user