11import { promptSessionSelect } from './session-prompt.js'
2- import { renderSelectPrompt , renderTextPrompt } from './ui.js'
2+ import { renderSelectPrompt } from './ui.js'
33import { ensureAuthenticatedUser } from './session.js'
44import { identityFqdn } from './context/fqdn.js'
55import { setCurrentSessionId } from '../../private/node/conf-store.js'
@@ -45,8 +45,7 @@ describe('promptSessionSelect', () => {
4545 beforeEach ( ( ) => {
4646 vi . mocked ( identityFqdn ) . mockResolvedValue ( 'identity.fqdn.com' )
4747 vi . mocked ( ensureAuthenticatedUser ) . mockResolvedValue ( { userId : 'new-user-id' } )
48- vi . mocked ( sessionStore . updateSessionAlias ) . mockResolvedValue ( )
49- vi . mocked ( renderTextPrompt ) . mockResolvedValue ( 'new-alias' )
48+ vi . mocked ( sessionStore . getSessionAlias ) . mockResolvedValue ( 'new-alias' )
5049 vi . mocked ( sessionStore . findSessionByAlias ) . mockResolvedValue ( undefined )
5150 } )
5251
@@ -59,34 +58,24 @@ describe('promptSessionSelect', () => {
5958
6059 // Then
6160 expect ( renderSelectPrompt ) . not . toHaveBeenCalled ( )
62- expect ( ensureAuthenticatedUser ) . toHaveBeenCalledWith ( { } , { forceNewSession : true } )
63- expect ( renderTextPrompt ) . toHaveBeenCalledWith ( {
64- message : 'Enter an alias for this account' ,
65- defaultValue : '' ,
66- allowEmpty : false ,
67- } )
68- expect ( sessionStore . updateSessionAlias ) . toHaveBeenCalledWith ( 'new-user-id' , 'new-alias' )
69- expect ( result ) . toEqual ( { userId : 'new-user-id' } )
61+ expect ( ensureAuthenticatedUser ) . toHaveBeenCalledWith ( { } , { forceNewSession : true , alias : undefined } )
62+ expect ( sessionStore . getSessionAlias ) . toHaveBeenCalledWith ( 'new-user-id' )
63+ expect ( result ) . toEqual ( 'new-alias' )
7064 } )
7165
7266 test ( 'prompts user to create new session with alias when no existing sessions' , async ( ) => {
7367 // Given
7468 vi . mocked ( sessionStore . fetch ) . mockResolvedValue ( undefined )
75- vi . mocked ( renderTextPrompt ) . mockResolvedValue ( 'custom-alias' )
69+ vi . mocked ( sessionStore . getSessionAlias ) . mockResolvedValue ( 'custom-alias' )
7670
7771 // When
7872 const result = await promptSessionSelect ( 'my-alias' )
7973
8074 // Then
8175 expect ( renderSelectPrompt ) . not . toHaveBeenCalled ( )
82- expect ( ensureAuthenticatedUser ) . toHaveBeenCalledWith ( { } , { forceNewSession : true } )
83- expect ( renderTextPrompt ) . toHaveBeenCalledWith ( {
84- message : 'Enter an alias for this account' ,
85- defaultValue : 'my-alias' ,
86- allowEmpty : false ,
87- } )
88- expect ( sessionStore . updateSessionAlias ) . toHaveBeenCalledWith ( 'new-user-id' , 'custom-alias' )
89- expect ( result ) . toEqual ( { userId : 'new-user-id' } )
76+ expect ( ensureAuthenticatedUser ) . toHaveBeenCalledWith ( { } , { forceNewSession : true , alias : 'my-alias' } )
77+ expect ( sessionStore . getSessionAlias ) . toHaveBeenCalledWith ( 'new-user-id' )
78+ expect ( result ) . toEqual ( 'custom-alias' )
9079 } )
9180
9281 test ( 'shows existing sessions and allows selection' , async ( ) => {
@@ -107,7 +96,7 @@ describe('promptSessionSelect', () => {
10796 ] ,
10897 } )
10998 expect ( setCurrentSessionId ) . toHaveBeenCalledWith ( 'user1' )
110- expect ( result ) . toEqual ( { userId : 'user1' } )
99+ expect ( result ) . toEqual ( 'Work Account' )
111100 } )
112101
113102 test ( 'handles missing alias in existing session gracefully' , async ( ) => {
@@ -144,7 +133,7 @@ describe('promptSessionSelect', () => {
144133 ] ,
145134 } )
146135 expect ( setCurrentSessionId ) . toHaveBeenCalledWith ( 'user3' )
147- expect ( result ) . toEqual ( { userId : 'user3' } )
136+ expect ( result ) . toEqual ( 'user3' )
148137 } )
149138
150139 test ( 'creates new session when user selects "Log in with a different account"' , async ( ) => {
@@ -156,48 +145,24 @@ describe('promptSessionSelect', () => {
156145 const result = await promptSessionSelect ( )
157146
158147 // Then
159- expect ( ensureAuthenticatedUser ) . toHaveBeenCalledWith ( { } , { forceNewSession : true } )
160- expect ( renderTextPrompt ) . toHaveBeenCalledWith ( {
161- message : 'Enter an alias for this account' ,
162- defaultValue : '' ,
163- allowEmpty : false ,
164- } )
165- expect ( sessionStore . updateSessionAlias ) . toHaveBeenCalledWith ( 'new-user-id' , 'new-alias' )
166- expect ( result ) . toEqual ( { userId : 'new-user-id' } )
148+ expect ( ensureAuthenticatedUser ) . toHaveBeenCalledWith ( { } , { forceNewSession : true , alias : undefined } )
149+ expect ( sessionStore . getSessionAlias ) . toHaveBeenCalledWith ( 'new-user-id' )
150+ expect ( result ) . toEqual ( 'new-alias' )
167151 } )
168152
169153 test ( 'creates new session with alias when user selects "Log in with a different account"' , async ( ) => {
170154 // Given
171155 vi . mocked ( sessionStore . fetch ) . mockResolvedValue ( mockSessions )
172156 vi . mocked ( renderSelectPrompt ) . mockResolvedValue ( 'NEW_LOGIN' )
173- vi . mocked ( renderTextPrompt ) . mockResolvedValue ( 'custom-alias' )
157+ vi . mocked ( sessionStore . getSessionAlias ) . mockResolvedValue ( 'custom-alias' )
174158
175159 // When
176160 const result = await promptSessionSelect ( 'work-alias' )
177161
178162 // Then
179- expect ( ensureAuthenticatedUser ) . toHaveBeenCalledWith ( { } , { forceNewSession : true } )
180- expect ( renderTextPrompt ) . toHaveBeenCalledWith ( {
181- message : 'Enter an alias for this account' ,
182- defaultValue : 'work-alias' ,
183- allowEmpty : false ,
184- } )
185- expect ( sessionStore . updateSessionAlias ) . toHaveBeenCalledWith ( 'new-user-id' , 'custom-alias' )
186- expect ( result ) . toEqual ( { userId : 'new-user-id' } )
187- } )
188-
189- test ( 'updates alias for existing session when provided' , async ( ) => {
190- // Given
191- vi . mocked ( sessionStore . fetch ) . mockResolvedValue ( mockSessions )
192- vi . mocked ( renderSelectPrompt ) . mockResolvedValue ( 'user1' )
193-
194- // When
195- const result = await promptSessionSelect ( 'updated-alias' )
196-
197- // Then
198- expect ( setCurrentSessionId ) . toHaveBeenCalledWith ( 'user1' )
199- expect ( sessionStore . updateSessionAlias ) . toHaveBeenCalledWith ( 'user1' , 'updated-alias' )
200- expect ( result ) . toEqual ( { userId : 'user1' } )
163+ expect ( ensureAuthenticatedUser ) . toHaveBeenCalledWith ( { } , { forceNewSession : true , alias : 'work-alias' } )
164+ expect ( sessionStore . getSessionAlias ) . toHaveBeenCalledWith ( 'new-user-id' )
165+ expect ( result ) . toEqual ( 'custom-alias' )
201166 } )
202167
203168 test ( 'does not update alias for existing session when not provided' , async ( ) => {
@@ -211,7 +176,7 @@ describe('promptSessionSelect', () => {
211176 // Then
212177 expect ( setCurrentSessionId ) . toHaveBeenCalledWith ( 'user1' )
213178 expect ( sessionStore . updateSessionAlias ) . not . toHaveBeenCalled ( )
214- expect ( result ) . toEqual ( { userId : 'user1' } )
179+ expect ( result ) . toEqual ( 'Work Account' )
215180 } )
216181
217182 test ( 'switches to existing session when alias is provided and found' , async ( ) => {
@@ -227,7 +192,7 @@ describe('promptSessionSelect', () => {
227192 expect ( setCurrentSessionId ) . toHaveBeenCalledWith ( 'user1' )
228193 expect ( renderSelectPrompt ) . not . toHaveBeenCalled ( )
229194 expect ( ensureAuthenticatedUser ) . not . toHaveBeenCalled ( )
230- expect ( result ) . toEqual ( { userId : 'user1' } )
195+ expect ( result ) . toEqual ( 'Work Account' )
231196 } )
232197
233198 test ( 'shows session selection when alias is not found' , async ( ) => {
@@ -243,6 +208,6 @@ describe('promptSessionSelect', () => {
243208 expect ( sessionStore . findSessionByAlias ) . toHaveBeenCalledWith ( 'Non-existent Alias' )
244209 expect ( renderSelectPrompt ) . toHaveBeenCalled ( )
245210 expect ( setCurrentSessionId ) . toHaveBeenCalledWith ( 'user2' )
246- expect ( result ) . toEqual ( { userId : 'user2' } )
211+ expect ( result ) . toEqual ( 'user2' )
247212 } )
248213} )
0 commit comments