Ответ
Sign Up (Регистрация) — это процесс создания новой учетной записи в системе. Пользователь предоставляет необходимые данные (email, пароль и др.), которые проходят валидацию, после чего в базе данных создается запись.
Критические точки для тестирования:
- Валидация полей: сложность пароля, уникальность email/логина, обязательные поля.
- Бизнес-логика: отправка email для подтверждения, активация аккаунта по ссылке.
- Безопасность: пароли должны храниться в хешированном виде (например, с использованием bcrypt).
- Обработка дубликатов: попытка регистрации с уже существующим email должна возвращать понятную ошибку.
Пример тест-кейса:
import pytest
import requests
from models import User # Предполагается модель SQLAlchemy или аналогичная
def test_user_registration():
# Arrange
new_user = {
"email": "new.user@example.com",
"password": "Str0ngP@ssw0rd",
"full_name": "Test User"
}
# Act: Отправка запроса на регистрацию
response = requests.post("https://api.example.com/auth/signup", json=new_user)
# Assert
assert response.status_code == 201, "Аккаунт не был создан"
# Проверка, что пользователь появился в БД
db_user = User.query.filter_by(email=new_user["email"]).first()
assert db_user is not None
assert db_user.email == new_user["email"]
# Пароль в БД должен быть хешем, а не исходной строкой
assert db_user.password != new_user["password"]