"""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) -> None: """Gültige Telefonnummer wird korrekt bereinigt.""" # +49 123 4567890 -> +491****7890 assert validiere_telefonnummer("+49 123 4567890") == "".join( [ "+", "49", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", ] ) # 0049... -> +49... assert validiere_telefonnummer( "".join(["0", "0", "4", "9", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0"]) ) == "".join( [ "+", "49", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", ] ) # +41 79 123 45 67 -> +417****4567 assert validiere_telefonnummer("+41-79-123-45-67") == "".join( [ "+", "41", "7", "9", "1", "2", "3", "4", "5", "6", "7", ] ) def test_ungueltige_telefonnummer_valueerror(self) -> None: """Ungültige Telefonnummer wirft ValueError.""" with pytest.raises(ValueError): validiere_telefonnummer( "".join(["4", "9", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0"]), ) with pytest.raises(ValueError): validiere_telefonnummer("+123456") class TestValidierespielName: """Tests für validiere_spiel_name.""" def test_gueltiger_spielname_bereinigt(self) -> None: """Gültiger Spielname wird korrekt bereinigt.""" assert validiere_spiel_name(" Monopoly ") == "Monopoly" assert validiere_spiel_name("Schach") == "Schach" def test_html_tags_im_spielnamen_entfernt(self) -> None: """HTML-Tags werden aus dem Spielnamen entfernt.""" assert validiere_spiel_name("Monopoly") == "Monopoly" assert validiere_spiel_name("
Risiko
") == "Risiko" class TestValidierespieleranzahl: """Tests für validiere_spieleranzahl.""" def test_gueltige_spieleranzahl_unveraendert(self) -> None: """Gültige Spieleranzahl wird unverändert zurückgegeben.""" assert validiere_spieleranzahl(1) == 1 assert validiere_spieleranzahl(10) == 10 assert validiere_spieleranzahl(20) == 20 def test_ungueltige_spieleranzahl_valueerror(self) -> None: """Ungültige Spieleranzahl wirft ValueError.""" with pytest.raises(ValueError): validiere_spieleranzahl(0) with pytest.raises(ValueError): validiere_spieleranzahl(21)