/ src / tests / test_dependency.py
test_dependency.py
 1  import unittest
 2  from revolve.functions import *
 3  
 4  from src.revolve.functions import order_tables_by_dependencies
 5  
 6  
 7  class MyTestCase(unittest.TestCase):
 8      def test_dependency_1(self):
 9          d_map = {"users": {}, "alerts": {"device_id": {"reltype": "many-to-one", "links_to_table": "devices"}},
10                   "orders": {"payment_id": {"reltype": "one-to-one", "links_to_table": "payments"},
11                              "customer_id": {"reltype": "many-to-one", "links_to_table": "customers"}}, "courses": {},
12                   "devices": {"assigned_to": {"reltype": "many-to-one", "links_to_table": "employees"}}, "regions": {},
13                   "feedback": {"order_id": {"reltype": "many-to-one", "links_to_table": "orders"},
14                                "customer_id": {"reltype": "many-to-one", "links_to_table": "customers"}}, "patients": {},
15                   "payments": {"transaction_id": {"reltype": "many-to-one", "links_to_table": "transactions"}},
16                   "products": {"category_id": {"reltype": "many-to-one", "links_to_table": "categories"},
17                                "supplier_id": {"reltype": "many-to-one", "links_to_table": "suppliers"}}, "settings": {},
18                   "students": {}, "customers": {"referrer_id": {"reltype": "many-to-one", "links_to_table": "users"}},
19                   "employees": {"department_id": {"reltype": "many-to-one", "links_to_table": "departments"}},
20                   "inventory": {"product_id": {"reltype": "one-to-one", "links_to_table": "products"},
21                                 "warehouse_id": {"reltype": "many-to-one", "links_to_table": "warehouses"}},
22                   "suppliers": {"region_id": {"reltype": "many-to-one", "links_to_table": "regions"}}, "categories": {},
23                   "warehouses": {"region_id": {"reltype": "many-to-one", "links_to_table": "regions"}},
24                   "audit_trail": {"user_id": {"reltype": "many-to-one", "links_to_table": "users"}}, "departments": {},
25                   "device_logs": {"user_id": {"reltype": "many-to-one", "links_to_table": "users"},
26                                   "device_id": {"reltype": "many-to-one", "links_to_table": "devices"}},
27                   "enrollments": {"course_id": {"reltype": "many-to-one", "links_to_table": "courses"},
28                                   "student_id": {"reltype": "many-to-one", "links_to_table": "students"}},
29                   "order_items": {"order_id": {"reltype": "many-to-one", "links_to_table": "orders"},
30                                   "product_id": {"reltype": "many-to-one", "links_to_table": "products"}},
31                   "appointments": {"doctor_id": {"reltype": "many-to-one", "links_to_table": "employees"},
32                                    "patient_id": {"reltype": "many-to-one", "links_to_table": "patients"}},
33                   "transactions": {"processor_id": {"reltype": "many-to-one", "links_to_table": "payment_processors"}},
34                   "payment_processors": {}}
35          # d_map = {"users": {}, "courses": {}, "regions": {}, "patients": {}, "students": {}, "customers": {}, "employees": {}, "categories": {}, "departments": {}, "payment_processors": {}}
36          d_map, _ = order_tables_by_dependencies(d_map)
37          print(d_map)
38  
39          self.assertEqual(18, len(d_map.keys()))
40          self.assertEqual("devices", d_map["alerts"][0])
41  
42  
43  if __name__ == '__main__':
44      unittest.main()