/**
 * View Data Layer Tests - Races Functionality
 *
 * This test file will cover the view data layer for races functionality.
 *
 * The view data layer is responsible for:
 * - DTO → UI model mapping
 * - Formatting, sorting, and grouping
 * - Derived fields and defaults
 * - UI-specific semantics
 *
 * This layer isolates the UI from API churn by providing a stable interface
 * between the API layer and the presentation layer.
 *
 * Test coverage will include:
 * - Race list data transformation and sorting
 * - Individual race page view models (race details, schedule, participants)
 * - Race results data formatting and ranking calculations
 * - Stewarding data transformation (protests, penalties, incidents)
 * - All races page data aggregation and filtering
 * - Derived race fields (status, eligibility, availability, etc.)
 * - Default values and fallbacks for race views
 * - Race-specific formatting (lap times, gaps, points, positions, etc.)
 * - Data grouping and categorization for race components (by series, date, type)
 * - Race search and filtering view models
 * - Real-time race updates and state management
 * - Historical race data transformation
 * - Race registration and withdrawal data handling
 */
