Skip to content

Commit ab678a0

Browse files
feat: testing for update user role #229
1 parent 883df91 commit ab678a0

File tree

1 file changed

+41
-1
lines changed

1 file changed

+41
-1
lines changed

tests/time_tracker_api/users/users_namespace_test.py

Lines changed: 41 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,14 @@
1-
from unittest.mock import Mock
1+
from unittest.mock import Mock, patch
22
from flask import json
33
from flask.testing import FlaskClient
44
from flask_restplus._http import HTTPStatus
55
from utils.azure_users import AzureConnection
6+
from faker import Faker
7+
8+
fake = Faker()
9+
10+
valid_user_role_data = {'role': 'admin'}
11+
user_id = fake.random_int(1, 9999)
612

713

814
def test_users_response_contains_expected_props(
@@ -23,3 +29,37 @@ def test_users_response_contains_expected_props(
2329
assert 'name' in json.loads(response.data)[0]
2430
assert 'email' in json.loads(response.data)[0]
2531
assert 'role' in json.loads(response.data)[0]
32+
33+
34+
def test_update_user_role_response_contains_expected_props(
35+
client: FlaskClient,
36+
valid_header: dict,
37+
):
38+
AzureConnection.update_user_role = Mock(
39+
return_value=[{'name': 'dummy', 'email': 'dummy', 'role': 'dummy'}]
40+
)
41+
42+
response = client.put(
43+
f'/users/{user_id}', headers=valid_header, json=valid_user_role_data
44+
)
45+
46+
assert HTTPStatus.OK == response.status_code
47+
assert 'name' in json.loads(response.data)[0]
48+
assert 'email' in json.loads(response.data)[0]
49+
assert 'role' in json.loads(response.data)[0]
50+
51+
52+
@patch('utils.azure_users.AzureConnection', new_callable=Mock)
53+
def test_update_user_role_is_being_called_with_valid_arguments(
54+
update_user_role_mock,
55+
client: FlaskClient,
56+
valid_header: dict,
57+
):
58+
59+
response = client.put(
60+
f'/users/{user_id}', headers=valid_header, json=valid_user_role_data
61+
)
62+
63+
assert HTTPStatus.OK == response.status_code
64+
assert valid_user_role_data['role'] == 'admin'
65+
update_user_role_mock.assert_called_once()

0 commit comments

Comments
 (0)