diff --git a/elementary/utils/models.py b/elementary/utils/models.py index 75163d79c..34721c6fb 100644 --- a/elementary/utils/models.py +++ b/elementary/utils/models.py @@ -2,4 +2,5 @@ def get_shortened_model_name(model): if model is None: # this can happen for example when a Singular test is failing for having no refs. return None - return model.split(".")[-1] + # versioned models have 4 parts where the last part is version. + return model.split(".", 2)[-1] diff --git a/tests/unit/utils/test_models.py b/tests/unit/utils/test_models.py new file mode 100644 index 000000000..6cac3177a --- /dev/null +++ b/tests/unit/utils/test_models.py @@ -0,0 +1,21 @@ +from elementary.utils.models import get_shortened_model_name + + +def test_shorten_none(): + shortened = get_shortened_model_name(None) + assert shortened is None + + +def test_shorten_1_part(): + shortened = get_shortened_model_name("foo") + assert shortened == "foo" + + +def test_shorten_3_parts(): + shortened = get_shortened_model_name("models.foo.bar") + assert shortened == "bar" + + +def test_shorten_4_parts(): + shortened = get_shortened_model_name("models.foo.bar.v2") + assert shortened == "bar.v2"