From d1224c13c90f17d6be4ee1553aaf716a788a84d4 Mon Sep 17 00:00:00 2001 From: Serafeim Papastefanos Date: Thu, 12 Sep 2024 09:34:22 +0300 Subject: [PATCH 1/3] Make sure BASE_DIR is a Path --- src/django_components/app_settings.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/django_components/app_settings.py b/src/django_components/app_settings.py index 41a56d9e..29885759 100644 --- a/src/django_components/app_settings.py +++ b/src/django_components/app_settings.py @@ -1,5 +1,6 @@ import re from enum import Enum +from pathlib import Path from typing import TYPE_CHECKING, Dict, List, Tuple, Union from django.conf import settings @@ -101,7 +102,8 @@ class AppSettings: @property def DIRS(self) -> List[Union[str, Tuple[str, str]]]: - return self.settings.get("dirs", [settings.BASE_DIR / "components"]) + base_dir_path = Path(settings.BASE_DIR) + return self.settings.get("dirs", [base_dir_path / "components"]) @property def APP_DIRS(self) -> List[str]: From d2b3b79b52d6564b71148ecadc3dbb9ff174e6ba Mon Sep 17 00:00:00 2001 From: Serafeim Papastefanos Date: Thu, 12 Sep 2024 10:07:52 +0300 Subject: [PATCH 2/3] Add tests for base_dir str/path --- tests/test_settings.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tests/test_settings.py b/tests/test_settings.py index 34f4a7d3..e1a06177 100644 --- a/tests/test_settings.py +++ b/tests/test_settings.py @@ -1,3 +1,4 @@ +from pathlib import Path from django.test import override_settings from django_components.app_settings import app_settings @@ -17,3 +18,11 @@ class SettingsTestCase(BaseTestCase): def test_raises_on_invalid_context_behavior(self): with self.assertRaises(ValueError): app_settings.CONTEXT_BEHAVIOR + + @override_settings(BASE_DIR="base_dir") + def test_works_when_base_dir_is_string(self): + self.assertEqual(app_settings.DIRS, [Path("base_dir/components")]) + + @override_settings(BASE_DIR=Path("base_dir")) + def test_works_when_base_dir_is_path(self): + self.assertEqual(app_settings.DIRS, [Path("base_dir/components")]) From 7a88231ecba61334aeb3a1b61911c7a1f9f9e1d9 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 12 Sep 2024 07:08:09 +0000 Subject: [PATCH 3/3] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- tests/test_settings.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/test_settings.py b/tests/test_settings.py index e1a06177..837112ab 100644 --- a/tests/test_settings.py +++ b/tests/test_settings.py @@ -1,4 +1,5 @@ from pathlib import Path + from django.test import override_settings from django_components.app_settings import app_settings