snapshot: preserve role-aware notification preferences and operational alerts
This commit is contained in:
@@ -6,6 +6,7 @@ from django.contrib.auth import get_user_model
|
||||
from django.test import TestCase, override_settings
|
||||
from django.utils import timezone
|
||||
|
||||
from workflows.branding import get_company_email_domain
|
||||
from workflows.models import EmployeeProfile, NotificationTemplate, OffboardingRequest, OnboardingRequest, ScheduledWelcomeEmail
|
||||
from workflows.tasks import process_onboarding_request, send_scheduled_welcome_email
|
||||
|
||||
@@ -13,11 +14,12 @@ from workflows.tasks import process_onboarding_request, send_scheduled_welcome_e
|
||||
@override_settings(PDF_OUTPUT_DIR=Path('/tmp/onoff_test_pdfs'))
|
||||
class BilingualSmokeTests(TestCase):
|
||||
def setUp(self):
|
||||
self.company_domain = get_company_email_domain()
|
||||
user_model = get_user_model()
|
||||
self.user = user_model.objects.create_user(
|
||||
username='bilingual_user',
|
||||
password='secret123',
|
||||
email='requester@tub.co',
|
||||
email=f'requester@{self.company_domain}',
|
||||
first_name='Mia',
|
||||
last_name='Beispiel',
|
||||
)
|
||||
@@ -28,7 +30,7 @@ class BilingualSmokeTests(TestCase):
|
||||
last_name='Beispiel',
|
||||
department='IT-Service',
|
||||
job_title='Engineer',
|
||||
work_email='lara.beispiel@tub.co',
|
||||
work_email=f'lara.beispiel@{self.company_domain}',
|
||||
)
|
||||
|
||||
@patch('workflows.views.process_onboarding_request.delay')
|
||||
@@ -39,7 +41,7 @@ class BilingualSmokeTests(TestCase):
|
||||
'gender': 'herr',
|
||||
'job_title': 'Consultant',
|
||||
'department': 'IT-Service',
|
||||
'work_email': 'max.mustermann@tub.co',
|
||||
'work_email': f'max.mustermann@{self.company_domain}',
|
||||
'contract_start': '2026-11-01',
|
||||
'employment_type': 'unbefristet',
|
||||
'group_mailboxes_required_choice': 'nein',
|
||||
@@ -54,7 +56,7 @@ class BilingualSmokeTests(TestCase):
|
||||
response = self.client.post('/onboarding/new/', payload, HTTP_HOST='localhost', HTTP_ACCEPT_LANGUAGE='en')
|
||||
|
||||
self.assertEqual(response.status_code, 302)
|
||||
obj = OnboardingRequest.objects.get(work_email='max.mustermann@tub.co')
|
||||
obj = OnboardingRequest.objects.get(work_email=f'max.mustermann@{self.company_domain}')
|
||||
self.assertEqual(obj.preferred_language, 'en')
|
||||
mock_delay.assert_called_once_with(obj.id)
|
||||
|
||||
@@ -66,7 +68,7 @@ class BilingualSmokeTests(TestCase):
|
||||
'gender': 'frau',
|
||||
'job_title': 'Consultant',
|
||||
'department': 'IT-Service',
|
||||
'work_email': 'erika.muster@tub.co',
|
||||
'work_email': f'erika.muster@{self.company_domain}',
|
||||
'contract_start': '2026-11-02',
|
||||
'employment_type': 'unbefristet',
|
||||
'group_mailboxes_required_choice': 'nein',
|
||||
@@ -81,7 +83,7 @@ class BilingualSmokeTests(TestCase):
|
||||
response = self.client.post('/onboarding/new/', payload, HTTP_HOST='localhost', HTTP_ACCEPT_LANGUAGE='de')
|
||||
|
||||
self.assertEqual(response.status_code, 302)
|
||||
obj = OnboardingRequest.objects.get(work_email='erika.muster@tub.co')
|
||||
obj = OnboardingRequest.objects.get(work_email=f'erika.muster@{self.company_domain}')
|
||||
self.assertEqual(obj.preferred_language, 'de')
|
||||
mock_delay.assert_called_once_with(obj.id)
|
||||
|
||||
@@ -140,10 +142,10 @@ class BilingualSmokeTests(TestCase):
|
||||
gender='herr',
|
||||
job_title='Engineer',
|
||||
department='IT-Service',
|
||||
work_email='english.person@tub.co',
|
||||
work_email=f'english.person@{self.company_domain}',
|
||||
contract_start=date(2026, 11, 1),
|
||||
employment_type='unbefristet',
|
||||
onboarded_by_email='requester@tub.co',
|
||||
onboarded_by_email=f'requester@{self.company_domain}',
|
||||
onboarded_by_name='Mia Beispiel',
|
||||
agreement='accepted',
|
||||
preferred_language='en',
|
||||
@@ -172,16 +174,16 @@ class BilingualSmokeTests(TestCase):
|
||||
gender='frau',
|
||||
job_title='Manager',
|
||||
department='IT-Service',
|
||||
work_email='welcome.person@tub.co',
|
||||
work_email=f'welcome.person@{self.company_domain}',
|
||||
contract_start=date(2026, 11, 1),
|
||||
employment_type='unbefristet',
|
||||
onboarded_by_email='requester@tub.co',
|
||||
onboarded_by_email=f'requester@{self.company_domain}',
|
||||
agreement='accepted',
|
||||
preferred_language='en',
|
||||
)
|
||||
scheduled = ScheduledWelcomeEmail.objects.create(
|
||||
onboarding_request=onboarding,
|
||||
recipient_email='welcome.person@tub.co',
|
||||
recipient_email=f'welcome.person@{self.company_domain}',
|
||||
send_at=timezone.now(),
|
||||
status='scheduled',
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user