"""Test product track metrics.""" from analytics.schemas import product_track_metrics def test_product_metrics_by_track_schema(): """Test metrics by track schema.""" test_input = { "product_id": "123", "tracks": [ { "track_id": "track1", "tuid": "tuid1", "streams_1_day": 12, "growth_percentage_1_day": 0.2, "streams_7_days": 12, "growth_percentage_7_days": 0.2, "streams_28_days": 3434, "growth_percentage_28_days": 0.2, "streams_all_time": 232323, }, { "track_id": "track2", "tuid": "tuid2", "streams_1_day": 12, "growth_percentage_1_day": 0.2, "streams_7_days": 12, "growth_percentage_7_days": 0.2, "streams_28_days": 3434, "growth_percentage_28_days": 0.2, "streams_all_time": 232324, }, ], } expected_response = { "product_id": "123", "tracks": [ { "track_id": "track1", "tuid": "tuid1", "streams_1_day": 12, "growth_percentage_1_day": 0.2, "streams_7_days": 12, "growth_percentage_7_days": 0.2, "streams_28_days": 3434, "growth_percentage_28_days": 0.2, "streams_all_time": 232323, }, { "track_id": "track2", "tuid": "tuid2", "streams_1_day": 12, "growth_percentage_1_day": 0.2, "streams_7_days": 12, "growth_percentage_7_days": 0.2, "streams_28_days": 3434, "growth_percentage_28_days": 0.2, "streams_all_time": 232324, }, ], } dump = product_track_metrics.ProductTrackMetricsSchema().dump(test_input) assert sorted(dump) == sorted(expected_response)