diff --git a/src/poetry/core/packages/dependency.py b/src/poetry/core/packages/dependency.py index 083a33392..229ddc313 100644 --- a/src/poetry/core/packages/dependency.py +++ b/src/poetry/core/packages/dependency.py @@ -56,9 +56,9 @@ def __init__( ) self._constraint = None + self._pretty_constraint = None self.set_constraint(constraint=constraint) - self._pretty_constraint = str(constraint) self._optional = optional if not groups: @@ -109,6 +109,7 @@ def set_constraint(self, constraint: Union[str, "VersionTypes"]) -> None: self._constraint = constraint except ValueError: self._constraint = parse_constraint("*") + self._pretty_constraint = str(constraint) @property def pretty_constraint(self) -> str: diff --git a/tests/packages/test_dependency.py b/tests/packages/test_dependency.py index 4c4d2154f..34429a68f 100644 --- a/tests/packages/test_dependency.py +++ b/tests/packages/test_dependency.py @@ -250,6 +250,13 @@ def test_dependency_string_representation( assert str(dependency) == expected +def test_set_constraint_sets_pretty_constraint(): + dependency = Dependency("A", "^1.0") + assert dependency.pretty_constraint == "^1.0" + dependency.set_constraint("^2.0") + assert dependency.pretty_constraint == "^2.0" + + def test_with_constraint(): dependency = Dependency( "foo",