123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- from ...users.models import Ban
- from ..validators import UserDataValidator
- def test_valid_data_passess_validation(db):
- validator = UserDataValidator(
- {"id": 1, "username": "User", "email": "user@example.com"}
- )
- assert validator.is_valid()
- assert "id" not in validator.errors
- assert "username" not in validator.errors
- assert "email" not in validator.errors
- def test_invalid_id_fails_validation(db):
- validator = UserDataValidator(
- {"id": "invalid", "username": "User", "email": "user@example.com"}
- )
- assert not validator.is_valid()
- assert list(validator.errors) == ["id"]
- def test_invalid_username_fails_validation(db):
- validator = UserDataValidator(
- {"id": 1, "username": "User!", "email": "user@example.com"}
- )
- assert not validator.is_valid()
- assert list(validator.errors) == ["username"]
- def test_banned_username_fails_validation(db):
- Ban.objects.create(check_type=Ban.USERNAME, banned_value="User")
- validator = UserDataValidator(
- {"id": 1, "username": "User", "email": "user@example.com"}
- )
- assert not validator.is_valid()
- assert list(validator.errors) == ["username"]
- def test_invalid_email_fails_validation(db):
- validator = UserDataValidator({"id": 1, "username": "User", "email": "invalid"})
- assert not validator.is_valid()
- assert list(validator.errors) == ["email"]
- def test_banned_email_fails_validation(db):
- Ban.objects.create(check_type=Ban.EMAIL, banned_value="user@example.com")
- validator = UserDataValidator(
- {"id": 1, "username": "User", "email": "user@example.com"}
- )
- assert not validator.is_valid()
- assert list(validator.errors) == ["email"]
- def test_is_active_flag_can_be_included_in_data(db):
- validator = UserDataValidator(
- {"id": 1, "username": "User", "email": "user@example.com", "is_active": True}
- )
- assert validator.is_valid()
- assert validator.cleaned_data["is_active"] is True
|