@@ -297,3 +297,35 @@ def test__query_spec_projection_columns__columns_returned(
297297 assert len (spec_columns ) == 2
298298 assert "spec_id" in spec_columns
299299 assert "name" in spec_columns
300+
301+ def test__without_condition_type_projection__query_specs__condition_type_field_is_unset (
302+ self , client : SpecClient , create_specs , create_specs_for_query , product
303+ ):
304+ request = QuerySpecificationsRequest (
305+ product_ids = [product ],
306+ projection = [
307+ SpecificationProjection .CONDITION_NAME ,
308+ SpecificationProjection .CONDITION_UNIT ,
309+ ],
310+ )
311+
312+ response = client .query_specs (request )
313+ specs = [vars (spec ) for spec in response .specs or []]
314+ condition_columns = ["name" , "unit" , "range" , "discrete" , "condition_type" ]
315+
316+ spec_columns = {
317+ f"condition_{ column } "
318+ for spec in specs
319+ if "conditions" in spec
320+ for condition in spec ["conditions" ]
321+ for column in condition_columns
322+ if getattr (condition .value if column != "name" else condition , column , None )
323+ is not None
324+ }
325+
326+ assert response .specs
327+ assert len (response .specs ) == 3
328+ assert len (spec_columns ) == 2
329+ assert "condition_name" in spec_columns
330+ assert "condition_unit" in spec_columns
331+ assert "condition_type" not in spec_columns
0 commit comments