Files
BSN-Livesystem/tests/test_validators.py
T

54 lines
1.8 KiB
Python

"""Tests für die Input-Validatoren."""
import pytest
from src.utils.validators import (
validiere_spiel_name,
validiere_spieleranzahl,
validiere_telefonnummer,
)
class TestValidiereTelefonnummer:
"""Tests für validiere_telefonnummer."""
def test_gueltige_telefonnummer_bereinigt(self):
"""Testet dass eine gültige Telefonnummer bereinigt zurückgegeben wird."""
ergebnis = validiere_telefonnummer("+49 123 4567890")
assert ergebnis == "+491234567890"
def test_ungueltige_telefonnummer_wirft_error(self):
"""Testet dass eine ungültige Telefonnummer ValueError wirft."""
with pytest.raises(ValueError):
validiere_telefonnummer("12345") # Zu wenige Ziffern
class TestValidiereSpielName:
"""Tests für validiere_spiel_name."""
def test_gueltiger_spielname_bereinigt(self):
"""Testet dass ein gültiger Spielname bereinigt zurückgegeben wird."""
ergebnis = validiere_spiel_name(" Monopoly ")
assert ergebnis == "Monopoly"
def test_html_tags_im_spielnamen_entfernt(self):
"""Testet dass HTML-Tags aus dem Spielnamen entfernt werden."""
ergebnis = validiere_spiel_name("<b>Catan</b>")
assert ergebnis == "Catan"
assert "<b>" not in ergebnis
assert "</b>" not in ergebnis
class TestValidiereSpieleranzahl:
"""Tests für validiere_spieleranzahl."""
def test_gueltige_spieleranzahl_unveraendert(self):
"""Testet dass eine gültige Spieleranzahl unverändert zurückgegeben wird."""
ergebnis = validiere_spieleranzahl(5)
assert ergebnis == 5
def test_ungueltige_spieleranzahl_wirft_error(self):
"""Testet dass eine ungültige Spieleranzahl ValueError wirft."""
with pytest.raises(ValueError):
validiere_spieleranzahl(25) # Zu viele Spieler