Skip to content

Commit 9d0d923

Browse files
fix: Make condition type optional while querying specs (#123)
1 parent 810d8dc commit 9d0d923

File tree

2 files changed

+33
-1
lines changed

2 files changed

+33
-1
lines changed

nisystemlink/clients/spec/models/_condition.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ class ConditionRange(JsonModel):
3030
class ConditionValueBase(JsonModel):
3131
"""The base type for conditions that can be represented in several styles."""
3232

33-
condition_type: ConditionType
33+
condition_type: Optional[ConditionType]
3434
"""Type of the Condition."""
3535

3636

tests/integration/spec/test_spec.py

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)