diff --git a/websites/api_test.py b/websites/api_test.py index 66d2f8382..5e0efcdfd 100644 --- a/websites/api_test.py +++ b/websites/api_test.py @@ -45,7 +45,6 @@ from websites.models import Website from websites.serializers_test import VALID_METADATA - pytestmark = pytest.mark.django_db EXAMPLE_UUID_STR = "ae6cfe0b-37a7-4fe6-b194-5b7f1e3c349e" diff --git a/websites/models.py b/websites/models.py index b13cbd236..3c0c447bd 100644 --- a/websites/models.py +++ b/websites/models.py @@ -285,7 +285,10 @@ def s3_path(self): @property def has_site_metadata(self): - """Get True when required fields are set in WebsiteContent metadata otherwise False""" + """ + Get True when required fields are set in WebsiteContent metadata + otherwise False + """ site_metadata = self.websitecontent_set.filter(type="sitemetadata") return bool( site_metadata diff --git a/websites/serializers_test.py b/websites/serializers_test.py index 6c3a1d7cb..ec0b6b9b8 100644 --- a/websites/serializers_test.py +++ b/websites/serializers_test.py @@ -183,33 +183,6 @@ def test_website_status_serializer(mocker, settings, drive_folder, warnings): "department_numbers": ["3"], "hide_download": True, } -# MISSING_TITLE_METADATA = { -# "status": False, -# "course_title": "", -# "primary_course_number": "1", -# "department_numbers": ["3"], -# "hide_download": False, -# } -# MISSING_COURSE_NUMBER_METADATA = { -# "status": False, -# "course_title": "example", -# "primary_course_number": "", -# "department_numbers": ["3"], -# "hide_download": False, -# } -# MISSING_DEP_NO_METADATA = { -# "status": False, -# "course_title": "example", -# "primary_course_number": "2", -# "department_numbers": [""], -# "hide_download": False, -# } -# MISSING_HIDE_DOWNLOAD_METADATA = { -# "status": False, -# "course_title": "", -# "primary_course_number": 2, -# "department_numbers": 3, -# } @pytest.mark.parametrize( diff --git a/websites/utils.py b/websites/utils.py index 98aae034b..b63952edf 100644 --- a/websites/utils.py +++ b/websites/utils.py @@ -100,24 +100,24 @@ def is_test_site(site_name: str) -> bool: def is_required_or_min(field): - """Get True if field have either 'required' property set to True or 'min' property set to > 0""" + """ + Get True if field have either 'required' property set to True or 'min' + property set to > 0 + """ return ("required" in field or "min" in field) and ( field.get("required") or (field.get("min") and int(field.get("min")) > 0) ) def get_config_required_fields(config: SiteConfig): - """A utility fn for getting the 'required' fields in the WebsiteStarter metadata config""" + """Retrieve the 'required' fields in the WebsiteStarter.""" config_item = config.find_item_by_name("metadata") metadata_fields = config_item.item.get("files")[0].get("fields") - fields = [ - field.get("name") for field in metadata_fields if is_required_or_min(field) - ] - return fields + return [field.get("name") for field in metadata_fields if is_required_or_min(field)] def is_metadata_has_required_fields(config, metadata): - """Validates whether all the required fields are present in the WebsiteContent metadata""" + """Validate the presence of all required fields in the WebsiteContent metadata.""" required_fields = get_config_required_fields(config) return all( field in metadata