From d2838589dccedddf4583a8702a281a3c8378eb28 Mon Sep 17 00:00:00 2001 From: Jay Guo Date: Fri, 8 Nov 2024 19:11:09 -0500 Subject: [PATCH] Add test --- .../opendata_theme/tests/base/test_helpers.py | 49 ++++++++++++++++--- .../test_custom_footer.py | 5 ++ 2 files changed, 48 insertions(+), 6 deletions(-) diff --git a/ckanext/opendata_theme/tests/base/test_helpers.py b/ckanext/opendata_theme/tests/base/test_helpers.py index ece1aed1..7a2af823 100644 --- a/ckanext/opendata_theme/tests/base/test_helpers.py +++ b/ckanext/opendata_theme/tests/base/test_helpers.py @@ -1,20 +1,57 @@ import pytest -from ckanext.opendata_theme.base.helpers import version_builder +from ckanext.opendata_theme.base.helpers import ( + abbreviate_name, is_data_dict_active, + get_group_alias, get_organization_alias, + version_builder, check_characters, + sanityze_all_html +) from packaging.version import InvalidVersion +def test_abbreviate_name(): + assert abbreviate_name('John Smith') == 'JS' + assert abbreviate_name('test') == 'T' + + +def test_is_data_dict_active(): + assert is_data_dict_active([{'info': {'label': 'test'}}]) + assert is_data_dict_active([{'info': {'notes': 'test'}}]) + assert is_data_dict_active([{'info': {'label': 'test', 'notes': 'test'}}]) + assert not is_data_dict_active([{'info': {}}]) + assert not is_data_dict_active([{}]) + assert not is_data_dict_active([]) + + +def test_get_group_alias(): + assert get_group_alias() == 'Group' + + +def test_get_organization_alias(): + assert get_organization_alias() == 'Organization' + + def test_version_builder_positive(): assert version_builder('2.7') < version_builder('2.9') assert version_builder('2.7.0') < version_builder('2.7.3') assert version_builder('2.7.3') < version_builder('2.7.12') - assert version_builder('2.7.3') < version_builder('2.9.0') - assert version_builder('2.7.3') < version_builder('2.9.7') - assert version_builder('2.7.12') < version_builder('2.9.0') - assert version_builder('2.7.12') < version_builder('2.9.7') - assert version_builder('2.7.12') < version_builder('2.10.0') + assert version_builder('2.7.3') < version_builder('2.9.11') + assert version_builder('2.7.12') < version_builder('2.9.11') + assert version_builder('2.9.11') < version_builder('2.10.0') + assert version_builder('2.9.11') < version_builder('2.11.0') def test_version_builder_failed_to_build(): with pytest.raises(InvalidVersion): assert version_builder('1.3.xy123') + + +def test_check_characters(): + assert check_characters('test') + assert check_characters('') is False + + +def test_sanityze_all_html(): + assert sanityze_all_html('') == '<script>alert("test")</script>' + assert sanityze_all_html('test') == '<a href="test">test</a>' + assert sanityze_all_html('test') == 'test' diff --git a/ckanext/opendata_theme/tests/opengov_custom_footer/test_custom_footer.py b/ckanext/opendata_theme/tests/opengov_custom_footer/test_custom_footer.py index 082d97c4..2e3396c9 100644 --- a/ckanext/opendata_theme/tests/opengov_custom_footer/test_custom_footer.py +++ b/ckanext/opendata_theme/tests/opengov_custom_footer/test_custom_footer.py @@ -1,5 +1,6 @@ import pytest +from ckanext.opendata_theme.opengov_custom_footer.plugin import get_footer_script_snippet from ckanext.opendata_theme.tests.helpers import do_get, do_post CUSTOM_FOOTER_URL = "/ckan-admin/custom_footer" @@ -100,3 +101,7 @@ def test_reset_custom_footer_form_after_some_footer_modification(app): 'content_2': '' } check_custom_footer_page_html(reset_response, **expected_data) + + +def test_invalid_get_footer_script_snippet(): + assert get_footer_script_snippet() is False