"""Tests for channel traffic sources schema module.""" from analytics.schemas import channel_traffic_sources def test_channel_traffic_sources_schema(): """Test channel_traffic_sources converts to JSON object.""" mock_model_response = { "channel_id": "TEST", "top_channel_traffic_sources": [ { "average_view_duration_percentage": 74.043686874022, "premium_watch_time_minutes": 45287.61365, "views": 180121, "premium_views": 22232, "watch_time_minutes": 401156.0339, "average_view_duration_seconds": 131.797762466199, "source": "Playlists", }, { "average_view_duration_percentage": 58.637196701543, "premium_watch_time_minutes": 10606.8897, "views": 177171, "premium_views": 6197, "watch_time_minutes": 328247.12536, "average_view_duration_seconds": 104.374210106936, "source": "YouTube search", }, { "average_view_duration_percentage": 76.877016625891, "premium_watch_time_minutes": 8889.0533, "views": 82280, "premium_views": 4201, "watch_time_minutes": 189962.16921, "average_view_duration_seconds": 136.841089129887, "source": "Suggested videos", }, ], "sources": [ {"id": 453, "name": "YouTube"}, ], } expected_result = { "channel_id": "TEST", "top_channel_traffic_sources": [ { "averageViewDurationPercentage": 74.043686874022, "premiumWatchTimeMinutes": 45287.61365, "views": 180121, "premiumViews": 22232, "watchTimeMinutes": 401156.0339, "averageViewDurationSeconds": 131.797762466199, "source": "Playlists", }, { "averageViewDurationPercentage": 58.637196701543, "premiumWatchTimeMinutes": 10606.8897, "views": 177171, "premiumViews": 6197, "watchTimeMinutes": 328247.12536, "averageViewDurationSeconds": 104.374210106936, "source": "YouTube search", }, { "averageViewDurationPercentage": 76.877016625891, "premiumWatchTimeMinutes": 8889.0533, "views": 82280, "premiumViews": 4201, "watchTimeMinutes": 189962.16921, "averageViewDurationSeconds": 136.841089129887, "source": "Suggested videos", }, ], "sources": [ {"id": 453, "name": "YouTube"}, ], } result = channel_traffic_sources.ChannelTrafficSourcesSchema().dump( mock_model_response ) assert result == expected_result