1
- from unittest .mock import Mock , patch
2
-
1
+ import copy
2
+ from unittest .mock import Mock , patch , ANY
3
+ from faker import Faker
3
4
from commons .data_access_layer .database import EventContext
4
5
from time_tracker_api .activities .activities_model import (
5
6
ActivityCosmosDBRepository ,
6
7
ActivityCosmosDBModel ,
8
+ create_dao ,
7
9
)
8
10
11
+ faker = Faker ()
12
+
9
13
14
+ @patch (
15
+ 'time_tracker_api.activities.activities_model.ActivityCosmosDBRepository.create_sql_condition_for_visibility'
16
+ )
10
17
@patch (
11
18
'time_tracker_api.activities.activities_model.ActivityCosmosDBRepository.find_partition_key_value'
12
19
)
@@ -16,10 +23,10 @@ def test_find_all_with_id_in_list(
16
23
activity_repository : ActivityCosmosDBRepository ,
17
24
):
18
25
expected_item = {
19
- 'id' : 'id1' ,
20
- 'name' : 'testing' ,
21
- 'description' : 'do some testing' ,
22
- 'tenant_id' : 'tenantid1' ,
26
+ 'id' : faker . uuid4 () ,
27
+ 'name' : faker . name () ,
28
+ 'description' : faker . sentence ( nb_words = 4 ) ,
29
+ 'tenant_id' : faker . uuid4 () ,
23
30
}
24
31
25
32
query_items_mock = Mock (return_value = [expected_item ])
@@ -37,3 +44,25 @@ def test_find_all_with_id_in_list(
37
44
activity = result [0 ]
38
45
assert isinstance (activity , ActivityCosmosDBModel )
39
46
assert activity .__dict__ == expected_item
47
+
48
+
49
+ def test_create_activity_should_add_active_status (
50
+ mocker ,
51
+ ):
52
+ activity_payload = {
53
+ 'name' : faker .name (),
54
+ 'description' : faker .sentence (nb_words = 5 ),
55
+ 'tenant_id' : faker .uuid4 (),
56
+ }
57
+ activity_repository_create_mock = mocker .patch .object (
58
+ ActivityCosmosDBRepository , 'create'
59
+ )
60
+
61
+ activity_dao = create_dao ()
62
+ activity_dao .create (activity_payload )
63
+
64
+ expect_argument = copy .copy (activity_payload )
65
+ expect_argument ['status' ] = 'active'
66
+ activity_repository_create_mock .assert_called_with (
67
+ data = expect_argument , event_context = ANY
68
+ )
0 commit comments