diff --git a/server.py b/server.py index e50c58eca..226bfa999 100644 --- a/server.py +++ b/server.py @@ -60,6 +60,11 @@ def purchasePlaces(): return render_template('welcome.html', club=club, competitions=competitions) + if placesRequired > int(club['points']): + flash('Insufficiant points.') + return render_template('welcome.html', club=club, + competitions=competitions) + competition['numberOfPlaces'] = int( competition['numberOfPlaces']) - placesRequired flash('Great-booking complete!') diff --git a/tests/test_server.py b/tests/test_server.py index 4200b2789..c16576a54 100644 --- a/tests/test_server.py +++ b/tests/test_server.py @@ -3,11 +3,8 @@ def test_purchase_places(client): - clubs = loadClubs() - competitions = loadCompetitions() - - test_club = clubs[0] - test_competition = competitions[0] + test_club = loadClubs()[0] + test_competition = loadCompetitions()[0] places_to_purchase = 8 response = client.post('/purchasePlaces', data={ @@ -22,11 +19,8 @@ def test_purchase_places(client): def test_max_purchase_places(client): - clubs = loadClubs() - competitions = loadCompetitions() - - test_club = clubs[0] - test_competition = competitions[0] + test_club = loadClubs()[0] + test_competition = loadCompetitions()[0] places_to_purchase = 28 response = client.post('/purchasePlaces', data={ @@ -37,3 +31,19 @@ def test_max_purchase_places(client): assert response.status_code == 200 assert b'Max purchase 12.' in response.data + + +def test_has_sufficient_points(client): + + test_club = loadClubs()[1] + test_competition = loadCompetitions()[0] + places_to_purchase = 9 + + response = client.post('/purchasePlaces', data={ + 'club': test_club['name'], + 'competition': test_competition['name'], + 'places': places_to_purchase + }) + + assert response.status_code == 200 + assert b'Insufficiant points.' in response.data