-
Notifications
You must be signed in to change notification settings - Fork 0
/
multivalue_widget_python_tests.py
68 lines (47 loc) · 1.69 KB
/
multivalue_widget_python_tests.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
import os
import unittest
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
import multivalue_widget_python as mvp
import models
from models import User
from models import Skill
class AppTestCase(unittest.TestCase):
def setUp(self):
self.app = mvp.create_app('./settings/test.cfg')
models.create_tables(self.app.engine)
Session = sessionmaker(bind=self.app.engine)
self.db = Session()
def tearDown(self):
self.db.close()
models.drop_tables(self.app.engine)
def test_create_user(self):
user = User('Dan', 'Johnson')
self.db.add(user)
self.db.commit()
self.assertEqual(user.id, 1)
def test_create_skill(self):
skill = Skill('Sports', None)
self.db.add(skill)
self.db.commit()
self.assertEqual(skill.id, 1)
def test_create_user_with_skill(self):
user = User('Dan', 'Johnson')
self.db.add(user)
skill = Skill('Sports', None)
self.db.add(skill)
self.db.commit()
user.skills.append(skill)
self.assertEqual(len(user.skills), 1)
self.assertEqual(user.skills[0].name, 'Sports')
def test_skill_tree(self):
sports = Skill('Sports', None)
self.db.add(sports)
skiing = Skill('Skiing', sports)
self.db.add(skiing)
soccer = Skill('Soccer', sports)
self.db.add(soccer)
self.db.commit()
self.assertEqual(skiing.parent.name, 'Sports')
if __name__ == '__main__':
unittest.main()