Summary
Add end-to-end Playwright tests for the new deeplink login feature that allows the Explorer desktop client to authenticate users via a browser-based wallet sign-in flow using decentraland:// deep links.
Background
The deeplink login flow is implemented across two PRs:
Flow under test
- Explorer generates a client-side UUID (
authRequestId)
- Explorer opens browser to
/auth/login/{authRequestId}?loginMethod=metamask&flow=deeplink
- User connects wallet and signs in the browser
- Auth dapp creates an identity on the auth server
- Auth dapp redirects via
decentraland://?signin={identityId}&authRequestId={authRequestId}
- Explorer receives deep link, fetches identity from
GET /identities/{identityId}
Test coverage
- New user deeplink login: wallet sign-in → quick-setup → identity creation → deep link redirect
- Recurrent user deeplink login: wallet sign-in → skip quick-setup → identity creation → deep link redirect
- Deep link redirect verification:
authRequestId echoed correctly, signin identity ID present and fetchable
Files
web/tests/auth/helpers/deeplink.ts — helpers for deeplink URL construction, redirect capture, identity fetching
web/tests/auth/specs/deeplink-login.spec.ts — E2E specs
Requested by Nicolas Lorusso via Slack
Summary
Add end-to-end Playwright tests for the new deeplink login feature that allows the Explorer desktop client to authenticate users via a browser-based wallet sign-in flow using
decentraland://deep links.Background
The deeplink login flow is implemented across two PRs:
bridgeOnlymodeDappDeepLinkAuthenticatorcreates a sign-in request, opens browser, awaits OS deep link, resolves identityFlow under test
authRequestId)/auth/login/{authRequestId}?loginMethod=metamask&flow=deeplinkdecentraland://?signin={identityId}&authRequestId={authRequestId}GET /identities/{identityId}Test coverage
authRequestIdechoed correctly,signinidentity ID present and fetchableFiles
web/tests/auth/helpers/deeplink.ts— helpers for deeplink URL construction, redirect capture, identity fetchingweb/tests/auth/specs/deeplink-login.spec.ts— E2E specsRequested by Nicolas Lorusso via Slack