fix: Prefill not working if firstAndLastName variant enabled in name field and name doesn't have any space (#11289)

This commit is contained in:
Hariom Balhara authored and GitHub committed 2023-09-12 13:00:14 +02:00
1 parent 56f3647ec2
commit 9fba8c548b
2 files changed
+40 -3

No files matched your search

@@ -135,6 +135,24 @@ test.describe("Manage Booking Questions", () => {
});
});
});
await test.step("Verify that we can prefill name field with no lastname", async () => {
const searchParams = new URLSearchParams();
searchParams.append("name", "FirstName");
await doOnFreshPreviewWithSearchParams(searchParams, page, context, async (page) => {
await selectFirstAvailableTimeSlotNextMonth(page);
await expectSystemFieldsToBeThereOnBookingPage({
page,
isFirstAndLastNameVariant: true,
values: {
name: {
firstName: "FirstName",
lastName: "",
},
},
});
});
});
});
});
@@ -506,6 +524,27 @@ async function doOnFreshPreview(
return previewTabPage;
}
async function doOnFreshPreviewWithSearchParams(
searchParams: URLSearchParams,
page: Page,
context: PlaywrightTestArgs["context"],
callback: (page: Page) => Promise<void>,
persistTab = false
) {
const previewUrl = (await page.locator('[data-testid="preview-button"]').getAttribute("href")) || "";
const previewUrlObj = new URL(previewUrl);
searchParams.forEach((value, key) => {
previewUrlObj.searchParams.append(key, value);
});
const previewTabPage = await context.newPage();
await previewTabPage.goto(previewUrlObj.toString());
await callback(previewTabPage);
if (!persistTab) {
await previewTabPage.close();
}
return previewTabPage;
}
async function toggleQuestionAndSave({ name, page }: { name: string; page: Page }) {
await page.locator(`[data-testid="field-${name}"]`).locator('[data-testid="toggle-field"]').click();
await saveEventType(page);
+1 -3
View File
@@ -123,9 +123,7 @@ export const bookingResponses = z
nonEmptyString(),
z.object({
firstName: nonEmptyString(),
lastName: nonEmptyString()
.refine((value: string) => value.trim().length > 0)
.optional(),
lastName: z.string().optional(),
}),
]),
guests: z.array(z.string()).optional(),