Render tests

This commit is contained in:
Oleg Lavrovsky 2024-03-21 23:41:33 +01:00
parent 19410203ea
commit 97171a0fac
No known key found for this signature in database
GPG Key ID: 31E523030632FF4B
2 changed files with 9 additions and 8 deletions

View File

@ -12,7 +12,7 @@ from .boxout.github import box_repo
from dribdat.extensions import cache
def format_webembed(url, project_id):
def format_webembed(url, project_id=None):
"""Create a well-formatted frame for project embeds."""
if not url:
return ''
@ -21,7 +21,7 @@ def format_webembed(url, project_id):
# Allow IFRAMEs
# TODO: add a setting
return url
elif urltest.endswith('.pdf'):
elif urltest.endswith('.pdf') and project_id is not None:
# Redirect to embed visualizer of this document
url = url_for('project.render', project_id=project_id)
elif urltest.startswith('https://query.wikidata.org/'):

View File

@ -71,15 +71,16 @@ class TestRender:
def test_webrender(self, testapp):
"""Link conversion for popular embedded links."""
project = ProjectFactory()
assert not format_webembed(project.id)
project.save()
assert not format_webembed('')
url = '<iframe src="blah"></iframe>'
assert format_webembed(project.id, url) is url
assert format_webembed(url) is url
url = 'test.PDF'
assert '/project/' in format_webembed(project.id, url)
assert '/project/' in format_webembed(url, project.id)
url = 'https://query.wikidata.org/#SELECT%20%3Fitem%20%3FitemLabel%0AWHERE%0A%7B%0A' \
+ '%20%20%3Fitem%20wdt%3AP31%20wd%3AQ46855.%0A%20%20SERVICE%20wikibase%3Alabel%' \
+ '20%7B%20bd%3AserviceParam%20wikibase%3Alanguage%20%22en%22.%20%7D%0A%7D'
assert 'embed.html' in format_webembed(project.id, url)
assert 'embed.html' in format_webembed(url)
url = 'https://youtu.be/xm3YgoEiEDc?t=32399'
assert 'youtube' in format_webembed(project.id, url)
assert '?start=' in format_webembed(project.id, url)
assert 'youtube' in format_webembed(url)
assert '?start=' in format_webembed(url)