-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_bookmark_model.py
More file actions
58 lines (43 loc) · 1.75 KB
/
test_bookmark_model.py
File metadata and controls
58 lines (43 loc) · 1.75 KB
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
from app import app
import os
from unittest import TestCase
import requests
from models import db, User, Card, Bookmark, Deck, bcrypt
from sqlalchemy.exc import IntegrityError
from psycopg2.errors import UniqueViolation
app.config['SQLALCHEMY_DATABASE_URI'] = (
os.environ.get('DATABASE_URL', 'postgres:///mtg_db_test'))
class BookmarkModelTestCase(TestCase):
"""Test views for messages."""
def setUp(self):
"""Create test client, add sample data."""
db.drop_all()
db.create_all()
self.client = app.test_client()
self.user = User.signup(email='email@gmail.com', password='userpassword', username='usernametest',
image_url=None)
self.resp = requests.get('http://api.magicthegathering.io/v1/cards', {
'key': "$2a$10$TNyqKQQQSzVjgGXY87waZuBIKAS78.NkY2o.H004TfBU.eISv.Pt6",
'page': 1
}).json()
self.cards = self.resp['cards']
Card.create_all_cards(self.cards)
db.session.commit()
def tearDown(self):
db.session.rollback()
def test_bookmark_model(self):
bookmark = Bookmark(username=self.user.username,
card_id=1)
db.session.add(bookmark)
db.session.commit()
self.assertEqual(bookmark.username, 'usernametest')
self.assertEqual(bookmark.card_id, 1)
def test_bookmark_serialize(self):
bookmark = Bookmark(username=self.user.username,
card_id=1)
db.session.add(bookmark)
db.session.commit()
self.assertEqual(bookmark.serialize(),
{'id': bookmark.id,
'username': bookmark.username,
'card_id': bookmark.card_id})