@@ -40,17 +40,49 @@ test('Verify passwordless login request on mobile', async ({page}) => {
4040 '**/mobify/slas/private/shopper/auth/v1/organizations/*/oauth2/passwordless/login'
4141 )
4242
43+ // Verify the passwordless login request
4344 expect ( interceptedRequest ) . toBeTruthy ( )
4445 expect ( interceptedRequest . method ( ) ) . toBe ( 'POST' )
4546
46- const postData = interceptedRequest . postData ( )
47+ let postData = interceptedRequest . postData ( )
4748 expect ( postData ) . toBeTruthy ( )
4849
49- const params = new URLSearchParams ( postData )
50+ let params = new URLSearchParams ( postData )
5051
5152 expect ( params . get ( 'user_id' ) ) . toBe ( config . PWA_E2E_USER_EMAIL )
5253 expect ( params . get ( 'mode' ) ) . toBe ( 'email' )
5354 expect ( params . get ( 'channel_id' ) ) . toBe ( config . EXTRA_FEATURES_E2E_RETAIL_APP_HOME_SITE )
55+
56+ await page . route (
57+ '**/mobify/slas/private/shopper/auth/v1/organizations/*/oauth2/passwordless/token' ,
58+ ( route ) => {
59+ interceptedRequest = route . request ( )
60+ route . continue ( )
61+ }
62+ )
63+
64+ // Wait for OTP input fields to appear and fill the 8-digit code
65+ const otpCode = '12345678' // Replace with actual OTP code
66+ const otpInputs = page . locator ( 'input[inputmode="numeric"][maxlength="1"]' )
67+ await otpInputs . first ( ) . waitFor ( )
68+
69+ // Fill each input field with one digit
70+ for ( let i = 0 ; i < 8 ; i ++ ) {
71+ await otpInputs . nth ( i ) . fill ( otpCode [ i ] )
72+ }
73+
74+ await page . waitForResponse (
75+ '**/mobify/slas/private/shopper/auth/v1/organizations/*/oauth2/passwordless/token'
76+ )
77+
78+ // Verify the passwordless login token request
79+ expect ( interceptedRequest ) . toBeTruthy ( )
80+ expect ( interceptedRequest . method ( ) ) . toBe ( 'POST' )
81+ postData = interceptedRequest . postData ( )
82+ expect ( postData ) . toBeTruthy ( )
83+ params = new URLSearchParams ( postData )
84+ expect ( params . get ( 'pwdless_login_token' ) ) . toBe ( otpCode )
85+ expect ( params . get ( 'hint' ) ) . toBe ( 'pwdless_login' )
5486} )
5587
5688test ( 'Verify password reset request on mobile (extra features enabled)' , async ( { page} ) => {
0 commit comments