Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
feat: TT-43 add unit test to extend_model
  • Loading branch information
thegreatyamori authored and jcalarcon98 committed May 28, 2021
commit 4f4c6c9a5a5ae54e81585d0d092d0a677b265ae6
49 changes: 49 additions & 0 deletions tests/utils/extend_model_test.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
from time_tracker_api.customers.customers_model import CustomerCosmosDBModel
from time_tracker_api.projects.projects_model import ProjectCosmosDBModel
from unittest.mock import patch
from utils.extend_model import add_custom_attribute


@patch('time_tracker_api.project_types.project_types_model.create_dao')
@patch('time_tracker_api.customers.customers_model.create_dao')
def test_add_custom_attribute(customers_create_dao, projects_create_dao):
expected_result = {
"name": "Franklin, Mcdonald and Morrison",
"description": "Include speech feeling court almost country smile economy. True quality mention key. Similar provide yard.",
"customer_id": "9afbfa3a-9de4-4b90-a1b7-a53d2c17a178",
"project_type_id": "208aadb7-1ec1-4a67-a0b0-e0308d27045b",
"technologies": "['python', 'restplus', 'openapi']",
"status": "active",
"customer_name": "Tucker Inc",
"customer": {
"name": None,
"description": None
},
"project_type": {
"name": None,
"description": None
},
"id": "768c924e-4501-457f-99c5-7198440d3c60",
"tenant_id": "e2953984-03e7-4730-be29-1753d24df3b0",
"deleted": "null"
}

@add_custom_attribute('project_type', projects_create_dao())
@add_custom_attribute('customer', customers_create_dao())
@patch('time_tracker_api.projects.projects_model.ProjectCosmosDBModel')
def fn(project):
project.return_value.name = "Franklin, Mcdonald and Morrison",
project.return_value.description = "Include speech feeling court almost country smile economy. True quality mention key. Similar provide yard.",
project.return_value.customer_id = "9afbfa3a-9de4-4b90-a1b7-a53d2c17a178",
project.return_value.project_type_id = "208aadb7-1ec1-4a67-a0b0-e0308d27045b",
project.return_value.technologies = "['python', 'restplus', 'openapi']",
project.return_value.status = "active",
project.return_value.customer_name = "Tucker Inc",
project.return_value.id = "768c924e-4501-457f-99c5-7198440d3c60",
project.return_value.tenant_id = "e2953984-03e7-4730-be29-1753d24df3b0",
project.return_value.deleted = None,

return project.return_value

assert 'customer' in fn().__dict__
assert 'project_type' in fn().__dict__