Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions bats_ai/core/models/user_profile.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,9 @@ def _create_new_user_profile(sender, instance, created, **kwargs):

@receiver(post_save, sender=User)
def _notify_admins_new_user(sender, instance, created, **kwargs):
if not created:
# Only send the email on initial user creation
return
admins = User.objects.filter(is_superuser=True)
current_site = Site.objects.get_current()
recipient_list = [admin.email for admin in admins]
Expand Down
13 changes: 13 additions & 0 deletions bats_ai/core/tests/test_user_profile.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,3 +27,16 @@ def test_new_user_signup_email_sent(mailoutbox):
assert message is not None
assert superuser.email in message.to
assert reverse('admin:auth_user_change', args=[new_user.pk]) in message.body


@pytest.mark.django_db
def test_user_save_no_email_sent(mailoutbox):
SuperuserFactory()
new_user = User.objects.create(
username='foo',
email='foo@bar.com',
)
new_user.username = 'bar'
new_user.save()
filter(lambda message: 'New user signup' in message.subject, mailoutbox)
assert len(mailoutbox) == 1