diff --git a/apps/web/public/static/locales/en/common.json b/apps/web/public/static/locales/en/common.json
index 4dab52cae9..021c6813ca 100644
--- a/apps/web/public/static/locales/en/common.json
+++ b/apps/web/public/static/locales/en/common.json
@@ -1367,5 +1367,6 @@
"test_routing_form": "Test Routing Form",
"test_preview": "Test Preview",
"route_to": "Route to",
- "test_preview_description": "Test your routing form without submitting any data"
+ "test_preview_description": "Test your routing form without submitting any data",
+ "test_routing": "Test Routing"
}
diff --git a/packages/app-store/ee/routing-forms/components/FormInputFields.tsx b/packages/app-store/ee/routing-forms/components/FormInputFields.tsx
index 6b3a02e2f0..2089e6f60a 100644
--- a/packages/app-store/ee/routing-forms/components/FormInputFields.tsx
+++ b/packages/app-store/ee/routing-forms/components/FormInputFields.tsx
@@ -50,7 +50,7 @@ export default function FormInputFields(props: Props) {
/* @ts-ignore */
required={!!field.required}
listValues={options}
- data-testid="field"
+ data-testid="form-field"
setValue={(value) => {
setResponse((response) => {
response = response || {};
diff --git a/packages/app-store/ee/routing-forms/components/SingleForm.tsx b/packages/app-store/ee/routing-forms/components/SingleForm.tsx
index f2184a1af3..c0df90ee79 100644
--- a/packages/app-store/ee/routing-forms/components/SingleForm.tsx
+++ b/packages/app-store/ee/routing-forms/components/SingleForm.tsx
@@ -283,7 +283,10 @@ function SingleForm({ form, appUrl, Page }: SingleFormComponentProps) {
/>
-
@@ -326,16 +329,19 @@ function SingleForm({ form, appUrl, Page }: SingleFormComponentProps) {
diff --git a/packages/app-store/ee/routing-forms/playwright/tests/basic.e2e.ts b/packages/app-store/ee/routing-forms/playwright/tests/basic.e2e.ts
index e3eb27a5aa..70dbdac4cc 100644
--- a/packages/app-store/ee/routing-forms/playwright/tests/basic.e2e.ts
+++ b/packages/app-store/ee/routing-forms/playwright/tests/basic.e2e.ts
@@ -283,11 +283,50 @@ test.describe("Routing Forms", () => {
expect(firstInputMissingValue).toBe(true);
expect(await page.locator('button[type="submit"][disabled]').count()).toBe(0);
});
+
+ test("Test preview should return correct route", async ({ page, users }) => {
+ const user = await createUserAndLoginAndInstallApp({ users, page });
+ const routingForm = user.routingForms[0];
+ page.goto(`apps/routing-forms/form-edit/${routingForm.id}`);
+ await page.click('[data-testid="test-preview"]');
+
+ // //event redirect
+ await page.fill('[data-testid="form-field"]', "event-routing");
+ await page.click('[data-testid="test-routing"]');
+ let routingType = await page.locator('[data-testid="test-routing-result-type"]').innerText();
+ let route = await page.locator('[data-testid="test-routing-result"]').innerText();
+ await expect(routingType).toBe("Event Redirect");
+ await expect(route).toBe("pro/30min");
+
+ //custom page
+ await page.fill('[data-testid="form-field"]', "custom-page");
+ await page.click('[data-testid="test-routing"]');
+ routingType = await page.locator('[data-testid="test-routing-result-type"]').innerText();
+ route = await page.locator('[data-testid="test-routing-result"]').innerText();
+ await expect(routingType).toBe("Custom Page");
+ await expect(route).toBe("Custom Page Result");
+
+ //external redirect
+ await page.fill('[data-testid="form-field"]', "external-redirect");
+ await page.click('[data-testid="test-routing"]');
+ routingType = await page.locator('[data-testid="test-routing-result-type"]').innerText();
+ route = await page.locator('[data-testid="test-routing-result"]').innerText();
+ await expect(routingType).toBe("External Redirect");
+ await expect(route).toBe("https://google.com");
+
+ //fallback route
+ await page.fill('[data-testid="form-field"]', "fallback");
+ await page.click('[data-testid="test-routing"]');
+ routingType = await page.locator('[data-testid="test-routing-result-type"]').innerText();
+ route = await page.locator('[data-testid="test-routing-result"]').innerText();
+ await expect(routingType).toBe("Custom Page");
+ await expect(route).toBe("Fallback Message");
+ });
});
});
async function fillSeededForm(page: Page, routingFormId: string) {
await gotoRoutingLink(page, routingFormId);
- await page.fill('[data-testid="field"]', "event-routing");
+ await page.fill('[data-testid="form-field"]', "event-routing");
page.click('button[type="submit"]');
await page.waitForNavigation({
url(url) {
@@ -296,7 +335,7 @@ async function fillSeededForm(page: Page, routingFormId: string) {
});
await gotoRoutingLink(page, routingFormId);
- await page.fill('[data-testid="field"]', "external-redirect");
+ await page.fill('[data-testid="form-field"]', "external-redirect");
page.click('button[type="submit"]');
await page.waitForNavigation({
url(url) {
@@ -305,7 +344,7 @@ async function fillSeededForm(page: Page, routingFormId: string) {
});
await gotoRoutingLink(page, routingFormId);
- await page.fill('[data-testid="field"]', "custom-page");
+ await page.fill('[data-testid="form-field"]', "custom-page");
await page.click('button[type="submit"]');
await page.isVisible("text=Custom Page Result");
}