-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_card_model.py
More file actions
57 lines (44 loc) · 1.72 KB
/
test_card_model.py
File metadata and controls
57 lines (44 loc) · 1.72 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
from app import app
import os
from unittest import TestCase
import requests
from models import db, User, Card, Bookmark
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 CardModelTestCase(TestCase):
"""Test views for messages."""
def setUp(self):
"""Create test client, add sample data."""
Bookmark.query.delete()
Card.query.delete()
db.create_all()
self.client = app.test_client()
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_card_model(self):
"""Test that basic card model works"""
card = Card.query.filter(Card.name == 'Abundance').first()
self.assertEqual(card.name, 'Abundance')
print(card.name)
def test_create_all_cards(self):
print('TESTING')
for page in range(2, 4):
print(f'Page: {page}')
"""Test that create_all_cards method works correctly"""
resp = requests.get('http://api.magicthegathering.io/v1/cards', {
'key': "$2a$10$TNyqKQQQSzVjgGXY87waZuBIKAS78.NkY2o.H004TfBU.eISv.Pt6",
'page': page
}).json()
cards = resp['cards']
Card.create_all_cards(cards)
print(len(Card.query.all()))
self.assertEqual(len(Card.query.all()), 300)