"""Tests for streams_breakdown_schema module.""" from sound_recordings.schemas import streams_breakdown def test_top_sound_recordings_schema(): """Test that top_sound_recordings_schema converts to JSON object.""" mock_model_response_message = { "isrc": "TEST", "source_of_streams": { "active": {"value": 0, "growth_percentage": None, "total": 0}, "passive": {"value": 0, "growth_percentage": None, "total": 0}, "collection": {"value": 0, "growth_percentage": None, "total": 0}, "sources": [ {"id": 286, "name": "Spotify"}, {"id": 1, "name": "Apple Music"}, {"id": 716, "name": "Amazon Unlimited"}, ], }, "streams_by_subscription": { "subscription": {"value": 0, "growth_percentage": None, "total": 0}, "ad_supported": {"value": 0, "growth_percentage": None, "total": 0}, "mid_tier": {"value": 0, "growth_percentage": None, "total": 0}, "sources": [ {"id": 286, "name": "Spotify"}, {"id": 1, "name": "Apple Music"}, {"id": 716, "name": "Amazon Unlimited"}, ], }, } expected_result = { "isrc": "TEST", "source_of_streams": { "active": {"value": 0, "growth_percentage": None, "total": 0}, "passive": {"value": 0, "growth_percentage": None, "total": 0}, "collection": {"value": 0, "growth_percentage": None, "total": 0}, "sources": [ {"id": 286, "name": "Spotify"}, {"id": 1, "name": "Apple Music"}, {"id": 716, "name": "Amazon Unlimited"}, ], }, "streams_by_subscription": { "subscription": {"value": 0, "growth_percentage": None, "total": 0}, "ad_supported": {"value": 0, "growth_percentage": None, "total": 0}, "mid_tier": {"value": 0, "growth_percentage": None, "total": 0}, "sources": [ {"id": 286, "name": "Spotify"}, {"id": 1, "name": "Apple Music"}, {"id": 716, "name": "Amazon Unlimited"}, ], }, } result = streams_breakdown.StreamsBreakdownSchema().dump( mock_model_response_message ) assert result == expected_result