Skip to content

Commit 3f4f35c

Browse files
test(e2e): use pressSequentially for email autocomplete field
fill() sets the value atomically without firing real keyboard events, so NcSelect's @search handler (driven by vue-select's input event) doesn't trigger reliably in CI where the component may still be mounting. pressSequentially() types character by character, firing actual keyboard events that vue-select observes consistently. Also removes the workaround that waited for the form to close before opening the second dialog, which was masking the same root cause. Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
1 parent b8f9095 commit 3f4f35c

2 files changed

Lines changed: 4 additions & 8 deletions

File tree

playwright/e2e/multi-signer-parallel.spec.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,17 +44,15 @@ test('request signatures from two signers in parallel', async ({ page }) => {
4444
// Add first signer — only email method is active, so the field appears directly (no tabs)
4545
await page.getByRole('button', { name: 'Add signer' }).click()
4646
await page.getByPlaceholder('Email').click()
47-
await page.getByPlaceholder('Email').fill('signer01@libresign.coop')
47+
await page.getByPlaceholder('Email').pressSequentially('signer01@libresign.coop')
4848
await page.getByRole('option', { name: 'signer01@libresign.coop' }).click()
4949
await page.getByRole('textbox', { name: 'Signer name' }).fill('Signer 01')
5050
await page.getByRole('button', { name: 'Save' }).click()
51-
// Wait for the form to close before opening a new one to avoid ambiguous Email locator
52-
await expect(page.getByPlaceholder('Email')).not.toBeVisible()
5351

5452
// Add second signer
5553
await page.getByRole('button', { name: 'Add signer' }).click()
5654
await page.getByPlaceholder('Email').click()
57-
await page.getByPlaceholder('Email').fill('signer02@libresign.coop')
55+
await page.getByPlaceholder('Email').pressSequentially('signer02@libresign.coop')
5856
await page.getByRole('option', { name: 'signer02@libresign.coop' }).click()
5957
await page.getByRole('textbox', { name: 'Signer name' }).fill('Signer 02')
6058
await page.getByRole('button', { name: 'Save' }).click()

playwright/e2e/multi-signer-sequential.spec.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,17 +44,15 @@ test('request signatures from two signers in sequential order', async ({ page })
4444
// Add first signer — only email method is active, so the field appears directly (no tabs)
4545
await page.getByRole('button', { name: 'Add signer' }).click()
4646
await page.getByPlaceholder('Email').click()
47-
await page.getByPlaceholder('Email').fill('signer01@libresign.coop')
47+
await page.getByPlaceholder('Email').pressSequentially('signer01@libresign.coop')
4848
await page.getByRole('option', { name: 'signer01@libresign.coop' }).click()
4949
await page.getByRole('textbox', { name: 'Signer name' }).fill('Signer 01')
5050
await page.getByRole('button', { name: 'Save' }).click()
51-
// Wait for the form to close before opening a new one to avoid ambiguous Email locator
52-
await expect(page.getByPlaceholder('Email')).not.toBeVisible()
5351

5452
// Add second signer
5553
await page.getByRole('button', { name: 'Add signer' }).click()
5654
await page.getByPlaceholder('Email').click()
57-
await page.getByPlaceholder('Email').fill('signer02@libresign.coop')
55+
await page.getByPlaceholder('Email').pressSequentially('signer02@libresign.coop')
5856
await page.getByRole('option', { name: 'signer02@libresign.coop' }).click()
5957
await page.getByRole('textbox', { name: 'Signer name' }).fill('Signer 02')
6058
await page.getByRole('button', { name: 'Save' }).click()

0 commit comments

Comments
 (0)