-
Notifications
You must be signed in to change notification settings - Fork 52
Expand file tree
/
Copy pathtest_quotes.py
More file actions
75 lines (57 loc) · 2.21 KB
/
test_quotes.py
File metadata and controls
75 lines (57 loc) · 2.21 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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
from datetime import date
from app.internal import daily_quotes
from app.main import app
DATE = date(2021, 1, 1)
DATE2 = date(2021, 1, 2)
HOME_URL = app.url_path_for("home")
FAVORITE_QUOTES_URL = app.url_path_for("favorite_quotes")
def test_create_quote_object():
quotes_fields = {
'text': 'some_quote', 'author': 'Freud'}
result = daily_quotes.create_quote_object(quotes_fields)
assert result.text == 'some_quote'
assert result.author == 'Freud'
# Tests for providing a daily-quote from the db:
def test_quote_per_day_no_quotes(session):
assert daily_quotes.quote_per_day(session, DATE) is None
def test_quote_per_day_get_first_quote(session, quote1, quote2):
assert daily_quotes.quote_per_day(
session, DATE).text == quote1.text
def test_quote_per_day_get_second_quote(session, quote1, quote2):
assert daily_quotes.quote_per_day(
session, DATE2).text == quote2.text
# Tests for saving, removing and displaying favorite quotes
def test_save_quote(session, settings_test_client, quote1):
data = {
"user_id": 1,
"quote": quote1.text,
"author": quote1.author,
"to_save": True,
}
quotes = daily_quotes.get_quotes(session, 1)
response = settings_test_client.post(
url=HOME_URL, data=data)
assert response.ok
assert len(daily_quotes.get_quotes(session, 1)) == len(quotes) + 1
def test_home(session, settings_test_client, quote1):
response = settings_test_client.get(
url=HOME_URL)
assert response.ok
assert b"Search" in response.content
def test_delete_quote(session, settings_test_client, quote1):
test_save_quote(session, settings_test_client, quote1)
data = {
"user_id": 1,
"quote": quote1.text,
"author": quote1.author,
"to_save": False,
}
response = settings_test_client.post(
url=HOME_URL, data=data)
assert response.ok
assert len(daily_quotes.get_quotes(session, 1)) == 0
def test_get_favorite_quotes(session, settings_test_client, quote1):
test_save_quote(session, settings_test_client, quote1)
response = settings_test_client.get(url=FAVORITE_QUOTES_URL)
assert response.ok
assert b"Favorite Quotes" in response.content