1- from time_entries ._application ._activities import (
2- _get_activities ,
3- _delete_activity ,
4- )
1+ from time_entries ._application import _activities as activities
2+ from faker import Faker
3+
54import azure .functions as func
65import json
76import typing
87
98
9+ ACTIVITY_URL = '/api/activities/'
10+
11+
1012def test__activity_azure_endpoint__returns_all_activities (
1113 create_temp_activities ,
1214):
1315 activities_json , tmp_directory = create_temp_activities
14- _get_activities .JSON_PATH = tmp_directory
15- req = func .HttpRequest (method = 'GET' , body = None , url = '/api/activities' )
16+ activities . _get_activities .JSON_PATH = tmp_directory
17+ req = func .HttpRequest (method = 'GET' , body = None , url = ACTIVITY_URL )
1618
17- response = _get_activities .get_activities (req )
19+ response = activities .get_activities (req )
1820 activities_json_data = response .get_body ().decode ("utf-8" )
1921
2022 assert response .status_code == 200
@@ -25,15 +27,15 @@ def test__activity_azure_endpoint__returns_an_activity__when_activity_matches_it
2527 create_temp_activities ,
2628):
2729 activities_json , tmp_directory = create_temp_activities
28- _get_activities .JSON_PATH = tmp_directory
30+ activities . _get_activities .JSON_PATH = tmp_directory
2931 req = func .HttpRequest (
3032 method = 'GET' ,
3133 body = None ,
32- url = '/api/activities/' ,
34+ url = ACTIVITY_URL ,
3335 route_params = {"id" : activities_json [0 ]['id' ]},
3436 )
3537
36- response = _get_activities .get_activities (req )
38+ response = activities .get_activities (req )
3739 activitiy_json_data = response .get_body ().decode ("utf-8" )
3840
3941 assert response .status_code == 200
@@ -44,16 +46,37 @@ def test__activity_azure_endpoint__returns_an_activity_with_inactive_status__whe
4446 create_temp_activities ,
4547):
4648 activities_json , tmp_directory = create_temp_activities
47- _delete_activity .JSON_PATH = tmp_directory
49+ activities . _delete_activity .JSON_PATH = tmp_directory
4850 req = func .HttpRequest (
4951 method = 'DELETE' ,
5052 body = None ,
51- url = '/api/activities/' ,
53+ url = ACTIVITY_URL ,
5254 route_params = {"id" : activities_json [0 ]['id' ]},
5355 )
5456
55- response = _delete_activity .delete_activity (req )
57+ response = activities .delete_activity (req )
5658 activity_json_data = json .loads (response .get_body ().decode ("utf-8" ))
5759
5860 assert response .status_code == 200
5961 assert activity_json_data ['status' ] == 'inactive'
62+
63+
64+ def test__update_activity_azure_endpoint__returns_an_activity__when_found_an_activity_to_update (
65+ create_temp_activities ,
66+ ):
67+ activities_json , tmp_directory = create_temp_activities
68+ activities ._update_activity .JSON_PATH = tmp_directory
69+ activity_data = {"description" : Faker ().sentence ()}
70+ req = func .HttpRequest (
71+ method = 'PUT' ,
72+ body = json .dumps (activity_data ).encode ("utf-8" ),
73+ url = ACTIVITY_URL ,
74+ route_params = {"id" : activities_json [0 ]['id' ]},
75+ )
76+
77+ response = activities .update_activity (req )
78+ activitiy_json_data = response .get_body ().decode ("utf-8" )
79+ new_activity = {** activities_json [0 ], ** activity_data }
80+
81+ assert response .status_code == 200
82+ assert activitiy_json_data == json .dumps (new_activity )
0 commit comments