**test(api): add integration tests for API endpoints and core functionality**

- **Integration Tests**:
  - Introduced `api-integration.test.ts` to validate API functionality:
    - Verifies text insertion, vector embedding generation, and search operations.
    - Confirms HNSW index correctness for vector similarity search.
    - Ensures no dimensional mismatches in embeddings.

- **Test Server**:
  - Added test server utilizing Express for endpoint simulation (`/insert` and `/search/text`).

- **Dependencies**:
  - Introduced `express` and `node-fetch` as new dependencies for testing purposes.

- **Vitest Fix**:
  - Updated `vitest.config.ts` to resolve the `process.memoryUsage` error by setting `logHeapUsage: false`.

- **Package Updates**:
  - Modified `package-lock.json` to include newly added dependencies and updates.

**Purpose**: Guarantees the stability of core API endpoints and vector-related functionality, ensuring reliable behavior for end-to-end scenarios.
This commit is contained in:
David Snelling 2025-07-28 10:04:45 -07:00
parent 1cc5843187
commit b90fa5c37c
11 changed files with 1418 additions and 85 deletions

View file

@ -1289,6 +1289,34 @@ terabyte-scale data that can't fit entirely in memory, we provide several approa
For detailed information on how to scale Brainy for large datasets, see our
comprehensive [Scaling Strategy](scalingStrategy.md) document.
## Testing
Brainy uses Vitest for testing. The project includes several test scripts:
```bash
# Run all tests
npm test
# Run tests with comprehensive reporting
npm run test:report
# Run tests in watch mode
npm test:watch
# Run tests with UI
npm test:ui
# Run specific test suites
npm run test:node
npm run test:browser
npm run test:core
# Run tests with coverage
npm run test:coverage
```
The `test:report` script provides a comprehensive test report showing detailed information about all tests that were run, including test names, execution time, and pass/fail status.
## Contributing
For detailed contribution guidelines, please see [CONTRIBUTING.md](CONTRIBUTING.md).