hass.tibber_prices/tests
Julian Pawlowski f128d00c99 test(period): document period calculation testing strategy
Added documentation file explaining why period calculation functions
are tested via integration tests rather than unit tests.

Rationale:
- Period building requires full coordinator context (TimeService, price_context)
- Complex enriched price data with multiple calculated fields
- Helper functions (split_intervals_by_day, calculate_reference_prices)
  are simple transformations that can't fail independently
- Integration tests provide better coverage than mocked unit tests

Testing strategy:
- test_midnight_periods.py: Period calculation across day boundaries
- test_midnight_turnover.py: Cache invalidation and recalculation
- docs/development/period-calculation-theory.md: Algorithm documentation

Impact: Clarifies testing approach for future contributors. Prevents
wasted effort on low-value unit tests for complex integrated functions.
2025-11-22 04:47:09 +00:00
..
__init__.py test: add pytest framework and midnight-crossing tests 2025-11-21 23:47:01 +00:00
test_avg_none_fallback.py fix(calculations): handle negative electricity prices correctly 2025-11-22 04:45:23 +00:00
test_cache_age.py fix(coordinator): use coordinator update timestamp for cache validity 2025-11-22 04:44:22 +00:00
test_cache_validity.py fix(coordinator): use coordinator update timestamp for cache validity 2025-11-22 04:44:22 +00:00
test_cache_validity_after_midnight.py fix(coordinator): use coordinator update timestamp for cache validity 2025-11-22 04:44:22 +00:00
test_chart_data_push_updates.py feat(sensors): add lifecycle callback for chart_data_export sensor 2025-11-22 04:44:38 +00:00
test_config_validators.py refactor(config): use negative values for Best Price min_distance 2025-11-22 04:44:57 +00:00
test_coordinator_shutdown.py test(cleanup): add comprehensive resource cleanup tests 2025-11-22 04:46:11 +00:00
test_lifecycle_state.py fix(sensors): ensure connection/tomorrow_data/lifecycle consistency 2025-11-22 04:45:57 +00:00
test_midnight_handler.py feat(coordinator): add atomic midnight turnover coordination 2025-11-22 04:45:41 +00:00
test_midnight_periods.py test: add pytest framework and midnight-crossing tests 2025-11-21 23:47:01 +00:00
test_midnight_turnover.py refactor(config): use negative values for Best Price min_distance 2025-11-22 04:44:57 +00:00
test_minmax_none_fallback.py fix(calculations): handle negative electricity prices correctly 2025-11-22 04:45:23 +00:00
test_next_api_poll.py test(timers): comprehensive timer architecture validation 2025-11-22 04:46:30 +00:00
test_percentage_calculations.py fix(calculations): handle negative electricity prices correctly 2025-11-22 04:45:23 +00:00
test_period_calculation.py test(period): document period calculation testing strategy 2025-11-22 04:47:09 +00:00
test_price_calculations.py fix(calculations): handle negative electricity prices correctly 2025-11-22 04:45:23 +00:00
test_rating_threshold_validation.py fix(calculations): handle negative electricity prices correctly 2025-11-22 04:45:23 +00:00
test_resource_cleanup.py test(cleanup): add comprehensive resource cleanup tests 2025-11-22 04:46:11 +00:00
test_sensor_consistency.py fix(sensors): ensure connection/tomorrow_data/lifecycle consistency 2025-11-22 04:45:57 +00:00
test_sensor_timer_assignment.py test(timers): comprehensive timer architecture validation 2025-11-22 04:46:30 +00:00
test_time_service.py test(time): add boundary tolerance and DST handling tests 2025-11-22 04:46:53 +00:00
test_timer_scheduling.py test(timers): comprehensive timer architecture validation 2025-11-22 04:46:30 +00:00