diff --git a/credentials/apps/api/v2/tests/test_views.py b/credentials/apps/api/v2/tests/test_views.py index c150f620f..182470769 100644 --- a/credentials/apps/api/v2/tests/test_views.py +++ b/credentials/apps/api/v2/tests/test_views.py @@ -694,7 +694,7 @@ def test_existing_and_non_existing_users(self): def test_clears_full_name_for_replaced_user(self): """Verify username replacement clears PII fields (matching LMS retirement pattern with empty strings).""" - user = UserFactory(full_name="Jane Example", first_name="Jane", last_name="Example") + user = UserFactory(full_name="Jane Example", first_name="Jane", last_name="Example", email="jane@example.com") new_username = f"{user.username}_retired" response = self.call_api(self.service_user, {"username_mappings": [{user.username: new_username}]}) @@ -705,3 +705,4 @@ def test_clears_full_name_for_replaced_user(self): self.assertEqual(user.full_name, "") self.assertEqual(user.first_name, "") self.assertEqual(user.last_name, "") + self.assertEqual(user.email, "") diff --git a/credentials/apps/api/v2/views.py b/credentials/apps/api/v2/views.py index 8d23f31cd..70d0f3c50 100644 --- a/credentials/apps/api/v2/views.py +++ b/credentials/apps/api/v2/views.py @@ -269,13 +269,14 @@ def _replace_username_for_all_models(self, current_username, new_username, repla update_kwargs["full_name"] = "" update_kwargs["first_name"] = "" update_kwargs["last_name"] = "" + update_kwargs["email"] = "" num_rows_changed += model.objects.filter(**{column: current_username}).update(**update_kwargs) except Exception as exc: log.exception( "Unable to change username from %s to %s. Failed on table %s because %s", current_username, new_username, - model.__class__.__name__, + model._meta.label_lower, exc, ) return False