From 106f6bbcea6415600142d1b64fb274f8a8217d01 Mon Sep 17 00:00:00 2001 From: Adarnof Date: Thu, 22 Mar 2018 10:37:49 -0400 Subject: [PATCH] Fix test user creation. --- allianceauth/eveonline/autogroups/models.py | 4 +++- allianceauth/eveonline/autogroups/signals.py | 4 +--- allianceauth/eveonline/autogroups/tests/__init__.py | 5 +++-- .../eveonline/autogroups/tests/test_models.py | 4 ++-- .../eveonline/autogroups/tests/test_signals.py | 12 ++++++------ 5 files changed, 15 insertions(+), 14 deletions(-) diff --git a/allianceauth/eveonline/autogroups/models.py b/allianceauth/eveonline/autogroups/models.py index 8dd78f58..2a293b70 100644 --- a/allianceauth/eveonline/autogroups/models.py +++ b/allianceauth/eveonline/autogroups/models.py @@ -11,7 +11,7 @@ logger = logging.getLogger(__name__) def get_users_for_state(state: State): return User.objects.select_related('profile').prefetch_related('profile__main_character')\ - .filter(profile__state__pk=state.pk) + .filter(profile__state_id=state.pk) class AutogroupsConfigManager(models.Manager): @@ -36,6 +36,8 @@ class AutogroupsConfigManager(models.Manager): :param state: State to update user for :return: """ + import traceback + print(traceback.print_stack()) if state is None: state = user.profile.state for config in self.filter(states=state): diff --git a/allianceauth/eveonline/autogroups/signals.py b/allianceauth/eveonline/autogroups/signals.py index 4fcfdeeb..85d18c5e 100644 --- a/allianceauth/eveonline/autogroups/signals.py +++ b/allianceauth/eveonline/autogroups/signals.py @@ -45,9 +45,7 @@ def check_groups_on_profile_update(sender, instance, created, *args, **kwargs): """ Trigger check when main character or state changes. """ - update_fields = kwargs.pop('update_fields', []) or [] - if 'main_character' in update_fields or 'state' in update_fields: - AutogroupsConfig.objects.update_groups_for_user(instance.user) + AutogroupsConfig.objects.update_groups_for_user(instance.user) @receiver(m2m_changed, sender=AutogroupsConfig.states.through) diff --git a/allianceauth/eveonline/autogroups/tests/__init__.py b/allianceauth/eveonline/autogroups/tests/__init__.py index d46d9d35..51704c12 100644 --- a/allianceauth/eveonline/autogroups/tests/__init__.py +++ b/allianceauth/eveonline/autogroups/tests/__init__.py @@ -1,8 +1,7 @@ from unittest import mock from django.db.models.signals import pre_save, post_save, pre_delete, m2m_changed from allianceauth.authentication.models import UserProfile -from allianceauth.authentication.signals import state_changed -from allianceauth.eveonline.models import EveCharacter +from allianceauth.authentication.signals import reassess_on_profile_save from .. import signals from ..models import AutogroupsConfig @@ -14,6 +13,7 @@ def patch(target, *args, **kwargs): def connect_signals(): + post_save.connect(receiver=reassess_on_profile_save, sender=UserProfile) pre_save.connect(receiver=signals.pre_save_config, sender=AutogroupsConfig) pre_delete.connect(receiver=signals.pre_delete_config, sender=AutogroupsConfig) post_save.connect(receiver=signals.check_groups_on_profile_update, sender=UserProfile) @@ -21,6 +21,7 @@ def connect_signals(): def disconnect_signals(): + post_save.disconnect(receiver=reassess_on_profile_save, sender=UserProfile) pre_save.disconnect(receiver=signals.pre_save_config, sender=AutogroupsConfig) pre_delete.disconnect(receiver=signals.pre_delete_config, sender=AutogroupsConfig) post_save.disconnect(receiver=signals.check_groups_on_profile_update, sender=UserProfile) diff --git a/allianceauth/eveonline/autogroups/tests/test_models.py b/allianceauth/eveonline/autogroups/tests/test_models.py index b59bd237..7fd9b63f 100644 --- a/allianceauth/eveonline/autogroups/tests/test_models.py +++ b/allianceauth/eveonline/autogroups/tests/test_models.py @@ -16,8 +16,6 @@ class AutogroupsConfigTestCase(TestCase): # Disconnect signals disconnect_signals() - self.member = AuthUtils.create_member('test user') - state = AuthUtils.get_member_state() self.alliance = EveAllianceInfo.objects.create( @@ -38,6 +36,8 @@ class AutogroupsConfigTestCase(TestCase): state.member_alliances.add(self.alliance) state.member_corporations.add(self.corp) + self.member = AuthUtils.create_member('test user') + def tearDown(self): # Reconnect signals connect_signals() diff --git a/allianceauth/eveonline/autogroups/tests/test_signals.py b/allianceauth/eveonline/autogroups/tests/test_signals.py index d89be966..e7f1f2a9 100644 --- a/allianceauth/eveonline/autogroups/tests/test_signals.py +++ b/allianceauth/eveonline/autogroups/tests/test_signals.py @@ -13,8 +13,6 @@ from . import patch, disconnect_signals, connect_signals class SignalsTestCase(TestCase): def setUp(self): disconnect_signals() - self.member = AuthUtils.create_member('test user') - state = AuthUtils.get_member_state() self.char = EveCharacter.objects.create( @@ -27,9 +25,6 @@ class SignalsTestCase(TestCase): alliance_name='alliance name', ) - self.member.profile.main_character = self.char - self.member.profile.save() - self.alliance = EveAllianceInfo.objects.create( alliance_id='3456', alliance_name='alliance name', @@ -47,6 +42,11 @@ class SignalsTestCase(TestCase): state.member_alliances.add(self.alliance) state.member_corporations.add(self.corp) + + self.member = AuthUtils.create_member('test user') + self.member.profile.main_character = self.char + self.member.profile.save() + connect_signals() @patch('.models.AutogroupsConfigManager.update_groups_for_user') @@ -71,10 +71,10 @@ class SignalsTestCase(TestCase): alliance_id='3456', alliance_name='alliance name', ) + # Trigger signal self.member.profile.main_character = char self.member.profile.save() - self.assertTrue(update_groups_for_user.called) self.assertEqual(update_groups_for_user.call_count, 1) args, kwargs = update_groups_for_user.call_args