mirror of
https://github.com/pacnpal/thrillwiki_django_no_react.git
synced 2025-12-20 05:51:08 -05:00
- Implemented extensive test cases for the Parks API, covering endpoints for listing, retrieving, creating, updating, and deleting parks. - Added tests for filtering, searching, and ordering parks in the API. - Created tests for error handling in the API, including malformed JSON and unsupported methods. - Developed model tests for Park, ParkArea, Company, and ParkReview models, ensuring validation and constraints are enforced. - Introduced utility mixins for API and model testing to streamline assertions and enhance test readability. - Included integration tests to validate complete workflows involving park creation, retrieval, updating, and deletion.
66 lines
1.4 KiB
Python
66 lines
1.4 KiB
Python
"""
|
|
Test settings for thrillwiki project.
|
|
"""
|
|
|
|
from .base import *
|
|
|
|
# Test-specific settings
|
|
DEBUG = False
|
|
|
|
# Use in-memory database for faster tests
|
|
DATABASES = {
|
|
'default': {
|
|
'ENGINE': 'django.contrib.gis.db.backends.spatialite',
|
|
'NAME': ':memory:',
|
|
}
|
|
}
|
|
|
|
# Use in-memory cache for tests
|
|
CACHES = {
|
|
'default': {
|
|
'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
|
|
'LOCATION': 'test-cache',
|
|
}
|
|
}
|
|
|
|
# Disable migrations for faster tests
|
|
|
|
|
|
class DisableMigrations:
|
|
def __contains__(self, item):
|
|
return True
|
|
|
|
def __getitem__(self, item):
|
|
return None
|
|
|
|
|
|
MIGRATION_MODULES = DisableMigrations()
|
|
|
|
# Email backend for tests
|
|
EMAIL_BACKEND = 'django.core.mail.backends.locmem.EmailBackend'
|
|
|
|
# Password hashers for faster tests
|
|
PASSWORD_HASHERS = [
|
|
'django.contrib.auth.hashers.MD5PasswordHasher',
|
|
]
|
|
|
|
# Disable logging during tests
|
|
LOGGING_CONFIG = None
|
|
|
|
# Media files for tests
|
|
MEDIA_ROOT = BASE_DIR / 'test_media'
|
|
|
|
# Static files for tests
|
|
STATIC_ROOT = BASE_DIR / 'test_static'
|
|
|
|
# Disable Turnstile for tests
|
|
TURNSTILE_SITE_KEY = 'test-key'
|
|
TURNSTILE_SECRET_KEY = 'test-secret'
|
|
|
|
# Test-specific middleware (remove caching middleware)
|
|
MIDDLEWARE = [m for m in MIDDLEWARE if 'cache' not in m.lower()]
|
|
|
|
# Celery settings for tests (if Celery is used)
|
|
CELERY_TASK_ALWAYS_EAGER = True
|
|
CELERY_TASK_EAGER_PROPAGATES = True
|