Files
bootle/test_app.py
T

64 lines
2.0 KiB
Python
Executable File

import sys
from starlette.testclient import TestClient
from app.main import app
def test_endpoints():
client = TestClient(app)
# Test pages
res = client.get("/")
assert res.status_code == 200, f"Index failed: {res.status_code}"
assert "Die Kammern des Steins der Weisen" in res.text
res = client.get("/broom")
assert res.status_code == 200
assert "Der Besenflug" in res.text
res = client.get("/bottles")
assert res.status_code == 200
assert "Snapes Flaschenrätsel" in res.text
res = client.get("/sliding")
assert res.status_code == 200
assert "Alchemie-Schieberätsel" in res.text
res = client.get("/finale")
assert res.status_code == 200
assert "ESCAPE GEMEISTERT" in res.text
# Test API Broom complete
res = client.post("/api/broom/complete", json={"score": 500, "time_taken": 25})
assert res.status_code == 200
data = res.json()
assert data["success"] is True
# Test API Bottles drink: Poison (Bottle 1)
res = client.post("/api/bottles/drink", json={"bottle": 1, "gate": "ahead"})
assert res.status_code == 200
assert res.json()["result"] == "poison"
# Test API Bottles drink: Wine (Bottle 2)
res = client.post("/api/bottles/drink", json={"bottle": 2, "gate": "ahead"})
assert res.status_code == 200
assert res.json()["result"] == "wine"
# Test API Bottles drink: Back (Bottle 7)
res = client.post("/api/bottles/drink", json={"bottle": 7, "gate": "back"})
assert res.status_code == 200
assert res.json()["result"] == "success_back"
# Test API Bottles drink: Ahead / Black fire (Bottle 3 - Dwarf)
res = client.post("/api/bottles/drink", json={"bottle": 3, "gate": "ahead"})
assert res.status_code == 200
assert res.json()["result"] == "success_ahead"
# Test API Reset
res = client.post("/api/reset")
assert res.status_code == 200
assert res.json()["success"] is True
print("ALL TESTS PASSED SUCCESSFULLY! 🧙‍♂️✨")
if __name__ == "__main__":
test_endpoints()