"""Tests for top_video_metrics module.""" from analytics.schemas import top_video_metrics def test_top_video_metrics(): """Test that top_video_metrics converts to JSON object.""" mock_model_response_message = { "items": [ { "video_id": "ipbukl6oFoQ", "channel_id": "UCFg7-w47VVA3ozhvnR6P0YQ", "subscriber_count": 13100, "total_views": 198980, "total_estimated_gross_revenue": 347.05400, "average_view_duration_seconds": 192.936527396116, "views_1_month_back": 6880, "growth_2_to_1_months_back": -0.042450, "views_2_months_back": 7185, "growth_3_to_2_months_back": -0.206779, "views_3_months_back": 9058, "growth_4_to_3_months_back": -0.331069, }, { "video_id": "brGHyx163pg", "channel_id": "UCFg7-w47VVA3ozhvnR6P0YQ", "subscriber_count": 13100, "total_views": 274382, "total_estimated_gross_revenue": 162.771, "average_view_duration_seconds": 159.280687285975, "views_1_month_back": 3558, "growth_2_to_1_months_back": 0.085087, "views_2_months_back": 3279, "growth_3_to_2_months_back": 0.265535, "views_3_months_back": 2591, "growth_4_to_3_months_back": -0.162302, }, ] } expected_result = { "items": [ { "video_id": "ipbukl6oFoQ", "channel_id": "UCFg7-w47VVA3ozhvnR6P0YQ", "subscriber_count": 13100, "total_views": 198980, "total_estimated_gross_revenue": 347.05400, "average_view_duration_seconds": 192.936527396116, "views_1_month_back": 6880, "growth_2_to_1_months_back": -0.042450, "views_2_months_back": 7185, "growth_3_to_2_months_back": -0.206779, "views_3_months_back": 9058, "growth_4_to_3_months_back": -0.331069, }, { "video_id": "brGHyx163pg", "channel_id": "UCFg7-w47VVA3ozhvnR6P0YQ", "subscriber_count": 13100, "total_views": 274382, "total_estimated_gross_revenue": 162.771, "average_view_duration_seconds": 159.280687285975, "views_1_month_back": 3558, "growth_2_to_1_months_back": 0.085087, "views_2_months_back": 3279, "growth_3_to_2_months_back": 0.265535, "views_3_months_back": 2591, "growth_4_to_3_months_back": -0.162302, }, ] } result = top_video_metrics.TopVideoMetricsSchema().dump(mock_model_response_message) assert result == expected_result