def test_create_restricted(monkeypatch): resp = app.get('/admincontrol/siteupdate') assert resp.html.find(id='error_content').contents[0].strip() == errorcode.unsigned resp = app.post('/admincontrol/siteupdate', _FORM) assert resp.html.find(id='error_content').contents[0].strip() == errorcode.unsigned user = db_utils.create_user() cookie = db_utils.create_session(user) resp = app.get('/admincontrol/siteupdate', headers={'Cookie': cookie}) assert resp.html.find(id='error_content').p.string == errorcode.permission resp = app.post('/admincontrol/siteupdate', _FORM, headers={'Cookie': cookie}) assert resp.html.find(id='error_content').p.string == errorcode.permission monkeypatch.setattr(staff, 'TECHNICAL', frozenset([user])) monkeypatch.setattr(staff, 'MODS', frozenset([user])) resp = app.get('/admincontrol/siteupdate', headers={'Cookie': cookie}) assert resp.html.find(id='error_content').p.string == errorcode.permission resp = app.post('/admincontrol/siteupdate', _FORM, headers={'Cookie': cookie}) assert resp.html.find(id='error_content').p.string == errorcode.permission monkeypatch.setattr(staff, 'ADMINS', frozenset([user])) resp = app.get('/admincontrol/siteupdate', headers={'Cookie': cookie}) assert resp.html.find(id='error_content') is None
def test_edit_restricted(monkeypatch, site_updates): _, updates = site_updates resp = app.get('/site-updates/%d/edit' % (updates[-1].updateid,)) assert resp.html.find(id='error_content').contents[0].strip() == errorcode.unsigned resp = app.post('/site-updates/%d' % (updates[-1].updateid,), _FORM) assert resp.html.find(id='error_content').contents[0].strip() == errorcode.unsigned user = db_utils.create_user() cookie = db_utils.create_session(user) resp = app.get('/site-updates/%d/edit' % (updates[-1].updateid,), headers={'Cookie': cookie}) assert resp.html.find(id='error_content').p.string == errorcode.permission resp = app.post('/site-updates/%d' % (updates[-1].updateid,), _FORM, headers={'Cookie': cookie}) assert resp.html.find(id='error_content').p.string == errorcode.permission monkeypatch.setattr(staff, 'TECHNICAL', frozenset([user])) monkeypatch.setattr(staff, 'MODS', frozenset([user])) resp = app.get('/site-updates/%d/edit' % (updates[-1].updateid,), headers={'Cookie': cookie}) assert resp.html.find(id='error_content').p.string == errorcode.permission resp = app.post('/site-updates/%d' % (updates[-1].updateid,), _FORM, headers={'Cookie': cookie}) assert resp.html.find(id='error_content').p.string == errorcode.permission monkeypatch.setattr(staff, 'ADMINS', frozenset([user])) resp = app.get('/site-updates/%d/edit' % (updates[-1].updateid,), headers={'Cookie': cookie}) assert resp.html.find(id='error_content') is None
def test_list(monkeypatch, site_updates): _, updates = site_updates resp = app.get('/site-updates/') assert len(resp.html.findAll(None, 'text-post-item')) == 3 assert resp.html.find(None, 'text-post-actions') is None assert len(resp.html.findAll(None, 'text-post-group-header')) == 1 user = db_utils.create_user() cookie = db_utils.create_session(user) monkeypatch.setattr(staff, 'ADMINS', frozenset([user])) resp = app.get('/site-updates/', headers={'Cookie': cookie}) assert len(resp.html.findAll(None, 'text-post-item')) == 3 assert resp.html.find(None, 'text-post-actions').a['href'] == '/site-updates/%d/edit' % (updates[-1].updateid,)
def test_list_guest(): resp = app.get('/journals/journal_test') titles = [ link.string for link in resp.html.find(id='journals-content').find_all('a') ] assert titles == [u'Public journal', u'Test journal']
def test_profile_friend(journal_user): user = db_utils.create_user() cookie = db_utils.create_session(user) db_utils.create_friendship(user, journal_user) resp = app.get('/~journal_test', headers={'Cookie': cookie}) assert resp.html.find(id='user-journal').h4.string == u'Recent journal'
def test_profile_user(): user = db_utils.create_user(config=CharSettings( frozenset(), {}, {'tagging-level': 'max-rating-mature'})) cookie = db_utils.create_session(user) resp = app.get('/~journal_test', headers={'Cookie': cookie}) assert resp.html.find(id='user-journal').h4.string == u'Restricted journal'
def test_create(journal_user): cookie = db_utils.create_session(journal_user) app.post('/submit/journal', {'title': u'Created journal', 'rating': '10', 'content': u'A journal'}, headers={'Cookie': cookie}) resp = app.get('/~journal_test') assert resp.html.find(id='user-journal').h4.string == u'Created journal'
def test_index(site_updates): _, updates = site_updates resp = app.get('/') update = resp.html.find(id='hc-update') assert update is not None assert update.h3.string == updates[-1].title assert update.figure.img['alt'] == u'avatar of test_username'
def test_create_default_thumbnail(character): resp = app.get('/character/%d/test-name' % (character,)) assert resp.html.find(id='detail-bar-title').string == u'Test name' assert resp.html.find(id='char-stats').find('dt', text=u'Gender:').findNext('dd').string == u'🦊' image_url = resp.html.find(id='detail-art').a['href'] assert _read_character_image(image_url).tobytes() == _read_static_image('images/wesley1.png').tobytes()
def test_create_default_thumbnail(character): resp = app.get('/character/%d/test-name' % (character, )) assert resp.html.find(id='detail-bar-title').string == u'Test name' assert resp.html.find(id='char-stats').find( 'dt', text=u'Gender:').findNext('dd').string == u'🦊' image_url = resp.html.find(id='detail-art').a['href'] assert _read_character_image(image_url).tobytes() == _read_static_image( 'images/wesley1.png').tobytes()
def test_create(journal_user): cookie = db_utils.create_session(journal_user) app.post('/submit/journal', { 'title': u'Created journal', 'rating': '10', 'content': u'A journal' }, headers={'Cookie': cookie}) resp = app.get('/~journal_test') assert resp.html.find(id='user-journal').h4.string == u'Created journal'
def test_create_notifications(monkeypatch): admin_user = db_utils.create_user() normal_user = db_utils.create_user() admin_cookie = db_utils.create_session(admin_user) monkeypatch.setattr(staff, 'ADMINS', frozenset([admin_user])) resp = app.post('/admincontrol/siteupdate', _FORM, headers={'Cookie': admin_cookie}).follow() assert resp.html.find(None, 'content').h3.string == _FORM['title'] normal_cookie = db_utils.create_session(normal_user) resp = app.get('/messages/notifications', headers={'Cookie': normal_cookie}) assert list(resp.html.find(id='header-messages').find(title='Notifications').stripped_strings)[1] == '1' assert resp.html.find(id='site_updates').find(None, 'item').a.string == _FORM['title']
def test_profile_empty(): resp = app.get('/~journal_test') assert resp.html.find(id='user-journal') is None
def test_list_empty(): resp = app.get('/characters/character_test') assert list(resp.html.find(class_='user-characters').stripped_strings) == [u'Characters', u'There are no characters to display.']
def test_profile_user(): user = db_utils.create_user(config=CharSettings(frozenset(), {}, {'tagging-level': 'max-rating-mature'})) cookie = db_utils.create_session(user) resp = app.get('/~journal_test', headers={'Cookie': cookie}) assert resp.html.find(id='user-journal').h4.string == u'Restricted journal'
def test_list_empty(): resp = app.get('/site-updates/') assert resp.html.find(None, 'content').p.string == u'No site updates to show.'
def test_list_guest(): resp = app.get('/journals/journal_test') titles = [link.string for link in resp.html.find(id='journals-content').find_all('a')] assert titles == [u'Public journal', u'Test journal']
def test_index_empty(): resp = app.get('/') assert resp.html.find(id='home-content') is not None assert resp.html.find(id='hc-update') is None
def test_profile_guest(): resp = app.get('/~journal_test') assert resp.html.find(id='user-journal').h4.string == u'Public journal'
def test_list_empty(): resp = app.get('/characters/character_test') assert list(resp.html.find(class_='user-characters').stripped_strings) == [ u'Characters', u'There are no characters to display.' ]