- Added comprehensive AI Assistant system (aiassist/ directory): * Vector search and embedding capabilities * Typebot proxy integration * Elastic search functionality * Message classification and chat history * MCP proxy for external integrations - Implemented Court Status API (GetCourtStatus.php): * Real-time court document status checking * Integration with external court systems * Comprehensive error handling and logging - Enhanced S3 integration: * Improved file backup system with metadata * Batch processing capabilities * Enhanced error logging and recovery * Copy operations with URL fixing - Added Telegram contact creation API - Improved error logging across all modules - Enhanced callback system for AI responses - Extensive backup file storage with timestamps - Updated documentation and README files - File storage improvements: * Thousands of backup files with proper metadata * Fix operations for broken file references * Project-specific backup and recovery systems * Comprehensive file integrity checking Total: 26,461+ files added/modified including AWS SDK, vendor dependencies, and extensive backup system.
Unit tests, written with QUnit, are used to expose bugs for squashing, prevent bugs from respawning, and suppress new bugs when adding new features and making changes.
Running the tests
The simplest way to run the tests is to open tests/tests.html in your browser.
The test suites will automatically run themselves and present their results.
To run the tests from the command line (after running jshint and jscs, which is
recommended), install Grunt and run the test task from anywhere within the
repo:
$ grunt test
Adding tests
Tests go in js files in the tests/suites/ directory tree. QUnit organizes
tests into suites called "modules"; there is one module per js file. If the
tests you are adding do not fit into an existing module, create a new one at
tests/suites/<new module>.js, where <new module> is a broad yet
descriptive name for the suite. If tests have many year-specific cases (ie,
behave differently in leap years vs normal years, or have specific buggy
behavior in a certain year), create the module in a new directory,
tests/suites/<new module>/<year>.js, where <new module> is the decriptive
name and <year> is the four-digit year the tests pertain to.
In order for new tests to be run, they must be imported into tests/tests.html.
Find the script includes headed by the html comment <!-- Test suites -->, and
add a new one to the list which includes the new js files.