Skip to content

Commit

Permalink
Ajout de la branch de l'issue OpenClassrooms-Student-Center#4
Browse files Browse the repository at this point in the history
  • Loading branch information
SelHel committed Jun 9, 2022
1 parent 268a013 commit d47834f
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 46 deletions.
1 change: 1 addition & 0 deletions server.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import json
from datetime import datetime
from flask import Flask, render_template, request, redirect, flash, url_for

POINTS_FOR_A_PLACE = 1
Expand Down
4 changes: 2 additions & 2 deletions tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,12 +37,12 @@ def mock_competitions(mocker):
competitions = [
{
"name": "Test Competition 1",
"date": "2022-06-07 10:00:00",
"date": "2023-06-07 10:00:00",
"numberOfPlaces": "25"
},
{
"name": "Test Competition 2",
"date": "2020-03-27 10:00:00",
"date": "2023-03-27 10:00:00",
"numberOfPlaces": "13"
},
{
Expand Down
50 changes: 6 additions & 44 deletions tests/tests_unitaires/test_server.py
Original file line number Diff line number Diff line change
@@ -1,56 +1,18 @@
from server import POINTS_FOR_A_PLACE, MAX_PLACES_PER_COMPETITION
"""
Bug :
Quand un secrétaire essaie de réserver plus de 12 places dans une compétition,
Quand un secrétaire essaie de réserver un certain nombre de places dans une compétition déjà passée,
il reçoit un message de confirmation.
Attendu :
Il ne devrait pas pouvoir réserver plus de 12 places par compétition.
Les points échangés doivent être correctement déduits du total du club.
L'UI doit l'empêcher de réserver plus de 12 places.
Les places doivent être correctement déduites de la compétition.
Il ne devrait pas pouvoir réserver de places dans une compétition déjà passée.
Mais les concours passés doivent être visibles.
La page booking.html doit être affichée pour une compétition valide.
Un message d'erreur doit s'afficher lorsqu'une compétition n'est pas valide.
Un message de confirmation doit s'affichet lorsqu'une compétition est valide.
"""


def test_purchasePlaces_with_valid_data(client, mock_clubs, mock_competitions):
valid_data = {'club': 'Test Club 1',
'competition': 'Test Competition 1',
'places': 12
}
response = client.post('/purchasePlaces', data=valid_data)
assert response.status_code == 200
assert "Great-booking complete!" in response.data.decode()


def test_purchasePlaces_more_than_twelve_places_in_competition(client, mock_clubs, mock_competitions):
data = {'club': 'Test Club 2',
'competition': 'Test Competition 1',
'places': 13
}
response = client.post('/purchasePlaces', data=data)
assert response.status_code == 200
assert f"You cannot book more than {MAX_PLACES_PER_COMPETITION} places per competition!" in response.data.decode()


def test_purchasePlaces_more_places_than_available_in_competition(client, mock_clubs, mock_competitions):
data = {'club': 'Test Club 2',
'competition': 'Test Competition 3',
'places': 6
}
response = client.post('/purchasePlaces', data=data)
assert response.status_code == 200
assert "You cannot reserve more places than are available in the competition!" in response.data.decode()


def test_purchasePlaces_update_competition_places(client, mock_clubs, mock_competitions):
valid_data = {'club': 'Test Club 1',
'competition': 'Test Competition 1',
'places': 12
}
expected_competition_value = 25 - 13
response = client.post('/purchasePlaces', data=valid_data)
assert response.status_code == 200
assert "Great-booking complete!" in response.data.decode()



Expand Down

0 comments on commit d47834f

Please sign in to comment.