@@ -76,6 +76,37 @@ describe('SignInStart', () => {
7676 screen . getByText ( / e m a i l a d d r e s s / i) ;
7777 } ) ;
7878
79+ it ( 'sets autocomplete=email on an email-only identifier field' , async ( ) => {
80+ const { wrapper } = await createFixtures ( f => {
81+ f . withEmailAddress ( ) ;
82+ } ) ;
83+
84+ render ( < SignInStart /> , { wrapper } ) ;
85+ expect ( screen . getByRole ( 'textbox' , { name : / e m a i l a d d r e s s / i } ) ) . toHaveAttribute ( 'autocomplete' , 'email' ) ;
86+ } ) ;
87+
88+ it ( 'sets autocomplete=username when email and username are both enabled' , async ( ) => {
89+ const { wrapper } = await createFixtures ( f => {
90+ f . withEmailAddress ( ) ;
91+ f . withUsername ( ) ;
92+ } ) ;
93+
94+ render ( < SignInStart /> , { wrapper } ) ;
95+ expect ( screen . getByRole ( 'textbox' , { name : / e m a i l a d d r e s s o r u s e r n a m e / i } ) ) . toHaveAttribute (
96+ 'autocomplete' ,
97+ 'username' ,
98+ ) ;
99+ } ) ;
100+
101+ it ( 'sets autocomplete=tel on a phone identifier field' , async ( ) => {
102+ const { wrapper } = await createFixtures ( f => {
103+ f . withPhoneNumber ( ) ;
104+ } ) ;
105+
106+ render ( < SignInStart /> , { wrapper } ) ;
107+ expect ( screen . getByRole ( 'textbox' , { name : / p h o n e n u m b e r / i } ) ) . toHaveAttribute ( 'autocomplete' , 'tel' ) ;
108+ } ) ;
109+
79110 it ( 'enables login with username' , async ( ) => {
80111 const { wrapper } = await createFixtures ( f => {
81112 f . withUsername ( ) ;
@@ -131,6 +162,25 @@ describe('SignInStart', () => {
131162 screen . getByText ( 'Use passkey instead' ) ;
132163 } ) ;
133164
165+ it ( 'puts webauthn after the field name when passkey autofill is on' , async ( ) => {
166+ const { wrapper } = await createFixtures ( f => {
167+ f . withEmailAddress ( ) ;
168+ f . withPasskey ( ) ;
169+ f . withPasskeySettings ( {
170+ allow_autofill : true ,
171+ show_sign_in_button : false ,
172+ } ) ;
173+ } ) ;
174+
175+ render ( < SignInStart /> , { wrapper } ) ;
176+ await waitFor ( ( ) => {
177+ expect ( screen . getByRole ( 'textbox' , { name : / e m a i l a d d r e s s / i } ) ) . toHaveAttribute (
178+ 'autocomplete' ,
179+ 'email webauthn' ,
180+ ) ;
181+ } ) ;
182+ } ) ;
183+
134184 it ( 'enables login with passkey via autofill' , async ( ) => {
135185 const { wrapper, fixtures } = await createFixtures ( f => {
136186 f . withEmailAddress ( ) ;
0 commit comments