Skip to content

Commit b7ec4d3

Browse files
committed
Add CSV import features, test suite improvements, and documentation
Features: - Categories CSV import (API + frontend with drag & drop) - Transactions CSV import with custom format (API + frontend) - Smart account/institution creation during transaction import - Auto-creation of category types and groups during category import - Duplicate detection for both imports - Rich description building from multiple CSV fields Test Improvements: - Created comprehensive test suite (142 tests total) - 121/142 tests passing (85% pass rate, up from 62%) - 100% of model tests passing (63/63) - 96% of API tests passing (54/56) - Added input validation to 5 API controllers Documentation: - Organized all documentation into /docs directory - Created comprehensive INDEX.md for navigation - New root README.md with project overview - CATEGORIES_IMPORT_FEATURE.md - Complete feature documentation - TRANSACTIONS_IMPORT_FEATURE.md - Complete feature documentation - DOCUMENTATION_ORGANIZATION.md - Documentation structure guide Bug Fixes: - Fixed account creation 400 error on frontend - Fixed validation to allow optional fields (None values) - Added missing default fields to account creation form Files Modified: - api/account/controllers.py - Added validation - api/categories/controllers.py - Added CSV import endpoint and validation - api/institution/controllers.py - Added validation - api/institution_account/controllers.py - Fixed validation logic - api/transaction/controllers.py - Rewrote CSV import with new format - app/categories/controllers.py - Added import route - app/static/js/institution_account/institution_account.js - Added default fields - app/templates/categories/index.html - Added import button - app/templates/transactions/import.html - New drag & drop interface - app/templates/transactions/index.html - Updated import button Files Created: - app/static/js/categories/import.js - Categories upload handler - app/static/js/transactions/import.js - Transactions upload handler - app/templates/categories/import.html - Categories import UI - tests/ - Complete test suite (142 tests) - docs/ - All documentation moved here - .coveragerc - Coverage configuration - pytest.ini - Pytest configuration
1 parent 43b528c commit b7ec4d3

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+7772
-179
lines changed

.coveragerc

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
[run]
2+
source = api,app
3+
omit =
4+
*/tests/*
5+
*/venv/*
6+
*/virtualenv/*
7+
*/__pycache__/*
8+
*/site-packages/*
9+
*/migrations/*
10+
11+
[report]
12+
precision = 2
13+
show_missing = True
14+
skip_covered = False
15+
16+
[html]
17+
directory = htmlcov

Pipfile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@ requests = "*"
1818
babel = "*"
1919

2020
[dev-packages]
21+
pytest = "*"
22+
pytest-cov = "*"
23+
pytest-flask = "*"
24+
faker = "*"
2125

2226
[requires]
2327
python_version = "3.11"

0 commit comments

Comments
 (0)