1- from src .modules .get_member .app .get_member_controller import GetMemberController
2- from src .modules .get_member .app .get_member_usecase import GetMemberUsecase
1+ from src .modules .get_member_info .app .get_member_info_controller import GetMemberInfoController
2+ from src .modules .get_member_info .app .get_member_info_usecase import GetMemberInfoUsecase
33from src .shared .infra .repositories .member_repository_mock import MemberRepositoryMock
44from src .shared .infra .repositories .action_repository_mock import ActionRepositoryMock
55from src .shared .helpers .external_interfaces .http_models import HttpRequest
6- from src .shared .infra .repositories .strike_repository_mock import StrikeRepositoryMock
76from pprint import pprint
87
98
10- class Test_GetMemberController :
9+ class Test_GetMemberInfoController :
1110 member_repo = MemberRepositoryMock ()
1211 action_repo = ActionRepositoryMock ()
13- strike_repo = StrikeRepositoryMock ()
1412 first_member = member_repo .members [0 ] # Vitor Guirão
15- usecase = GetMemberUsecase (member_repo = member_repo , action_repo = action_repo , strike_repo = strike_repo )
16- controller = GetMemberController (usecase )
13+ usecase = GetMemberInfoUsecase (member_repo = member_repo , action_repo = action_repo )
14+ controller = GetMemberInfoController (usecase )
1715
18- def test_get_member_controller (self ):
16+ def test_get_member_info_controller (self ):
1917 request = HttpRequest (
2018 body = {
2119 'requester_user' : {
2220 "sub" : self .first_member .user_id ,
2321 "name" : self .first_member .name ,
2422 "email" : self .first_member .email ,
2523 "custom:isMaua" : True
26- },
27- 'start_date' : 1624576165000 , # 25/06/2021
28- 'end_date' : 1690046000000 # 22/07/2023
24+ }
2925 }
3026 )
3127
3228 expected_dict = {
33- 'member' : {
34- 'active' : 'ACTIVE' ,
35- 'cellphone' : '11991758098' ,
36- 'course' : 'ECA' ,
37- 'deactivated_date' : None ,
38- 'email' : 'vsoller@airubio.com' ,
39- 'email_dev' : 'vsoller.devmaua@gmail.com' ,
40- 'hired_date' : 1634576165000 ,
41- 'hours_worked' : 134460000000 ,
29+ 'member_info' : {
4230 'name' : 'Vitor Guirão MPNTM' ,
43- 'photo' : None ,
44- 'project' : ['Maua Food' , 'Portfólio' , 'Selfie Mauá' ],
4531 'ra' : '21017310' ,
4632 'role' : 'DIRECTOR' ,
4733 'stack' : 'INFRA' ,
48- 'strikes ' : 0 , # Nenhum strike nesse período (2021-2023)
49- 'strikes_id ' : [] ,
50- 'strikes_allowed ' : 4 , # 3 projetos = 4 strikes permitidos
51- 'user_id ' : '93bc6ada-c0d1-7054-66ab-e17414c48ae3' ,
52- 'year ' : 1
34+ 'year ' : 1 ,
35+ 'course ' : 'ECA' ,
36+ 'project ' : [ 'Maua Food' , 'Portfólio' , 'Selfie Mauá' ],
37+ 'hired_date ' : 1634576165000 ,
38+ 'photo ' : None
5339 },
54- 'message' : 'the member was retrieved'
40+ 'message' : 'the member info was retrieved successfully '
5541 }
5642
5743 response = self .controller (request )
@@ -61,7 +47,7 @@ def test_get_member_controller(self):
6147 assert response .status_code == 200
6248 assert response .body == expected_dict
6349
64- def test_get_controller_with_invalid_id (self ):
50+ def test_get_member_info_controller_with_invalid_id (self ):
6551 request = HttpRequest (
6652 body = {
6753 'requester_user' : {
@@ -77,7 +63,7 @@ def test_get_controller_with_invalid_id(self):
7763
7864 assert response .status_code == 400
7965
80- def test_get_controller_without_id (self ):
66+ def test_get_member_info_controller_without_id (self ):
8167 request = HttpRequest (
8268 body = {
8369 'requester_user' : {
@@ -93,7 +79,7 @@ def test_get_controller_without_id(self):
9379
9480 assert response .status_code == 400
9581
96- def test_get_controller_with_nonexistentid (self ):
82+ def test_get_member_info_controller_with_nonexistent_id (self ):
9783 request = HttpRequest (
9884 body = {
9985 'requester_user' : {
@@ -110,7 +96,7 @@ def test_get_controller_with_nonexistentid(self):
11096 assert response .status_code == 403
11197 assert response .body == "That user is not registered"
11298
113- def test_get_controller_with_no_request_user (self ):
99+ def test_get_member_info_controller_with_no_requester_user (self ):
114100 request = HttpRequest (
115101 body = {}
116102 )
@@ -120,46 +106,36 @@ def test_get_controller_with_no_request_user(self):
120106 assert response .status_code == 400
121107 assert response .body == "Field requester_user is missing"
122108
123- def test_get_member_contoller_no_start_date_and_end_date (self ):
109+ def test_get_member_info_controller_freeze_user (self ):
110+ # Luigi Televisão - FREEZE
124111 request = HttpRequest (
125112 body = {
126113 'requester_user' : {
127- "sub" : self . first_member . user_id ,
128- "name" : self . first_member . name ,
129- "email" : self . first_member . email ,
114+ "sub" : "76h35dg4-h76v-1875-987hn-h67gfv45Gt4" ,
115+ "name" : "Luigi Televisão" ,
116+ "email" : "lgtv@gmail.com" ,
130117 "custom:isMaua" : True
131118 }
132119 }
133120 )
134121
135- expected_dict = {
136- 'member' : {
137- 'active' : 'ACTIVE' ,
138- 'cellphone' : '11991758098' ,
139- 'course' : 'ECA' ,
140- 'deactivated_date' : None ,
141- 'email' : 'vsoller@airubio.com' ,
142- 'email_dev' : 'vsoller.devmaua@gmail.com' ,
143- 'hired_date' : 1634576165000 ,
144- 'hours_worked' : 0 ,
145- 'name' : 'Vitor Guirão MPNTM' ,
146- 'photo' : None ,
147- 'project' : ['Maua Food' , 'Portfólio' , 'Selfie Mauá' ],
148- 'ra' : '21017310' ,
149- 'role' : 'DIRECTOR' ,
150- 'stack' : 'INFRA' ,
151- 'strikes' : 1 ,
152- 'strikes_id' : ['t0u1v2w3-x4y5-6789-0123-456789tuvwxy' ],
153- 'strikes_allowed' : 4 ,
154- 'user_id' : '93bc6ada-c0d1-7054-66ab-e17414c48ae3' ,
155- 'year' : 1
156- },
157- 'message' : 'the member was retrieved'
158- }
159-
160122 response = self .controller (request )
161123
162- pprint ( response .body )
124+ assert response .status_code == 403
163125
164- assert response .status_code == 200
165- assert response .body == expected_dict
126+ def test_get_member_info_controller_disconnected_user (self ):
127+ # Marcos Pereira Neto - DISCONNECTED
128+ request = HttpRequest (
129+ body = {
130+ 'requester_user' : {
131+ "sub" : "6574hgyt-785n-9134-18gn4-7gh5uvn36cG" ,
132+ "name" : "Marcos Pereira Neto" ,
133+ "email" : "mneto@gmail.com" ,
134+ "custom:isMaua" : True
135+ }
136+ }
137+ )
138+
139+ response = self .controller (request )
140+
141+ assert response .status_code == 403
0 commit comments