Skip to content

Commit 2aa49d4

Browse files
author
laurence
committed
2 parents 3ff5a28 + 2aa273c commit 2aa49d4

File tree

2 files changed

+23
-0
lines changed

2 files changed

+23
-0
lines changed

server.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ def purchasePlaces():
5353
return render_template('welcome.html', club=club, competitions=competitions)
5454
competition['numberOfPlaces'] = int(competition['numberOfPlaces']) - placesRequired
5555
flash('Great-booking complete!')
56+
club["points"] = int(club["points"]) - placesRequired
5657
return render_template('welcome.html', club=club, competitions=competitions)
5758

5859

test/tests_unitaires/test_server.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,15 @@
22
from server import app
33
from datetime import datetime, timedelta
44

5+
56
@pytest.fixture
67
def client():
78
app.config['TESTING'] = True
89
app.secret_key = "test" # Nécessaire pour flash
910
with app.test_client() as client:
1011
yield client
1112

13+
1214
def test_booking_past_competition(client, monkeypatch):
1315
# Compétition passée (hier)
1416
past_date = (datetime.now() - timedelta(days=1)).strftime("%Y-%m-%d %H:%M:%S")
@@ -32,3 +34,23 @@ def test_booking_past_competition(client, monkeypatch):
3234

3335
# Vérifie que les points du club n'ont pas changé
3436
assert test_club["points"] == "15"
37+
38+
def test_competition_places_are_decreased(client, monkeypatch):
39+
# Club avec assez de points
40+
test_club = {"name": "Test Club", "email": "test@club.com", "points": "20"}
41+
# Compétition avec 10 places
42+
test_competition = {"name": "Test Competition", "numberOfPlaces": "10", "date": "2025-12-12 10:00:00"}
43+
44+
# Patch les données directement dans server.py
45+
monkeypatch.setattr("server.clubs", [test_club])
46+
monkeypatch.setattr("server.competitions", [test_competition])
47+
48+
# POST de réservation de 3 places
49+
response = client.post("/purchasePlaces", data={
50+
"competition": "Test Competition",
51+
"club": "Test Club",
52+
"places": "3"
53+
}, follow_redirects=True)
54+
55+
# Vérifie que la compétition a bien été mise à jour
56+
assert test_competition["numberOfPlaces"] == 7 # 10 - 3

0 commit comments

Comments
 (0)