From 8688a97077385f4ab7651a76d916c71efb6ecfe8 Mon Sep 17 00:00:00 2001 From: Bryan Newbold Date: Tue, 7 May 2019 19:18:24 -0700 Subject: basic coverage of web entity creation, merge --- python/tests/web_editing.py | 93 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 python/tests/web_editing.py diff --git a/python/tests/web_editing.py b/python/tests/web_editing.py new file mode 100644 index 00000000..473c81bc --- /dev/null +++ b/python/tests/web_editing.py @@ -0,0 +1,93 @@ + +import json +import pytest +from fatcat_client.rest import ApiException +from fixtures import * + + +def test_web_release_create_merge(app_admin, api): + + eg = quick_eg(api) + + rv = app_admin.get('/editgroup/{}'.format(eg.editgroup_id)) + assert rv.status_code == 200 + assert b'Release Edits (0)' in rv.data + + # bogus/bad submit + rv = app_admin.post('/release/create', + data={ + 'editgroup_id': eg.editgroup_id, + 'release_type': 'badmojo', + 'release_status': 'published', + 'title': 'something bogus', + }, + follow_redirects=True) + assert rv.status_code == 400 + # Does not insert bad choices into drop-down + #assert b'badmojo' in rv.data + assert b'Not a valid choice' in rv.data + + # ok/valid submit + rv = app_admin.post('/release/create', + data={ + 'editgroup_id': eg.editgroup_id, + 'release_type': 'article-journal', + 'release_status': 'published', + 'title': 'something bogus', + }, + follow_redirects=True) + assert rv.status_code == 200 + + rv = app_admin.get('/editgroup/{}'.format(eg.editgroup_id)) + assert rv.status_code == 200 + assert b'Release Edits (1)' in rv.data + + rv = app_admin.post('/editgroup/{}/submit'.format(eg.editgroup_id), + follow_redirects=True, + ) + assert rv.status_code == 200 + rv = app_admin.get('/editgroup/{}'.format(eg.editgroup_id)) + assert rv.status_code == 200 + assert b'Submitted' in rv.data + assert b'None!' in rv.data + + rv = app_admin.post('/editgroup/{}/annotation'.format(eg.editgroup_id), + data={ + 'comment_markdown': "This is an **example** of markdown in a test annotation", + }, + follow_redirects=True, + ) + assert rv.status_code == 200 + rv = app_admin.get('/editgroup/{}'.format(eg.editgroup_id)) + assert rv.status_code == 200 + assert b'

This is an example of markdown in a test annotation' in rv.data + + rv = app_admin.post('/editgroup/{}/accept'.format(eg.editgroup_id), + follow_redirects=True, + ) + assert rv.status_code == 200 + rv = app_admin.get('/editgroup/{}'.format(eg.editgroup_id)) + assert rv.status_code == 200 + assert b'Merged' in rv.data + + +def test_web_container_create(app_admin, api): + + eg = quick_eg(api) + + # bogus/bad submit + rv = app_admin.post('/container/create', + data={ + 'editgroup_id': eg.editgroup_id, + }, + follow_redirects=True) + assert rv.status_code == 400 + + # ok/valid submit + rv = app_admin.post('/container/create', + data={ + 'editgroup_id': eg.editgroup_id, + 'name': 'blah blah journal blah', + }, + follow_redirects=True) + assert rv.status_code == 200 -- cgit v1.2.3