Skip to content

Commit 24dcb33

Browse files
committed
added test cases
1 parent f2ad6ba commit 24dcb33

3 files changed

Lines changed: 107 additions & 4 deletions

File tree

File renamed without changes.

test/thepeer_test.py

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
import unittest
2+
3+
from thepeer.main import ThePeerInit
4+
5+
6+
thepeer_test_suites = ThePeerInit("pssk_test_vwww1yvvpymamtut26x5tvpx1znrcmeis2k0kvcmwzjax")
7+
8+
9+
class ThePeerInitMethods(unittest.TestCase):
10+
def test_index_user(self):
11+
self.assertEqual.__self__.maxDiff = None
12+
self.assertEqual(
13+
thepeer_test_suites.index_user(
14+
"Osagie Iyayi", "iyayiemmanuel1@gmail.com", "iyayiemmanuel1@gmail.com"
15+
),
16+
{"message": "identifier exists"},
17+
)
18+
19+
def test_view_user(self):
20+
self.assertEqual.__self__.maxDiff = None
21+
self.assertEqual(
22+
thepeer_test_suites.view_user("3bbb0fbf-82fa-48a0-80eb-d2c0338fe7dd"),
23+
{
24+
"indexed_user": {
25+
"name": "Osagie Iyayi",
26+
"identifier": "iyayiemmanuel1@gmail.com",
27+
"identifier_type": "email",
28+
"email": "iyayiemmanuel1@gmail.com",
29+
"reference": "3bbb0fbf-82fa-48a0-80eb-d2c0338fe7dd",
30+
"created_at": "2022-04-30T21:30:29.000000Z",
31+
"updated_at": "2022-05-04T07:37:45.000000Z",
32+
}
33+
},
34+
)
35+
36+
def test_all_users(self):
37+
38+
self.assertEqual(
39+
thepeer_test_suites.all_users(),
40+
{
41+
"indexed_users": {
42+
"data": [
43+
{
44+
"name": "Osagie Iyayi",
45+
"identifier": "iyayiemmanuel1@gmail.com",
46+
"identifier_type": "email",
47+
"email": "iyayiemmanuel1@gmail.com",
48+
"reference": "3bbb0fbf-82fa-48a0-80eb-d2c0338fe7dd",
49+
"created_at": "2022-04-30T21:30:29.000000Z",
50+
"updated_at": "2022-05-04T07:37:45.000000Z",
51+
},
52+
{
53+
"name": "Osagie Iyayi",
54+
"identifier": "iyayiemmanuel1@gmail.com",
55+
"identifier_type": "email",
56+
"email": "iyayiemmanuel1@gmail.com",
57+
"reference": "d2cb0c2c-7bd4-40a0-9744-824fbce176b7",
58+
"created_at": "2022-05-04T07:37:44.000000Z",
59+
"updated_at": "2022-05-04T07:37:44.000000Z",
60+
},
61+
],
62+
"meta": {"page": 1, "total": 2, "pageCount": 1, "perPage": 15},
63+
}
64+
},
65+
)
66+
67+
def test_user_links(self):
68+
self.assertEqual(
69+
thepeer_test_suites.get_user_links("3bbb0fbf-82fa-48a0-80eb-d2c0338fe7dd"),
70+
{"links": []},
71+
)
72+
73+
def test_single_link(self):
74+
self.assertEqual(
75+
thepeer_test_suites.get_single_link("3bbb0fbf-82fa-48a0-80eb-d2c0338fe7dd"),
76+
{"message": "link not found"},
77+
)

thepeer/main.py

Lines changed: 30 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,26 @@ def view_user(self, reference):
7474
except Exception as e:
7575
raise SwitchErrorStates(e).switch()
7676

77-
def update_user(self, reference, data):
77+
def all_users(self, page=1, per_page=15):
78+
"""this method gets all the indexed users of a business
79+
80+
Args:
81+
page (int): a specific page of pagination instances
82+
per_page (int): number of users to display in a single paginated instance page
83+
84+
Returns:
85+
dict: a dict containing paginated lists of dicts of indexed users
86+
"""
87+
88+
try:
89+
response = httpx.get(
90+
f"{self.url}/users?page={page}&perPage={per_page}", headers=dict(self.headers)
91+
)
92+
return response.json()
93+
except Exception as e:
94+
raise SwitchErrorStates(e).switch()
95+
96+
def update_user(self, reference, **data):
7897
"""this method helps update the user's information on thepeer's servers
7998
it is usually called after the user has indexed himself
8099
@@ -232,10 +251,17 @@ def refund_transaction(self, transaction_id, reason):
232251
# test function
233252
thepeer = ThePeerInit(config("PEER_SECRET_KEY"))
234253
test = thepeer.index_user("Osagie Iyayi", "iyayiemmanuel1@gmail.com", "iyayiemmanuel1@gmail.com")
254+
235255
get = thepeer.update_user(
236-
"3bbb0fbf-82fa-48a0-80eb-d2c0338fe7dd", {"identifier": "iyayiemmanuel1@gmail.com"}
256+
"3bbb0fbf-82fa-48a0-80eb-d2c0338fe7dd",
257+
identifier="iyayiemmanuel1@gmail.com",
258+
name="Osagie Iyayi",
259+
email="iyayiemmanuel1@gmail.com",
237260
)
261+
262+
# get = thepeer.all_users()
238263
charge = thepeer.authorize_direct_charge("3bbb0fbf-82fa-48a0-80eb-d2c0338fe7dd", "failed")
239264
view = thepeer.view_user("3bbb0fbf-82fa-48a0-80eb-d2c0338fe7dd")
240-
print(view)
241-
print(get)
265+
# print(test)
266+
# print(view)
267+
# print(get)

0 commit comments

Comments
 (0)