Luis Novo
|
18b4dfdb77
|
Claude/add initial tests 011 cukte9g4 qwj hjw7 g3ny rf (#190)
Development Build / extract-version (push) Has been cancelled
Development Build / test-build-regular (push) Has been cancelled
Development Build / test-build-single (push) Has been cancelled
Development Build / summary (push) Has been cancelled
* test: add comprehensive unit tests for domain module
Add 24 comprehensive unit tests covering the open_notebook.domain module:
**ObjectModel Base (5 tests)**
- Create and update operations with timestamps
- Get by ID with class resolution
- Delete validation
- Relationship creation
**RecordModel Singleton (3 tests)**
- Singleton pattern behavior
- Async database loading
- Update persistence
**ModelManager (3 tests)**
- Singleton pattern
- Model instance caching
- Default model retrieval
**Notebook Domain (3 tests)**
- Name validation (empty/whitespace)
- Source relationship queries
- Archived flag defaults
**Source Domain (3 tests)**
- Text vectorization and chunking
- Insight validation and creation
- RecordID command field parsing
**Note Domain (2 tests)**
- Content validation
- Embedding configuration
**Podcast Domain (2 tests)**
- Speaker profile validation
- Episode profile segment validation
**Additional Tests (3 tests)**
- ChatSession relationships
- Transformation creation
- ContentSettings defaults
All tests use proper mocking to avoid database dependencies and validate
both business logic and error handling. Tests follow pytest best practices
with async support, fixtures, and comprehensive assertions.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* test: add comprehensive tests for utils and graphs modules
Add 56 new unit tests covering utils and graphs modules:
**Utils Module Tests (36 tests)**
Text Utilities (13 tests):
- Text splitting with various chunk sizes
- ASCII and non-printable character removal
- Thinking tag parsing and cleaning (single/multiple tags)
- Edge cases (empty strings, invalid input, large content)
Token Utilities (4 tests):
- Token counting with tiktoken
- Cost calculation
- Fallback behavior when tiktoken unavailable
Version Utilities (7 tests):
- Semantic version comparison (equal, less, greater, prerelease)
- Installed package version retrieval
- GitHub version fetching with URL validation
Context Builder (12 tests):
- ContextItem and ContextConfig creation
- Builder initialization with various parameters
- Priority sorting and deduplication
- Token-based truncation
- Response formatting
- Source and notebook context building
- Convenience functions
**Graphs Module Tests (20 tests)**
Model Provisioning (4 tests):
- Default model selection
- Large context model triggering (>105k tokens)
- Specific model ID selection
- Kwargs pass-through
Tools (3 tests):
- Current timestamp format validation
- Timestamp validity checking
- Tool decoration verification
Prompt Graph (5 tests):
- PatternChainState structure
- Model calling with/without parser
- Graph compilation and execution
Transformation Graph (8 tests):
- TransformationState structure
- Transformation with source objects
- Transformation with direct input text
- Thinking content cleaning
- Content validation
- Graph compilation and execution
- Default prompt integration
All tests use proper mocking to avoid external dependencies (network,
database) and validate both success paths and error handling.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* improve tests
---------
Co-authored-by: Claude <noreply@anthropic.com>
|
2025-10-21 16:54:59 -03:00 |
|