44import time_entries ._domain as domain
55import time_entries ._infrastructure as infrastructure
66
7-
8- @pytest .fixture (name = 'create_fake_dao' )
9- def _create_fake_dao (with_data : bool ) -> domain .ActivitiesDao :
10- db_fake = infrastructure .DB ('sqlite:///:memory:' )
11- demo_data = [
7+ DEMO_DATA = [
128 {
139 'id' : uuid .UUID ('b4327ba6-9f96-49ee-a9ac-3c1edf525172' ),
1410 'name' : 'Activity Demo create' ,
@@ -26,14 +22,14 @@ def _create_fake_dao(with_data: bool) -> domain.ActivitiesDao:
2622 'deleted' : 'b4327ba6-9f96-49ee-a9ac-3c1edf525172' ,
2723 },
2824 ]
25+
26+ @pytest .fixture (name = 'create_fake_dao' )
27+ def _create_fake_dao () -> domain .ActivitiesDao :
28+ db_fake = infrastructure .DB ('sqlite:///:memory:' )
2929 dao = infrastructure .ActivitiesSQLDao (db_fake )
30- if with_data :
31- query = dao .activity .insert ()
32- db_fake .get_session ().execute (query , demo_data )
3330 return dao
3431
3532
36- @pytest .mark .parametrize ('with_data' ,[False ])
3733def test__create_activity__returns_a_activity_dto__when_saves_correctly_with_sql_database (create_fake_dao ):
3834 activity = {
3935 'name' : 'Activity Demo create' ,
@@ -42,110 +38,67 @@ def test__create_activity__returns_a_activity_dto__when_saves_correctly_with_sql
4238 'status' : 'active' ,
4339 'deleted' : 'b4327ba6-9f96-49ee-a9ac-3c1edf525172' ,
4440 }
45-
46- results = create_fake_dao .create_activity (activity )
47- assert results .id != None
41+ results = create_fake_dao .create (activity )
42+ activity .update ({"id" :results .id })
43+ expected_result = domain .Activity (** activity )
44+ assert results == expected_result
4845
4946
50- @pytest .mark .parametrize ('with_data' ,[True ])
51- def test_update__returns_an_activity_updated__when_an_activity_matching_its_id_is_found_with_sql_database (create_fake_dao ):
52- activity = {
53- 'name' : 'Activity Demo create 3' ,
54- 'tenant_id' : 'cc925a5d-9644-4a4f-8d99-0bee49aadd05' ,
55- 'description' : 'test demo create an new activity' ,
56- 'status' : 'active' ,
57- 'deleted' : 'b4327ba6-9f96-49ee-a9ac-3c1edf525172' ,
47+ def test_update__returns_an_update_activity__when_an_activity_matching_its_id_is_found_with_sql_database (create_fake_dao ):
48+ create_fake_dao .create (DEMO_DATA [0 ])
49+ activity_body = {
50+ 'description' : 'test demo 2 create an new activity' ,
5851 }
59- expected_result = domain .Activity (** {
60- 'id' : 'b4327ba69f9649eea9ac3c1edf525172' ,
61- 'name' : 'Activity Demo create 3' ,
62- 'tenant_id' : 'cc925a5d-9644-4a4f-8d99-0bee49aadd05' ,
63- 'description' : 'test demo create an new activity' ,
64- 'status' : 'active' ,
65- 'deleted' : 'b4327ba6-9f96-49ee-a9ac-3c1edf525172' ,
66- })
67- results = create_fake_dao .update_activity ('b4327ba69f9649eea9ac3c1edf525172' ,activity )
52+ new_activity = {** DEMO_DATA [0 ], ** activity_body }
53+ expected_result = domain .Activity (** new_activity )
54+ results = create_fake_dao .update ('1' ,activity_body )
6855 assert results == expected_result
6956
7057
71- @pytest .mark .parametrize ('with_data' ,[False ])
7258def test_update__returns_none__when_no_activity_matching_its_id_is_found_with_sql_database (create_fake_dao ):
73- activity = {
74- 'name' : 'Activity Demo create 3' ,
75- 'tenant_id' : 'cc925a5d-9644-4a4f-8d99-0bee49aadd05' ,
76- 'description' : 'test demo create an new activity' ,
77- 'status' : 'active' ,
78- 'deleted' : 'b4327ba6-9f96-49ee-a9ac-3c1edf525172' ,
79- }
80- results = create_fake_dao .update_activity ('b4327ba69f9649eea9ac3c1edf525172' ,activity )
59+ results = create_fake_dao .update ('1' ,DEMO_DATA [0 ])
8160 assert results == None
8261
8362
84- @pytest .mark .parametrize ('with_data' ,[True ])
8563def test__get_all__returns_a_list_of_activity_dto_objects__when_one_or_more_activities_are_found_with_sql_database (create_fake_dao ):
64+ create_fake_dao .create (DEMO_DATA [0 ])
65+ create_fake_dao .create (DEMO_DATA [1 ])
8666 expected_result = [
87- domain .Activity (** {
88- 'id' : 'b4327ba69f9649eea9ac3c1edf525172' ,
89- 'name' : 'Activity Demo create' ,
90- 'tenant_id' : 'cc925a5d-9644-4a4f-8d99-0bee49aadd05' ,
91- 'description' : 'test demo create an new activity' ,
92- 'status' : 'active' ,
93- 'deleted' : 'b4327ba6-9f96-49ee-a9ac-3c1edf525172' ,
94- }),
95- domain .Activity (** {
96- 'id' : 'c61a4a49336449a3a7f70c5f2d15072b' ,
97- 'name' : 'Activity Demo create' ,
98- 'tenant_id' : 'cc925a5d-9644-4a4f-8d99-0bee49aadd05' ,
99- 'description' : 'test demo create an new activity' ,
100- 'status' : 'active' ,
101- 'deleted' : 'b4327ba6-9f96-49ee-a9ac-3c1edf525172' ,
102- }),
67+ domain .Activity (** DEMO_DATA [0 ]),
68+ domain .Activity (** DEMO_DATA [1 ]),
10369 ]
104- results = create_fake_dao .get_all_activities ()
70+ results = create_fake_dao .get_all ()
10571 assert results == expected_result
10672
10773
108- @pytest .mark .parametrize ('with_data' ,[True ])
10974def test_get_by_id__returns_an_activity_dto__when_found_one_activity_that_matches_its_id_with_sql_database (create_fake_dao ):
110- expected_result = domain .Activity (** {
111- 'id' : 'b4327ba69f9649eea9ac3c1edf525172' ,
112- 'name' : 'Activity Demo create' ,
113- 'tenant_id' : 'cc925a5d-9644-4a4f-8d99-0bee49aadd05' ,
114- 'description' : 'test demo create an new activity' ,
115- 'status' : 'active' ,
116- 'deleted' : 'b4327ba6-9f96-49ee-a9ac-3c1edf525172' ,
117- })
118- results = create_fake_dao .get_activity_by_id ('b4327ba69f9649eea9ac3c1edf525172' )
75+ create_fake_dao .create (DEMO_DATA [0 ])
76+ expected_result = domain .Activity (** DEMO_DATA [0 ])
77+ results = create_fake_dao .get_by_id ('1' )
11978 assert results == expected_result
12079
12180
122- @pytest .mark .parametrize ('with_data' ,[False ])
12381def test__get_by_id__returns_none__when_no_activity_matches_its_id_with_sql_database (create_fake_dao ):
124- results = create_fake_dao .get_activity_by_id ( 'b4327ba69f9649eea9ac3c1edf525172 ' )
82+ results = create_fake_dao .get_by_id ( '1 ' )
12583 assert results == None
12684
12785
128- @pytest .mark .parametrize ('with_data' ,[False ])
12986def test_get_all__returns_an_empty_list__when_doesnt_found_any_activities_with_sql_database (create_fake_dao ):
130- results = create_fake_dao .get_all_activities ()
87+ results = create_fake_dao .get_all ()
13188 assert results == []
13289
13390
134- @pytest .mark .parametrize ('with_data' ,[True ])
13591def test_delete__returns_an_activity_with_inactive_status__when_an_activity_matching_its_id_is_found_with_sql_database (create_fake_dao ):
136- expected_result = domain .Activity (** {
137- 'id' : 'b4327ba69f9649eea9ac3c1edf525172' ,
138- 'name' : 'Activity Demo create' ,
139- 'tenant_id' : 'cc925a5d-9644-4a4f-8d99-0bee49aadd05' ,
140- 'description' : 'test demo create an new activity' ,
92+ create_fake_dao .create (DEMO_DATA [0 ])
93+ activity_body = {
14194 'status' : 'inactive' ,
142- 'deleted' : 'b4327ba6-9f96-49ee-a9ac-3c1edf525172' ,
143- })
144- results = create_fake_dao .delete_activity ('b4327ba69f9649eea9ac3c1edf525172' )
95+ }
96+ new_activity = {** DEMO_DATA [0 ], ** activity_body }
97+ expected_result = domain .Activity (** new_activity )
98+ results = create_fake_dao .delete ('1' )
14599 assert results == expected_result
146100
147101
148- @pytest .mark .parametrize ('with_data' ,[False ])
149102def test_delete__returns_none__when_no_activity_matching_its_id_is_found_with_sql_database (create_fake_dao ):
150- results = create_fake_dao .delete_activity ( 'b4327ba69f9649eea9ac3c1edf525172 ' )
103+ results = create_fake_dao .delete ( '2 ' )
151104 assert results == None
0 commit comments