diff --git a/api/app/Service/Forms/FormSubmissionProcessor.php b/api/app/Service/Forms/FormSubmissionProcessor.php index 80ff7ea0..90dc9d93 100644 --- a/api/app/Service/Forms/FormSubmissionProcessor.php +++ b/api/app/Service/Forms/FormSubmissionProcessor.php @@ -57,8 +57,12 @@ class FormSubmissionProcessor */ public function getRedirectData(Form $form, array $submissionData): array { + $formattedData = collect($submissionData)->map(function ($value, $key) { + return ['id' => $key, 'value' => $value]; + })->values()->all(); + $redirectUrl = ($form->redirect_url) - ? (new MentionParser($form->redirect_url, array_values($submissionData)))->urlFriendlyOutput()->parseAsText() + ? (new MentionParser($form->redirect_url, $formattedData))->urlFriendlyOutput()->parseAsText() : null; if ($redirectUrl && !filter_var($redirectUrl, FILTER_VALIDATE_URL)) { diff --git a/api/tests/Feature/Forms/FormSubmissionProcessorTest.php b/api/tests/Feature/Forms/FormSubmissionProcessorTest.php index 4bb42157..c6796748 100644 --- a/api/tests/Feature/Forms/FormSubmissionProcessorTest.php +++ b/api/tests/Feature/Forms/FormSubmissionProcessorTest.php @@ -121,10 +121,7 @@ it('formats redirect data correctly for pro users', function () { $processor = new FormSubmissionProcessor(); $redirectData = $processor->getRedirectData($form, [ - 'field_1' => [ - 'id' => 'field_1', - 'value' => 'test-value' - ] + 'field_1' => 'test-value' ]); expect($redirectData)->toBe([ @@ -142,10 +139,7 @@ it('returns no redirect for non-pro users', function () { $processor = new FormSubmissionProcessor(); $redirectData = $processor->getRedirectData($form, [ - 'field_1' => [ - 'id' => 'field_1', - 'value' => 'test-value' - ] + 'field_1' => 'test-value' ]); expect($redirectData)->toBe([