Skip to content

Commit 3484e52

Browse files
authored
Add playwright coverage for the rest of backing up page paths (#877)
1 parent 396a3ae commit 3484e52

File tree

1 file changed

+87
-0
lines changed

1 file changed

+87
-0
lines changed

packages/playwright/tests/sign-up.anon.spec.ts

+87
Original file line numberDiff line numberDiff line change
@@ -118,3 +118,90 @@ test('skip otp for existing user trying to sign up using already used phone numb
118118
})
119119
}
120120
})
121+
122+
test('user can sign in with passkey from backing up page', async ({ page, pg, authenticator }) => {
123+
const phone = generatePhone()
124+
await page.goto('/')
125+
126+
const signUpLink = page.getByRole('link', { name: 'SIGN-UP' })
127+
await expect(signUpLink).toBeVisible()
128+
await signUpLink.click()
129+
await expect(page).toHaveURL('/auth/sign-up')
130+
131+
try {
132+
await signUp(page, phone, expect)
133+
134+
await page.context().clearCookies()
135+
await page.goto('/')
136+
const signUpLink = page.getByRole('link', { name: 'SIGN-UP' })
137+
await expect(signUpLink).toBeVisible()
138+
await signUpLink.click()
139+
140+
await expect(page).toHaveURL('/auth/sign-up')
141+
authenticator.cancelNextOperation()
142+
await page.getByLabel('Phone number').fill(phone)
143+
const signUpButton = page.getByRole('button', { name: 'Sign Up' })
144+
await expect(signUpButton).toBeVisible()
145+
await signUpButton.click()
146+
147+
const noBackUpButton = page.getByRole('button', { name: 'NO' })
148+
await expect(noBackUpButton).toBeVisible()
149+
await noBackUpButton.click()
150+
151+
const depositButton = page.getByRole('link', { name: 'Deposit' })
152+
await expect(depositButton).toBeVisible()
153+
} finally {
154+
await pg.query('DELETE FROM auth.users WHERE phone = $1', [phone]).catch((e) => {
155+
log('delete failed', e)
156+
})
157+
}
158+
})
159+
160+
test('user can sign in as back up using otp from backing up page', async ({
161+
page,
162+
pg,
163+
authenticator,
164+
}) => {
165+
const phone = generatePhone()
166+
await page.goto('/')
167+
168+
const signUpLink = page.getByRole('link', { name: 'SIGN-UP' })
169+
await expect(signUpLink).toBeVisible()
170+
await signUpLink.click()
171+
await expect(page).toHaveURL('/auth/sign-up')
172+
173+
try {
174+
await signUp(page, phone, expect)
175+
176+
await page.context().clearCookies()
177+
await page.goto('/')
178+
const signUpLink = page.getByRole('link', { name: 'SIGN-UP' })
179+
await expect(signUpLink).toBeVisible()
180+
await signUpLink.click()
181+
182+
await expect(page).toHaveURL('/auth/sign-up')
183+
authenticator.cancelNextOperation()
184+
await page.getByLabel('Phone number').fill(phone)
185+
const signUpButton = page.getByRole('button', { name: 'Sign Up' })
186+
await expect(signUpButton).toBeVisible()
187+
await signUpButton.click()
188+
189+
const yesBackUpButton = page.getByRole('button', { name: 'YES' })
190+
await expect(yesBackUpButton).toBeVisible()
191+
await yesBackUpButton.click()
192+
193+
const otpInput = page.getByLabel('One-time Password')
194+
await expect(otpInput).toBeVisible()
195+
await otpInput.fill('123456')
196+
const verifyAccountButton = page.getByRole('button', { name: 'VERIFY ACCOUNT' })
197+
await expect(verifyAccountButton).toBeVisible()
198+
await verifyAccountButton.click()
199+
200+
const depositButton = page.getByRole('link', { name: 'Deposit' })
201+
await expect(depositButton).toBeVisible()
202+
} finally {
203+
await pg.query('DELETE FROM auth.users WHERE phone = $1', [phone]).catch((e) => {
204+
log('delete failed', e)
205+
})
206+
}
207+
})

0 commit comments

Comments
 (0)