"""Tests for track spatial schemas.""" import pytest from backend.schemas.track_spatial import TrackSpatialPostSchema from backend.schemas.track_spatial import TrackSpatialUpdateSchema VALID_TRACK_SPATIAL_POST_REQUESTS = [ {}, {'isrc': 'USA123456789'} ] VALID_TRACK_SPATIAL_UPDATE_REQUESTS = [ {}, {'isrc': 'USA123456789'} ] INVALID_TRACK_SPATIAL_REQUESTS = [ {'isrc': ''}, {'isrc': 1234}, {'isrc': 'USA1234567890123456'} ] @pytest.mark.parametrize('data', VALID_TRACK_SPATIAL_POST_REQUESTS) def test_track_spatial_post_schema(data): """Test track spatial post schema.""" result = TrackSpatialPostSchema().load(data.copy()) assert not result.errors @pytest.mark.parametrize('data', INVALID_TRACK_SPATIAL_REQUESTS) def test_track_spatial_post_schema_bad_request(data): """Test track spatial post schema.""" result = TrackSpatialPostSchema().load(data) assert result.errors @pytest.mark.parametrize('data', VALID_TRACK_SPATIAL_UPDATE_REQUESTS) def test_track_spatial_put_schema(data): """Test track spatial update schema.""" result = TrackSpatialUpdateSchema().load(data.copy()) assert not result.errors @pytest.mark.parametrize('data', INVALID_TRACK_SPATIAL_REQUESTS) def test_track_spatial_put_schema_bad_request(data): """Test track spatial update schema.""" result = TrackSpatialUpdateSchema().load(data) assert result.errors