mirror of
https://github.com/DRYTRIX/TimeTracker.git
synced 2025-12-31 00:09:58 -06:00
Add extensive test coverage and documentation for the existing User Settings page, completing the feature implementation to production-ready status. ## Changes ### Testing (44 tests, 100% passing) - Add 30 unit tests in tests/test_user_settings.py * Page rendering and authentication tests * Form validation and preference update tests * API endpoint tests (PATCH /api/preferences, POST /api/theme) * Integration and CSRF protection tests - Add 14 smoke tests in tests/smoke_test_user_settings.py * Basic functionality validation * Critical user path verification * Error handling checks ### Documentation - Add docs/USER_SETTINGS_GUIDE.md * Comprehensive user guide for all settings * API documentation with examples * Database schema reference * Troubleshooting guide * Best practices for developers - Add USER_SETTINGS_IMPLEMENTATION_SUMMARY.md * Complete implementation overview * Feature checklist and verification * Test results and metrics ## Features Tested - ✅ Profile information management (name, email) - ✅ Notification preferences (5 toggles) - ✅ Theme selection (light/dark/system) with live preview - ✅ Regional settings (timezone, date/time formats, week start) - ✅ Time rounding preferences (intervals, methods) - ✅ Overtime settings (standard hours per day) - ✅ API endpoints for AJAX updates - ✅ Input validation and error handling ## Test Coverage - Settings page rendering: 4 tests - Preference updates: 16 tests - API endpoints: 7 tests - Integration: 3 tests - Smoke tests: 14 tests - Total: 44 tests, 100% passing ## Notes The User Settings feature backend and frontend were already fully implemented in app/routes/user.py and app/templates/user/settings.html. This commit adds the missing test co
20 lines
468 B
Python
20 lines
468 B
Python
"""
|
|
Setup configuration for TimeTracker application.
|
|
This allows the app to be installed as a package for testing.
|
|
"""
|
|
|
|
from setuptools import setup, find_packages
|
|
|
|
setup(
|
|
name='timetracker',
|
|
version='3.6.0',
|
|
packages=find_packages(),
|
|
include_package_data=True,
|
|
install_requires=[
|
|
# Core requirements are in requirements.txt
|
|
# This file is mainly for making the app importable during testing
|
|
],
|
|
python_requires='>=3.11',
|
|
)
|
|
|