13 Commits

Author SHA1 Message Date
1e14827acd fix: Update Dockerfile to install full dependencies and use tsx for starting the blog API server 2025-07-02 05:48:46 +03:00
59b0fbcc73 fix: Override entrypoint in Dockerfile to ensure proper startup of IPFS daemon 2025-07-02 05:30:34 +03:00
08d110b7e6 feat: Update Docker configurations and integrate IPFS and OrbitDB services 2025-06-21 12:07:36 +03:00
64ed9e82a7 Add integration tests for blog workflow and supporting infrastructure
- Implemented comprehensive integration tests for user management, category management, content publishing, comment system, performance, scalability, and network resilience.
- Created DockerNodeManager to manage Docker containers for testing.
- Developed ApiClient for API interactions and health checks.
- Introduced SyncWaiter for synchronizing node states and ensuring data consistency.
- Enhanced test reliability with increased timeouts and detailed logging.
2025-06-21 11:15:33 +03:00
83c7b985ff Remove real integration tests and related setup files
- Deleted the real integration test file `real-integration.test.ts` which contained tests for the DebrosFramework, RealTestUser, and RealTestPost models.
- Removed the `helia-wrapper.ts`, `ipfs-setup.ts`, `orbitdb-setup.ts`, `swarm-setup.ts`, and `test-lifecycle.ts` files that provided setup and utility functions for the real IPFS and OrbitDB network tests.
2025-06-19 22:26:56 +03:00
831c977eda feat: Add debug script for field defaults and enhance Jest configuration for ES modules 2025-06-19 21:47:35 +03:00
8d3ccdc80c Add real integration tests for IPFS and OrbitDB
- Implemented real integration tests in `real-integration.test.ts` to validate the functionality of the DebrosFramework with IPFS and OrbitDB.
- Created `RealTestUser` and `RealTestPost` models for testing user and post functionalities.
- Developed setup and teardown lifecycle methods for managing the test environment.
- Introduced `RealIPFSService` and `RealOrbitDBService` classes for managing IPFS and OrbitDB instances.
- Added `PrivateSwarmSetup` for configuring a private IPFS network.
- Implemented utility functions for creating and shutting down IPFS and OrbitDB networks.
- Created a global test manager for managing test lifecycle and network state.
- Updated TypeScript configuration to include test files and exclude them from the main build.
2025-06-19 21:29:50 +03:00
0807547a51 feat: Enhance BaseModel validation with unique constraint checks and improve RelationshipManager model resolution 2025-06-19 20:55:17 +03:00
0305cb1737 feat: Enhance QueryBuilder with operator normalization and null handling; update ShardManager to ensure shard index bounds; improve BaseModel tests for email validation 2025-06-19 12:54:21 +03:00
9f425f2106 feat: Refactor BaseModel and decorators for improved field handling and relationships 2025-06-19 12:45:10 +03:00
64163a5b93 feat: Enhance model decorators and query builder
- Added validation for field and model configurations in decorators.
- Improved handling of relationships in the BelongsTo, HasMany, HasOne, and ManyToMany decorators.
- Introduced new methods in QueryBuilder for advanced filtering, caching, and relationship loading.
- Updated RelationshipManager to support new relationship configurations.
- Enhanced error handling and logging in migration tests.
- Refactored test cases for better clarity and coverage.
2025-06-19 12:09:23 +03:00
071723f673 feat: add Jest configuration and basic framework tests 2025-06-19 11:26:45 +03:00
1cbca09352 Add unit tests for RelationshipManager and ShardManager
- Implement comprehensive tests for RelationshipManager covering various relationship types (BelongsTo, HasMany, HasOne, ManyToMany) and eager loading functionality.
- Include caching mechanisms and error handling in RelationshipManager tests.
- Create unit tests for ShardManager to validate shard creation, routing, management, global index operations, and query functionalities.
- Ensure tests cover different sharding strategies (hash, range, user) and handle edge cases like errors and non-existent models.
2025-06-19 11:20:13 +03:00