Skip to content

Commit 0d14487

Browse files
committed
(test) purchasePlaces function booking more than 12 places
1 parent d6f73c7 commit 0d14487

File tree

3 files changed

+42
-0
lines changed

3 files changed

+42
-0
lines changed

pytest.ini

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
[pytest]
2+
testpaths = tests
3+
4+

tests/__init__.py

Whitespace-only changes.

tests/test_endpoints.py

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
import pytest
2+
from server import app
3+
import html
4+
5+
6+
@pytest.fixture()
7+
def client():
8+
return app.test_client()
9+
10+
def test_purchasePlaces_input_less_12(client):
11+
response = client.post("/purchasePlaces", data = {"places":11,"competition":"Fall Classic","club":"Iron Temple"})
12+
assert response.status_code == 200
13+
assert b'Great-booking complete!' in response.data
14+
15+
16+
def test_purchasePlaces_input_more_12(client):
17+
response = client.post("/purchasePlaces", data = {"places":13,"competition":"Fall Classic","club":"Iron Temple"})
18+
assert response.status_code == 302
19+
response_redirect = client.get("/book/Fall%20Classic/Iron%20Temple")
20+
decoding_response_data = response_redirect.data.decode('UTF-8')
21+
converted_str = html.unescape(decoding_response_data)
22+
assert "Places required must be a positive integer that does not exceed 12" in converted_str
23+
24+
def test_purchasePlaces_input_negatif(client):
25+
response = client.post("/purchasePlaces", data = {"places":-1,"competition":"Fall Classic","club":"Iron Temple"})
26+
assert response.status_code == 302
27+
response_redirect = client.get("/book/Fall%20Classic/Iron%20Temple")
28+
decoding_response_data = response_redirect.data.decode('UTF-8')
29+
converted_str = html.unescape(decoding_response_data)
30+
assert "Places required must be a positive integer" in converted_str
31+
32+
def test_purchasePlaces_input_none(client):
33+
response = client.post("/purchasePlaces", data = {"places":"","competition":"Fall Classic","club":"Iron Temple"})
34+
assert response.status_code == 302
35+
response_redirect = client.get("/book/Fall%20Classic/Iron%20Temple")
36+
decoding_response_data = response_redirect.data.decode('UTF-8')
37+
converted_str = html.unescape(decoding_response_data)
38+
assert "Places required must be a positive integer" in converted_str

0 commit comments

Comments
 (0)