-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest_list_model.py
84 lines (52 loc) · 2 KB
/
test_list_model.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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
"""List model tests."""
# Run via this command:
# python -m unittest test_list_model.py
import os
from unittest import TestCase
from models import db, User, List
os.environ['DATABASE_URL'] = "postgresql:///whichani-test"
from app import app
db.create_all()
class ListModelTestCase(TestCase):
"""Test for list models."""
def setUp(self):
db.drop_all()
db.create_all()
user = User.signup("testuser", "[email protected]", "testpw", None)
user.user_id = 111111
db.session.commit()
self.user = User.query.get(111111)
self.client = app.test_client()
def tearDown(self):
res = super().tearDown()
db.session.rollback()
return res
def test_list_model(self):
"""Does basic model work?"""
list = List(title="test", description="this is a test list.", user_id=111111)
db.session.add(list)
db.session.commit()
self.assertEqual(self.user.lists[0].title, "test")
self.assertEqual(self.user.lists[0].description, "this is a test list.")
self.assertEqual(self.user.lists[0].user_id, 111111)
def test_list_like(self):
"""Test liking a list."""
list = List(title="test", description="this is a test list.", user_id=111111)
user = User.signup("testuser2", "[email protected]", "testpw2", None)
user.id = 222222
db.session.add_all([list, user])
db.session.commit()
list.liked_by.append(user)
db.session.commit()
likes = user.liked_lists
self.assertEqual(len(likes), 1)
self.assertEqual(likes[0].list_id, list.list_id)
def test_delete_list(self):
"""Test deleting a list."""
list = List(title="test", description="this is a test list.", user_id=111111)
db.session.add(list)
db.session.commit()
db.session.delete(list)
db.session.commit()
retrieve_list = List.query.get(list.list_id)
self.assertIsNone(retrieve_list)