Files
thechart/scripts

TheChart Scripts Directory

This directory contains interactive demonstrations and utility scripts for TheChart application.

Scripts Overview

Testing Scripts

run_tests.py

Main test runner for the application.

cd /home/will/Code/thechart
.venv/bin/python scripts/run_tests.py

integration_test.py

Comprehensive integration test for the export system.

  • Tests all export formats (JSON, XML, PDF)
  • Validates data integrity and file creation
  • No GUI dependencies - safe for automated testing
cd /home/will/Code/thechart
.venv/bin/python scripts/integration_test.py

Feature Testing Scripts

test_note_saving.py

Tests note saving and retrieval functionality.

  • Validates note persistence in CSV files
  • Tests special characters and formatting

test_update_entry.py

Tests entry update functionality.

  • Validates data modification operations
  • Tests date validation and duplicate handling

test_keyboard_shortcuts.py

Tests keyboard shortcut functionality.

  • Validates keyboard event handling
  • Tests shortcut combinations and responses

Interactive Demonstrations

test_menu_theming.py

Interactive demonstration of menu theming functionality.

  • Live theme switching demonstration
  • Visual display of theme colors
  • Real-time menu color updates
cd /home/will/Code/thechart
.venv/bin/python scripts/test_menu_theming.py

Usage

All scripts should be run from the project root directory using the virtual environment:

cd /home/will/Code/thechart
source .venv/bin/activate.fish  # For fish shell
# OR
source .venv/bin/activate       # For bash/zsh

python scripts/<script_name>.py

Test Organization

Unit Tests

Located in /tests/ directory:

  • test_theme_manager.py - Theme manager functionality tests
  • test_data_manager.py - Data management tests
  • test_ui_manager.py - UI component tests
  • test_graph_manager.py - Graph functionality tests
  • And more...

Run unit tests with:

cd /home/will/Code/thechart
.venv/bin/python -m pytest tests/

Integration Tests

Located in /scripts/ directory:

  • integration_test.py - Export system integration test
  • Feature-specific test scripts

Interactive Demos

Located in /scripts/ directory:

  • test_menu_theming.py - Menu theming demonstration

Test Data

  • Integration tests create temporary export files in integration_test_exports/ (auto-cleaned)
  • Test scripts use the main thechart_data.csv file unless specified otherwise
  • No test data is committed to the repository

Development

When adding new scripts:

  1. Place them in this directory
  2. Use the standard shebang: #!/usr/bin/env python3
  3. Add proper docstrings and error handling
  4. Update this README with script documentation
  5. Follow the project's linting and formatting standards
  6. For unit tests, place them in /tests/ directory
  7. For integration tests or demos, place them in /scripts/ directory