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