diff --git a/apps/project/tests/e2e_create_street_project_test.py b/apps/project/tests/e2e_create_street_project_test.py index 65d93957..062df685 100644 --- a/apps/project/tests/e2e_create_street_project_test.py +++ b/apps/project/tests/e2e_create_street_project_test.py @@ -300,12 +300,18 @@ class Mutation: @pytest.mark.vcr("assets/tests/projects/street/cassette") def test_street_project_e2e(self): - # TODO(susilnem): Add more test with filters with create_override(): self._test_project( "assets/tests/projects/street/project_data.json5", ) + @pytest.mark.vcr("assets/tests/projects/street/cassette") + def test_street_project_with_filter_e2e(self): + with create_override(): + self._test_project( + "assets/tests/projects/street/project_data_with_filter.json5", + ) + # Generic functions def _test_project(self, filename: str): diff --git a/assets b/assets index e0507bd4..0e2a04e5 160000 --- a/assets +++ b/assets @@ -1 +1 @@ -Subproject commit e0507bd48b875ece261750bbb32f126d2b43d9d2 +Subproject commit 0e2a04e5aaa5ba47303c79d9f51f78a6aa172e72 diff --git a/firebase b/firebase index f1bb50a0..8b0d6833 160000 --- a/firebase +++ b/firebase @@ -1 +1 @@ -Subproject commit f1bb50a0cfc35abcc79f831461cf32a653cfc025 +Subproject commit 8b0d6833579d182dab7d7ea1689e6b5c83d124b7 diff --git a/project_types/street/api_calls.py b/project_types/street/api_calls.py index 2b1128fd..4ab6f3ee 100644 --- a/project_types/street/api_calls.py +++ b/project_types/street/api_calls.py @@ -297,7 +297,7 @@ def get_image_metadata( start_time: str | None = None, end_time: str | None = None, randomize_order: bool = False, - sampling_threshold: int | None = None, + sampling_threshold: float | None = None, ) -> Grouping[StreetFeature]: kwargs = { "is_pano": is_pano, diff --git a/project_types/street/project.py b/project_types/street/project.py index cbc82bcd..218c376e 100644 --- a/project_types/street/project.py +++ b/project_types/street/project.py @@ -37,7 +37,7 @@ class StreetMapillaryImageFilters(BaseModel): start_time: custom_fields.PydanticDate | None = None end_time: custom_fields.PydanticDate | None = None randomize_order: custom_fields.PydanticBool = False - sampling_threshold: custom_fields.PydanticPositiveInt | None = None + sampling_threshold: custom_fields.PydanticFloat | None = None class StreetProjectProperty(base_project.BaseProjectProperty): diff --git a/schema.graphql b/schema.graphql index fc80f6f7..5c541ae8 100644 --- a/schema.graphql +++ b/schema.graphql @@ -2150,7 +2150,7 @@ type StreetMapillaryImageFilters { isPano: Boolean organizationId: String randomizeOrder: Boolean! - samplingThreshold: Int + samplingThreshold: Float startTime: String } @@ -2160,7 +2160,7 @@ input StreetMapillaryImageFiltersInput { isPano: Boolean = null organizationId: String = null randomizeOrder: Boolean! = false - samplingThreshold: Int = null + samplingThreshold: Float = null startTime: String = null } diff --git a/utils/fields.py b/utils/fields.py index a25a5384..b5fdd791 100644 --- a/utils/fields.py +++ b/utils/fields.py @@ -134,6 +134,8 @@ def _validate_vector_tile_url(value: typing.Any): PydanticBool = typing.Annotated[bool, Field(strict=True)] +PydanticFloat = typing.Annotated[float, Field(strict=True)] + PydanticDate = typing.Annotated[ str, Field(