diff --git a/aleksis/core/frontend/mixins/aleksis.js b/aleksis/core/frontend/mixins/aleksis.js index 09f26a6c6c98dbdd86f7c83534ecae2583e10059..036e2eac71db6304bba88e2a01c3cfbe33edca51 100644 --- a/aleksis/core/frontend/mixins/aleksis.js +++ b/aleksis/core/frontend/mixins/aleksis.js @@ -25,15 +25,19 @@ const aleksisMixin = { beforeDestroy() { // Unregister all safely added event listeners as to not leak them for (let trackedEvent in this.$data.$_aleksis_safeTrackedEvents) { - console.debug( - "Removing handler for %s on %o", - trackedEvent.event, - trackedEvent.target - ); - trackedEvent.target.removeEventListener( - trackedEvent.event, - trackedEvent.handler - ); + if (trackedEvent.target) { + console.debug( + "Removing handler for %s on %o", + trackedEvent.event, + trackedEvent.target + ); + trackedEvent.target.removeEventListener( + trackedEvent.event, + trackedEvent.handler + ); + } else { + console.debug("Target already removed while removing event handler"); + } } }, }; diff --git a/aleksis/core/tests/views/test_account.py b/aleksis/core/tests/views/test_account.py index d56eeb0f6703d2a9f36d282942f8a8c0406126f6..fa55e8465bfa50b2a12479f6c72ee747cd1f2ef6 100644 --- a/aleksis/core/tests/views/test_account.py +++ b/aleksis/core/tests/views/test_account.py @@ -26,19 +26,6 @@ def test_index_not_logged_in(client): assert response["Location"].startswith(reverse(settings.LOGIN_URL)) -def test_login_without_person(client, django_user_model): - username = "foo" - password = "bar" - - django_user_model.objects.create_user(username=username, password=password) - client.login(username=username, password=password) - - response = client.get("/django/", follow=True) - - assert response.status_code == 200 - assert "Your user account is not linked to a person." in response.content.decode("utf-8") - - def test_logout(client, django_user_model): username = "foo" password = "bar" diff --git a/tox.ini b/tox.ini index 410287cc8d3d537471f46086955081f8ff2b0c58..a3ceaee7109ce6df70715bb4c9abc43a1b4c876d 100644 --- a/tox.ini +++ b/tox.ini @@ -1,7 +1,7 @@ [tox] skipsdist = True skip_missing_interpreters = true -envlist = py37,py38,py39 +envlist = py39,py310,py311 [testenv] whitelist_externals = poetry