@@ -3785,14 +3785,17 @@ describe("ClineProvider - Comprehensive Edit/Delete Edge Cases", () => {
37853785 expect ( handleSpy ) . not . toHaveBeenCalled ( )
37863786 } )
37873787
3788- it ( "skips seeding when every zoo-gateway profile already has the current token" , async ( ) => {
3788+ it ( "skips seeding when every zoo-gateway profile already has the current token and base URL " , async ( ) => {
37893789 const { getCachedZooCodeToken } = await import ( "../../../services/zoo-code-auth" )
37903790 vi . mocked ( getCachedZooCodeToken ) . mockReturnValue ( "current-token" )
37913791 const handleSpy = vi . spyOn ( provider , "handleZooCodeCallback" ) . mockResolvedValue ( undefined )
37923792
37933793 ; ( provider as any ) . providerSettingsManager = {
37943794 listConfig : vi . fn ( ) . mockResolvedValue ( [ { name : "Zoo Gateway" , apiProvider : "zoo-gateway" } ] ) ,
3795- getProfile : vi . fn ( ) . mockResolvedValue ( { zooSessionToken : "current-token" } ) ,
3795+ getProfile : vi . fn ( ) . mockResolvedValue ( {
3796+ zooSessionToken : "current-token" ,
3797+ zooGatewayBaseUrl : "https://www.zoocode.dev/api/gateway/v1" ,
3798+ } ) ,
37963799 }
37973800
37983801 await ( provider as any ) . ensureZooGatewayProfileSeeded ( )
@@ -3807,13 +3810,34 @@ describe("ClineProvider - Comprehensive Edit/Delete Edge Cases", () => {
38073810
38083811 ; ( provider as any ) . providerSettingsManager = {
38093812 listConfig : vi . fn ( ) . mockResolvedValue ( [ { name : "Zoo Gateway" , apiProvider : "zoo-gateway" } ] ) ,
3810- getProfile : vi . fn ( ) . mockResolvedValue ( { zooSessionToken : "stale-token" } ) ,
3813+ getProfile : vi . fn ( ) . mockResolvedValue ( {
3814+ zooSessionToken : "stale-token" ,
3815+ zooGatewayBaseUrl : "https://www.zoocode.dev/api/gateway/v1" ,
3816+ } ) ,
38113817 }
38123818
38133819 await ( provider as any ) . ensureZooGatewayProfileSeeded ( )
38143820
38153821 expect ( handleSpy ) . toHaveBeenCalledWith ( "fresh-token" )
38163822 } )
3823+
3824+ it ( "re-seeds when any zoo-gateway profile has a stale base URL" , async ( ) => {
3825+ const { getCachedZooCodeToken } = await import ( "../../../services/zoo-code-auth" )
3826+ vi . mocked ( getCachedZooCodeToken ) . mockReturnValue ( "current-token" )
3827+ const handleSpy = vi . spyOn ( provider , "handleZooCodeCallback" ) . mockResolvedValue ( undefined )
3828+
3829+ ; ( provider as any ) . providerSettingsManager = {
3830+ listConfig : vi . fn ( ) . mockResolvedValue ( [ { name : "Zoo Gateway" , apiProvider : "zoo-gateway" } ] ) ,
3831+ getProfile : vi . fn ( ) . mockResolvedValue ( {
3832+ zooSessionToken : "current-token" ,
3833+ zooGatewayBaseUrl : "https://staging.zoocode.dev/api/gateway/v1" ,
3834+ } ) ,
3835+ }
3836+
3837+ await ( provider as any ) . ensureZooGatewayProfileSeeded ( )
3838+
3839+ expect ( handleSpy ) . toHaveBeenCalledWith ( "current-token" )
3840+ } )
38173841 } )
38183842 } )
38193843} )
0 commit comments