""" 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): """Test if next and prev button works""" 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