snapshot: preserve custom field parity across forms timeline and pdf
This commit is contained in:
@@ -4,7 +4,7 @@ from django.contrib.auth import get_user_model
|
||||
from django.test import TestCase
|
||||
|
||||
from workflows.branding import get_company_email_domain
|
||||
from workflows.models import EmployeeProfile, OffboardingRequest
|
||||
from workflows.models import EmployeeProfile, FormCustomFieldConfig, OffboardingRequest
|
||||
|
||||
|
||||
class OffboardingFlowTests(TestCase):
|
||||
@@ -59,3 +59,37 @@ class OffboardingFlowTests(TestCase):
|
||||
self.assertEqual(obj.requested_by_email, f'operator@{self.company_domain}')
|
||||
self.assertEqual(obj.requested_by_name, 'Nina Admin')
|
||||
mock_delay.assert_called_once_with(obj.id)
|
||||
|
||||
@patch('workflows.views.process_offboarding_request.delay')
|
||||
def test_offboarding_custom_field_is_saved(self, mock_delay):
|
||||
FormCustomFieldConfig.objects.create(
|
||||
form_type='offboarding',
|
||||
field_key='return_comment',
|
||||
section_key='abschluss',
|
||||
sort_order=0,
|
||||
field_type='textarea',
|
||||
is_active=True,
|
||||
is_required=False,
|
||||
label='Rückgabehinweis',
|
||||
)
|
||||
|
||||
payload = {
|
||||
'full_name': self.profile.full_name,
|
||||
'work_email': self.profile.work_email,
|
||||
'department': self.profile.department,
|
||||
'job_title': self.profile.job_title,
|
||||
'last_working_day': '2026-12-31',
|
||||
'notes': 'Bitte Accounts sperren.',
|
||||
'custom__return_comment': 'Abholung durch IT am Freitag.',
|
||||
}
|
||||
|
||||
response = self.client.post(
|
||||
f'/offboarding/new/?profile={self.profile.id}',
|
||||
payload,
|
||||
HTTP_HOST='localhost',
|
||||
)
|
||||
|
||||
self.assertEqual(response.status_code, 302)
|
||||
obj = OffboardingRequest.objects.get(work_email=self.profile.work_email)
|
||||
self.assertEqual(obj.custom_field_values, {'return_comment': 'Abholung durch IT am Freitag.'})
|
||||
mock_delay.assert_called_once_with(obj.id)
|
||||
|
||||
Reference in New Issue
Block a user