Data Provider and tests
This commit is contained in:
85
data/test/test_dataProvider.py
Normal file
85
data/test/test_dataProvider.py
Normal file
@ -0,0 +1,85 @@
|
||||
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])
|
||||
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])
|
||||
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])
|
||||
div = Division(None, cont_div, [])
|
||||
enterprise = Enterprise(None, [], [div], cont, "hello", "world")
|
||||
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])
|
||||
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])
|
||||
div = Division(None, cont_div, [act])
|
||||
enterprise = Enterprise(None, [act], [div], cont, "hello", "world")
|
||||
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()
|
||||
Reference in New Issue
Block a user