import pytest import sys, os myPath = os.path.dirname(os.path.abspath(__file__)) sys.path.append(myPath + '/../web/') try: os.remove('./tests/hbc.db') except: pass from web import app @pytest.fixture def client(): app.app.config['TESTING'] = True client = app.app.test_client() yield client def test_root_page(client): rv = client.get('/') assert rv.status_code == 200 assert b'Please enter your first name and initial' in rv.data def test_generate(client): for identifier in app.my_db.get_identifiers_list(): rv = client.post('/generate', data=dict(name='tester'), follow_redirects=True) assert rv.status_code == 200 assert b'Please mark all of your bottlecaps with the following identifier: ' \ + str(identifier).encode('UTF-8') in rv.data def test_generate_over_limit(client): rv = client.post('/generate', data=dict(name='tester'), follow_redirects=True) assert rv.status_code == 200 assert b'Maximum entry limit reached - please contact Sean or Joe' in rv.data