diff --git a/api/src/pcapi/core/users/api.py b/api/src/pcapi/core/users/api.py index c4e4d22d583..24a43d9d0c9 100644 --- a/api/src/pcapi/core/users/api.py +++ b/api/src/pcapi/core/users/api.py @@ -565,6 +565,7 @@ def unsuspend_account( suspension_reason = user.suspension_reason user.isActive = True db.session.add(user) + users_models.GdprUserAnonymization.query.filter(users_models.GdprUserAnonymization.userId == user.id).delete() history_api.add_action(history_models.ActionType.USER_UNSUSPENDED, author=actor, user=user, comment=comment) diff --git a/api/tests/routes/backoffice/users_test.py b/api/tests/routes/backoffice/users_test.py index def0fc5b3ce..296085de655 100644 --- a/api/tests/routes/backoffice/users_test.py +++ b/api/tests/routes/backoffice/users_test.py @@ -364,6 +364,19 @@ def test_unsuspend_beneficiary_user(self, authenticated_client, legit_user): assert user.action_history[0].venueId is None assert user.action_history[0].comment is None + def test_unsuspend_beneficiary_to_anonymize(self, authenticated_client, legit_user): + user = users_factories.BeneficiaryGrant18Factory(isActive=False) + users_factories.GdprUserAnonymizationFactory(user=user) + + response = self.post_to_endpoint( + authenticated_client, user_id=user.id, form={"comment": ""}, follow_redirects=True + ) + + assert response.status_code == 200 + assert user.isActive + assert len(user.action_history) == 1 + assert users_models.GdprUserAnonymization.query.count() == 0 + def test_unsuspend_pro_user(self, authenticated_client, legit_user): user = users_factories.ProFactory(isActive=False) offerers_factories.UserOffererFactory(user=user)