Newer
Older
"""
Check search page at /search/<int>?q URL.
MemeGenerator
Ruizhe Deng rxd@umich.edu
"""
import bs4
def test_check_content(client):
"""Check the search page's content"""
response = client.get("/search/1?q=umich")
assert response.status_code == 200
soup = bs4.BeautifulSoup(response.data, "html.parser")
srcs = [x.get("src") for x in soup.find_all("img")]
btns = [x.get("value") for x in soup.find_all("input")]
# check if there are 20 images in the page
assert len(srcs) == 20
# check if page has next and prev button
assert 'next' in btns
assert 'prev' in btns
def test_next_and_prev_page(client):
response = client.get("/search/1?q=umich")
assert response.status_code == 200 or response.status_code == 304
soup = bs4.BeautifulSoup(response.data, "html.parser")
links = [x.get("action") for x in soup.find_all("form")]
# check if next page in the links
assert '/search/2' in links
# go to next page
response = client.get("/search/2?q=umich")
assert response.status_code == 200
# go to prev page
response = client.get("/search/1?q=umich")
assert response.status_code == 200 or response.status_code == 304