Skip to content

Commit 09d709b

Browse files
committed
add test
1 parent 6a4a31e commit 09d709b

File tree

1 file changed

+22
-1
lines changed

1 file changed

+22
-1
lines changed

tests/validation/test_cat_vrs_models.py

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
"""Test Cat VRS Pydantic models"""
22

3+
import re
34
from copy import deepcopy
45

56
import pytest
@@ -366,7 +367,11 @@ def test_canonical_allele(defining_loc_constr, members_and_name):
366367
recipes.CanonicalAllele(**valid_params)
367368

368369

369-
def test_categorical_cnv(members_and_name, defining_loc_constr, copy_change_constr):
370+
def test_categorical_cnv(
371+
members_and_name: dict,
372+
defining_loc_constr: models.DefiningLocationConstraint,
373+
copy_change_constr: models.CopyChangeConstraint,
374+
):
370375
"""Test the CategoricalCnv validator"""
371376
# Valid CategoricalCnv with CopyChangeConstraint
372377
valid_params = deepcopy(members_and_name)
@@ -384,6 +389,22 @@ def test_categorical_cnv(members_and_name, defining_loc_constr, copy_change_cons
384389
]
385390
assert recipes.CategoricalCnv(**valid_params)
386391

392+
# Invalid CategoricalCnv: relations unset on DLC
393+
invalid_params = deepcopy(members_and_name)
394+
invalid_dlc = deepcopy(defining_loc_constr)
395+
invalid_dlc.relations = None
396+
invalid_params["constraints"] = [
397+
models.Constraint(root=invalid_dlc),
398+
models.Constraint(root=models.CopyCountConstraint(copies=[1, 2])),
399+
]
400+
with pytest.raises(
401+
ValueError,
402+
match=re.escape(
403+
"1 validation error for CategoricalCnv\nconstraints\n Value error, `DefiningLocationConstraint` found, but must contain at least one relation where `primaryCoding.code` is 'liftover_to' and `primaryCoding.system` is 'ga4gh-gks-term:allele-relation'. [type=value_error, input_value=[Constraint(root=Defining...es=Range(root=[1, 2])))], input_type=list]\n For further information visit https://errors.pydantic.dev/2.11/v/value_error"
404+
),
405+
):
406+
recipes.CategoricalCnv(**invalid_params)
407+
387408
# Invalid CategoricalCnv: No DefiningLocationConstraint
388409
invalid_params = deepcopy(members_and_name)
389410
invalid_params["constraints"] = [

0 commit comments

Comments
 (0)