Browse Source

♻️ Refactor logic to allow running pytest tests locally (#683)

pull/13907/head
Sebastián Ramírez 1 year ago
committed by GitHub
parent
commit
4e2c6bd6ba
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 6
      backend/README.md
  2. 5
      backend/app/core/config.py
  3. 4
      backend/app/utils.py

6
backend/README.md

@ -67,6 +67,12 @@ Modify or add SQLModel models for data and SQL tables in `./backend/app/models.p
Add and modify tasks to the Celery worker in `./backend/app/worker.py`.
### VS Code
There are already configurations in place to run the backend through the VS Code debugger, so that you can use breakpoints, pause and explore variables, etc.
The setup is also already configured so you can run the tests through the VS Code Python tests tab.
### Docker Compose Override
During development, you can change Docker Compose settings that will only affect the local development environment in the file `docker-compose.override.yml`.

5
backend/app/core/config.py

@ -23,7 +23,9 @@ def parse_cors(v: Any) -> list[str] | str:
class Settings(BaseSettings):
model_config = SettingsConfigDict(env_file=".env", env_ignore_empty=True)
model_config = SettingsConfigDict(
env_file=".env", env_ignore_empty=True, extra="ignore"
)
API_V1_STR: str = "/api/v1"
SECRET_KEY: str = secrets.token_urlsafe(32)
# 60 minutes * 24 hours * 8 days = 8 days
@ -77,7 +79,6 @@ class Settings(BaseSettings):
return self
EMAIL_RESET_TOKEN_EXPIRE_HOURS: int = 48
EMAIL_TEMPLATES_DIR: str = "/app/app/email-templates/build"
@computed_field # type: ignore[misc]
@property

4
backend/app/utils.py

@ -18,7 +18,9 @@ class EmailData:
def render_email_template(*, template_name: str, context: dict[str, Any]) -> str:
template_str = (Path(settings.EMAIL_TEMPLATES_DIR) / template_name).read_text()
template_str = (
Path(__file__).parent / "email-templates" / "build" / template_name
).read_text()
html_content = Template(template_str).render(context)
return html_content

Loading…
Cancel
Save