Skip to content

Commit 659e037

Browse files
authored
fix: search with working tests (#485)
1 parent e1bdf8b commit 659e037

File tree

2 files changed

+27
-0
lines changed

2 files changed

+27
-0
lines changed

e2e/settings/tax.spec.ts

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -406,6 +406,32 @@ test.describe("Tax settings", () => {
406406
await expect(page.getByLabel("Tax ID (EIN)")).toHaveValue("12-3456");
407407
});
408408

409+
test("allows searching for countries by name", async ({ page }) => {
410+
await login(page, user);
411+
await page.goto("/settings/tax");
412+
413+
// Test case-insensitive search
414+
await page.getByRole("combobox", { name: "Country of citizenship" }).click();
415+
await page.getByPlaceholder("Search...").fill("CANADA");
416+
await expect(page.getByRole("option", { name: "Canada" })).toBeVisible();
417+
await page.getByRole("option", { name: "Canada" }).click();
418+
await expect(page.getByRole("combobox", { name: "Country of citizenship" })).toHaveText("Canada");
419+
420+
// Test country code search
421+
await page.getByRole("combobox", { name: "Country of residence" }).click();
422+
await page.getByPlaceholder("Search...").fill("GB");
423+
await expect(page.getByRole("option", { name: "United Kingdom" })).toBeVisible();
424+
await page.getByRole("option", { name: "United Kingdom" }).click();
425+
await expect(page.getByRole("combobox", { name: "Country of residence" })).toHaveText("United Kingdom");
426+
427+
// Test partial country name search
428+
await page.getByRole("combobox", { name: "Country of residence" }).click();
429+
await page.getByPlaceholder("Search...").fill("Polan");
430+
await expect(page.getByRole("option", { name: "Poland" })).toBeVisible();
431+
await page.getByRole("option", { name: "Poland" }).click();
432+
await expect(page.getByRole("combobox", { name: "Country of residence" })).toHaveText("Poland");
433+
});
434+
409435
test("handles country change correctly for tax ID formatting", async ({ page }) => {
410436
await db.update(users).set({ countryCode: "US", citizenshipCountryCode: "US" }).where(eq(users.id, user.id));
411437

frontend/components/ComboBox.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ const ComboBox = ({
5050
<CommandItem
5151
key={option.value}
5252
value={option.value}
53+
keywords={[option.label]}
5354
onSelect={(currentValue) => {
5455
if (multiple) {
5556
onChange(

0 commit comments

Comments
 (0)