Skip to content

Commit eefc615

Browse files
committed
Update tests
1 parent 9b63ce5 commit eefc615

File tree

4 files changed

+55
-64
lines changed

4 files changed

+55
-64
lines changed

tests/test_class_registry.py

Lines changed: 0 additions & 14 deletions
This file was deleted.

tests/test_hybridseeder.py

Lines changed: 0 additions & 49 deletions
This file was deleted.

tests/test_seeder.py

Lines changed: 55 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,26 @@
11
import unittest
22

3-
from sqlalchemyseed.seeder import Seeder
3+
from sqlalchemy import create_engine
4+
from sqlalchemy.orm import sessionmaker
5+
6+
from sqlalchemyseed.seeder import ClassRegistry, HybridSeeder, Seeder
7+
from tests.models import Base
8+
9+
engine = create_engine('sqlite://')
10+
Session = sessionmaker(bind=engine)
11+
Base.metadata.create_all(engine)
12+
13+
14+
class TestClassRegistry(unittest.TestCase):
15+
def test_get_invalid_item(self):
16+
class_registry = ClassRegistry()
17+
self.assertRaises(KeyError, lambda: class_registry['InvalidClass'])
18+
19+
def test_register_class(self):
20+
cr = ClassRegistry()
21+
cr.register_class('models.Company')
22+
from models import Company
23+
self.assertEqual(cr['models.Company'], Company)
424

525

626
class TestSeeder(unittest.TestCase):
@@ -79,5 +99,39 @@ def test_seed_multiple_entities(self):
7999
self.assertEqual(len(seeder.instances), 3)
80100

81101

102+
class TestHybridSeeder(unittest.TestCase):
103+
def test_seed(self):
104+
instance = [
105+
{
106+
'model': 'tests.models.Employee',
107+
'data': [
108+
{'name': 'John Smith'},
109+
{'name': 'Juan Dela Cruz'}
110+
]
111+
},
112+
{
113+
'model': 'tests.models.Company',
114+
'data': {
115+
'name': 'MyCompany',
116+
'!employees': {
117+
'model': 'tests.models.Employee',
118+
'filter': [
119+
{
120+
'name': 'John Smith'
121+
},
122+
{
123+
'name': 'Juan Dela Cruz'
124+
}
125+
]
126+
}
127+
}
128+
}]
129+
130+
with Session() as session:
131+
seeder = HybridSeeder(session)
132+
seeder.seed(instance)
133+
self.assertEqual(len(seeder.instances), 3)
134+
135+
82136
if __name__ == '__main__':
83137
unittest.main()

0 commit comments

Comments
 (0)