91 lines
4.0 KiB
Python
91 lines
4.0 KiB
Python
from datetime import date
|
|
|
|
import testing.postgresql
|
|
|
|
from unittest import TestCase
|
|
|
|
from data.data_provider import DataProvider
|
|
from data.models import ContactInfo, Head, Location, PhoneNumber, Division, \
|
|
Enterprise, Activity
|
|
|
|
|
|
class TestDataProvider(TestCase):
|
|
def setUp(self):
|
|
self.db = testing.postgresql.Postgresql()
|
|
self.dp = DataProvider(self.db.url())
|
|
self.dp.migrate()
|
|
|
|
def test_create_contact(self):
|
|
head = Head(None, date(1998, 10, 11), None)
|
|
loc = Location(None, "Russia", "Orenburg", "Elovaya", "16", "259A",
|
|
date(2010, 11, 28), None)
|
|
num = PhoneNumber(None, date(2018, 10, 10), None)
|
|
cont = ContactInfo(None, "hello@gmail.com", [num], [head], [loc],
|
|
'name', 'short_name', 'code')
|
|
self.dp.create_contact_info(cont)
|
|
print(f"ContactInfo id is {cont.id}")
|
|
self.assertIsNotNone(cont.id)
|
|
print(f"Head id is {head.id}")
|
|
self.assertIsNotNone(head.id)
|
|
print(f"Location id is {loc.id}")
|
|
self.assertIsNotNone(loc.id)
|
|
print(f"PhoneNumber id is {num.id}")
|
|
self.assertIsNotNone(num.id)
|
|
|
|
def test_create_enterprise(self):
|
|
head = Head(None, date(1998, 10, 11), None)
|
|
loc = Location(None, "Russia", "Orenburg", "Elovaya", "16", "259A",
|
|
date(2010, 11, 28), None)
|
|
num = PhoneNumber(None, date(2018, 10, 10), None)
|
|
cont = ContactInfo(None, "hello@gmail.com", [num], [head], [loc],
|
|
'name', 'short_name', 'code')
|
|
head_div = Head(None, date(1998, 10, 11), None)
|
|
loc_div = Location(None, "Russia", "Orenburg", "Elovaya", "16", "259A",
|
|
date(2010, 11, 28), None)
|
|
num_div = PhoneNumber(None, date(2018, 10, 10), None)
|
|
cont_div = ContactInfo(None, "eeeeee", [num_div],
|
|
[head_div], [loc_div], 'name', 'short_name',
|
|
'code')
|
|
div = Division(None, cont_div, [])
|
|
enterprise = Enterprise(None, [], [div], cont)
|
|
self.dp.create_enterprise(enterprise)
|
|
self.assertIsNotNone(div.id)
|
|
self.assertIsNotNone(enterprise.id)
|
|
self.assertIsNotNone(cont.id)
|
|
|
|
def test_create_activity(self):
|
|
act = Activity(None, "some activity")
|
|
self.dp.create_activity(act)
|
|
self.assertIsNotNone(act.id)
|
|
|
|
def test_get_enterprise_activities(self):
|
|
act = Activity(None, "some activity")
|
|
self.dp.create_activity(act)
|
|
head = Head(None, date(1998, 10, 11), None)
|
|
loc = Location(None, "Russia", "Orenburg", "Elovaya", "16", "259A",
|
|
date(2010, 11, 28), None)
|
|
num = PhoneNumber(None, date(2018, 10, 10), None)
|
|
cont = ContactInfo(None, "hello@gmail.com", [num], [head], [loc],
|
|
'name', 'short_name', 'code')
|
|
head_div = Head(None, date(1998, 10, 11), None)
|
|
loc_div = Location(None, "Russia", "Orenburg", "Elovaya", "16", "259A",
|
|
date(2010, 11, 28), None)
|
|
num_div = PhoneNumber(None, date(2018, 10, 10), None)
|
|
cont_div = ContactInfo(None, "eeeeee", [num_div],
|
|
[head_div], [loc_div], 'name', 'short_name',
|
|
'code')
|
|
div = Division(None, cont_div, [act])
|
|
enterprise = Enterprise(None, [act], [div], cont)
|
|
self.dp.create_enterprise(enterprise)
|
|
test_enterprise = self.dp.get_enterprise_by_id(enterprise.id)
|
|
self.assertGreater(len(test_enterprise.activities), 0)
|
|
self.assertEqual(test_enterprise.activities[0].name, act.name)
|
|
self.assertEqual(len(test_enterprise.divisions), 1)
|
|
self.assertEqual(len(test_enterprise.divisions[0].activities), 1)
|
|
self.assertEqual(test_enterprise.divisions[0].activities[0].name,
|
|
act.name)
|
|
self.assertEqual(len(self.dp.get_enterprises()), 1)
|
|
|
|
def tearDown(self):
|
|
self.db.stop()
|