1
+ from json import dumps
2
+ from uuid import uuid4
3
+
1
4
import requests
2
5
from assertpy .assertpy import assert_that
3
6
4
- from json import dumps
5
7
from config import BASE_URI
6
- from utils .print_helpers import pretty_print
7
- from uuid import uuid4
8
8
9
9
10
10
def test_read_all_has_kent ():
@@ -20,6 +20,29 @@ def test_read_all_has_kent():
20
20
21
21
22
22
def test_new_person_can_be_added ():
23
+ unique_last_name = create_new_person ()
24
+
25
+ # After user is created, we read all the users and then use filter expression to find if the
26
+ # created user is present in the response list
27
+ peoples = requests .get (BASE_URI ).json ()
28
+ is_new_user_created = [person for person in peoples if person ['lname' ] == unique_last_name ]
29
+ assert_that (is_new_user_created ).is_not_empty ()
30
+
31
+
32
+ def test_created_person_can_be_deleted ():
33
+ persons_last_name = create_new_person ()
34
+ if not persons_last_name :
35
+ raise AssertionError ('User not created' )
36
+
37
+ peoples = requests .get (BASE_URI ).json ()
38
+ newly_created_user = [person for person in peoples if person ['lname' ] == persons_last_name ][0 ]
39
+
40
+ delete_url = f'{ BASE_URI } /{ newly_created_user ["person_id" ]} '
41
+ response = requests .delete (delete_url )
42
+ assert_that (response .status_code ).is_equal_to (requests .codes .ok )
43
+
44
+
45
+ def create_new_person ():
23
46
# Ensure a user with a unique last name is created everytime the test runs
24
47
# Note: json.dumps() is used to convert python dict to json string
25
48
unique_last_name = f'User { str (uuid4 ())} '
@@ -38,9 +61,4 @@ def test_new_person_can_be_added():
38
61
# We use requests.post method with keyword params to make the request more readable
39
62
response = requests .post (url = BASE_URI , data = payload , headers = headers )
40
63
assert_that (response .status_code ).is_equal_to (requests .codes .no_content )
41
-
42
- # After user is created, we read all the users and then use filter expression to find if the
43
- # created user is present in the response list
44
- people = requests .get (BASE_URI ).json ()
45
- is_new_user_created = filter (lambda person : person ['lname' ] == unique_last_name , people )
46
- assert_that (is_new_user_created ).is_true ()
64
+ return unique_last_name
0 commit comments