-
Notifications
You must be signed in to change notification settings - Fork 0
/
test_message_model.py
60 lines (40 loc) · 1.63 KB
/
test_message_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
import os
from unittest import TestCase
from models import db, User, Message, Follows
os.environ['DATABASE_URL'] = "postgresql:///warbler-test"
from app import app
db.create_all()
class MessageModelTestCase(TestCase):
"""Test Message model"""
def setUp(self):
"""Create test client, add sample data."""
User.query.delete()
Message.query.delete()
Follows.query.delete()
self.client = app.test_client()
self.user = User(
email="test@test.com",
username="testuser",
password="HASHED_PASSWORD"
)
db.session.add(self.user)
db.session.commit()
def test_message_model(self):
"""Does basic model work?"""
# User should have no messages and no followers
self.assertEqual(len(self.user.messages), 0)
self.assertEqual(len(self.user.followers), 0)
self.assertEqual(len(self.user.following), 0)
m = Message(text='test', user_id=self.user.id)
db.session.add(m)
db.session.commit()
"""Does a new message succesfully get added to db given valid credentials?"""
self.assertEqual(len(self.user.messages), 1)
self.assertEqual(self.user.messages[0].text, 'test')
def test_add_message_fail(self):
"""Does a new message fail to get added given invalid credentials?"""
def add_message(text, user_id):
m = Message(text=text, user_id=user_id)
return m
# Trying to create a new message with missing data such as a user_id should raise an error
self.assertRaises(TypeError, add_message, 'test')