diff --git a/vbos/datasets/migrations/0014_alter_rasterdataset_type_alter_tabulardataset_type_and_more.py b/vbos/datasets/migrations/0014_alter_rasterdataset_type_alter_tabulardataset_type_and_more.py new file mode 100644 index 0000000..7632bbf --- /dev/null +++ b/vbos/datasets/migrations/0014_alter_rasterdataset_type_alter_tabulardataset_type_and_more.py @@ -0,0 +1,58 @@ +# Generated by Django 5.2.5 on 2025-10-17 11:45 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ( + "datasets", + "0013_alter_rasterdataset_name_alter_tabulardataset_name_and_more", + ), + ] + + operations = [ + migrations.AlterField( + model_name="rasterdataset", + name="type", + field=models.CharField( + choices=[ + ("baseline", "Baseline"), + ("estimated_damage", "Estimated Hazard Damage"), + ("aid_resources_needed", "Immediate Response Resources"), + ("estimate_financial_damage", "Estimated Financial Damage"), + ], + default="baseline", + max_length=55, + ), + ), + migrations.AlterField( + model_name="tabulardataset", + name="type", + field=models.CharField( + choices=[ + ("baseline", "Baseline"), + ("estimated_damage", "Estimated Hazard Damage"), + ("aid_resources_needed", "Immediate Response Resources"), + ("estimate_financial_damage", "Estimated Financial Damage"), + ], + default="baseline", + max_length=55, + ), + ), + migrations.AlterField( + model_name="vectordataset", + name="type", + field=models.CharField( + choices=[ + ("baseline", "Baseline"), + ("estimated_damage", "Estimated Hazard Damage"), + ("aid_resources_needed", "Immediate Response Resources"), + ("estimate_financial_damage", "Estimated Financial Damage"), + ], + default="baseline", + max_length=55, + ), + ), + ] diff --git a/vbos/datasets/serializers.py b/vbos/datasets/serializers.py index 1960544..674983b 100644 --- a/vbos/datasets/serializers.py +++ b/vbos/datasets/serializers.py @@ -62,8 +62,12 @@ class Meta: class VectorItemSerializer(GeoFeatureModelSerializer): - province = serializers.ReadOnlyField(source="province.name") - area_council = serializers.ReadOnlyField(source="area_council.name") + province = serializers.CharField( + source="province.name", read_only=True, allow_null=True + ) + area_council = serializers.CharField( + source="area_council.name", read_only=True, allow_null=True + ) class Meta: model = VectorItem diff --git a/vbos/datasets/test/test_raster_views.py b/vbos/datasets/test/test_raster_views.py index fdf4a57..4d0d9aa 100644 --- a/vbos/datasets/test/test_raster_views.py +++ b/vbos/datasets/test/test_raster_views.py @@ -67,3 +67,7 @@ def test_raster_datasets_detail(self): assert req.data.get("updated") assert req.data.get("source") == "WMO" assert req.data.get("cluster") == "Environment" + + def tearDown(self): + RasterDataset.objects.all().delete() + RasterFile.objects.all().delete() diff --git a/vbos/datasets/test/test_tabular_views.py b/vbos/datasets/test/test_tabular_views.py index 79aad3d..d2688c6 100644 --- a/vbos/datasets/test/test_tabular_views.py +++ b/vbos/datasets/test/test_tabular_views.py @@ -124,6 +124,10 @@ def setUp(self): province=Province.objects.get(name="TORBA"), area_council=AreaCouncil.objects.get(name="East Gaua"), ) + TabularItem.objects.create( + dataset=self.dataset_2, + value=0.87, + ) self.url = reverse("datasets:tabular-data", args=[self.dataset_1.id]) def test_tabular_datasets_data(self): @@ -145,8 +149,8 @@ def test_tabular_datasets_data(self): url = reverse("datasets:tabular-data", args=[self.dataset_2.id]) req = self.client.get(url) assert req.status_code == status.HTTP_200_OK - assert req.data.get("count") == 4 - assert len(req.data.get("results")) == 4 + assert req.data.get("count") == 5 + assert len(req.data.get("results")) == 5 assert req.data.get("results")[0]["province"] == "TORBA" assert req.data.get("results")[0]["area_council"] == "East Gaua" assert req.data.get("results")[0]["value"] == 0.93 diff --git a/vbos/datasets/test/test_vector_views.py b/vbos/datasets/test/test_vector_views.py index d1d7975..f8971fc 100644 --- a/vbos/datasets/test/test_vector_views.py +++ b/vbos/datasets/test/test_vector_views.py @@ -88,6 +88,10 @@ def setUp(self): area_council=AreaCouncil.objects.get(name="Futuna"), metadata={"key": "value"}, ) + VectorItem.objects.create( + dataset=self.dataset_2, + geometry=Polygon([(0, 0), (0, 3), (3, 3), (3, 0), (0, 0)]), + ) self.url = reverse("datasets:vector-data", args=[self.dataset_1.id]) def test_vector_datasets_data(self): @@ -112,8 +116,8 @@ def test_vector_datasets_data(self): url = reverse("datasets:vector-data", args=[self.dataset_2.id]) req = self.client.get(url) assert req.status_code == status.HTTP_200_OK - assert req.data.get("count") == 1 - assert len(req.data.get("features")) == 1 + assert req.data.get("count") == 2 + assert len(req.data.get("features")) == 2 assert req.data.get("features")[0]["geometry"] == { "type": "Polygon", "coordinates": [