diff options
Diffstat (limited to 'python')
| -rw-r--r-- | python/fatcat_web/forms.py | 4 | ||||
| -rw-r--r-- | python/tests/web_editing.py | 14 | 
2 files changed, 16 insertions, 2 deletions
| diff --git a/python/fatcat_web/forms.py b/python/fatcat_web/forms.py index 13776d10..1bd932bb 100644 --- a/python/fatcat_web/forms.py +++ b/python/fatcat_web/forms.py @@ -152,11 +152,11 @@ class ReleaseEntityForm(EntityEditForm):                  a = None              setattr(re, simple_attr, a)          for extid_attr in RELEASE_EXTID_ATTRS: -            a = getattr(self, simple_attr).data +            a = getattr(self, extid_attr).data              # special case blank strings              if a == '':                  a = None -            setattr(re.ext_ids, simple_attr, a) +            setattr(re.ext_ids, extid_attr, a)          # bunch of complexity here to preserve old contrib metadata (eg,          # affiliation and extra) not included in current forms          # TODO: this may be broken; either way needs tests diff --git a/python/tests/web_editing.py b/python/tests/web_editing.py index 8386badb..fb8b3f93 100644 --- a/python/tests/web_editing.py +++ b/python/tests/web_editing.py @@ -24,6 +24,18 @@ def test_web_release_create_accept(app_admin, api):      #assert b'badmojo' in rv.data      assert b'Not a valid choice' in rv.data +    # bad wikidata QID +    rv = app_admin.post('/release/create', +        data={ +            'editgroup_id': eg.editgroup_id, +            'release_type': 'article-journal', +            'release_stage': 'published', +            'title': 'something bogus', +            'wikidata_qid': '884', +        }, +        follow_redirects=True) +    assert rv.status_code == 400 +      # ok/valid submit      rv = app_admin.post('/release/create',          data={ @@ -31,9 +43,11 @@ def test_web_release_create_accept(app_admin, api):              'release_type': 'article-journal',              'release_stage': 'published',              'title': 'something bogus', +            'doi': '10.1234/999999',          },          follow_redirects=True)      assert rv.status_code == 200 +    assert b'10.1234/999999' in rv.data      rv = app_admin.get('/editgroup/{}'.format(eg.editgroup_id))      assert rv.status_code == 200 | 
