MOSAICapp / tests /tests.md
romybeaute's picture
added tests help
bc76dc7
# MOSAICapp Test Suite
This directory contains the automated tests for the MOSAICapp software.
## File Structure
### 1. `conftest.py`
Contains **fixtures** (setup code) shared across all tests. It generates temporary CSV files and dummy datasets so tests can run without external data dependencies.
### 2. `test_core_functions.py` (Fast)
Unit tests for the `mosaic_core` utility functions. These run instantly.
- **Slugify:** Checks filename sanitisation.
- **CacheIO:** Verifies that topic labels can be saved/loaded from JSON.
- **Device Resolution:** Ensures the app correctly selects CPU/GPU/MPS devices.
### 3. `test_integration.py` (Slow)
Integration tests that run the actual ML pipeline.
- **Embeddings:** Loads the `sentence-transformers` model and checks vector output.
- **Topic Modelling:** Runs a minimal BERTopic pipeline (UMAP + HDBSCAN) on dummy data.
- **LLM labeling:** (Optional) Tests the HuggingFace API connection if `HF_TOKEN` is present in the environment.
## How to Run
**Run everything:**
```bash
pytest tests/ -v
```
**Run only fast tests:**
```bash
pytest tests/test_core_functions.py -v
```