|
|
||
|---|---|---|
| .. | ||
| README.md | ||
| test_maidesite_desk_esp32c3.yaml | ||
| test_maidesite_desk_esp32s2.yaml | ||
| test_maidesite_desk_full.yaml | ||
| test_maidesite_desk_integration.py | ||
| test_maidesite_desk_mini.yaml | ||
| test_maidesite_desk_unit.py | ||
README.md
Testing Documentation for Maidesite Desk Component
This directory contains comprehensive tests for the maidesite_desk ESPHome component.
Test Structure
Unit Tests (test_maidesite_desk_unit.py)
- Tests Python configuration validation
- Tests component metadata (CODEOWNERS, DEPENDENCIES, etc.)
- Tests configuration schema structure
- Tests all platform imports (sensor, number, button)
- Tests code generation logic
Integration Tests (test_maidesite_desk_integration.py)
- Tests minimal feature configuration on ESP32 board
- Tests full feature configuration on ESP32 board
- Tests configuration on ESP32-S2 board
- Tests configuration on ESP32-C3 board
Test Configuration Files
test_maidesite_desk_esp32s2.yaml- ESP32-S2 Wemos S2 Minitest_maidesite_desk_esp32c3.yaml- ESP32-C3 mini (RISC-V)test_maidesite_desk_mini.yaml- Minimal ESP32 configuration for basic testingtest_maidesite_desk_full.yaml- Comprehensive ESP32 configuration with all features
Running Tests Locally
Prerequisites
pip install -r ../requirements.txt
Run All Tests
pytest tests/maidesite_desk/ -v
Run Only Unit Tests
pytest tests/maidesite_desk/test_maidesite_desk_unit.py -v
Run Only Integration Tests
pytest tests/maidesite_desk/test_maidesite_desk_integration.py -v
Run with Coverage
pytest tests/maidesite_desk/ --cov=components.maidesite_desk --cov-report=html
Test Coverage
The test suite covers:
- Component configuration validation
- All sensor entities (height_abs, height_pct, height_min, height_max, position_m1-m4)
- All number entities (height_abs, height_pct)
- All button entities (stop, step_up, step_down, goto_max, goto_min, goto_m1-m4, save_m1-m4)
- Multiple ESP32 board variants (ESP32, ESP32-S2, ESP32-C3)
- Minimal and full configuration scenarios
CI/CD Integration
These tests are designed to run in GitHub Actions CI/CD pipelines. See .github/workflows/test_maidesite_desk.yml for the workflow configuration.