@@ -3788,14 +3788,17 @@ describe("ClineProvider - Comprehensive Edit/Delete Edge Cases", () => {
37883788 expect ( handleSpy ) . not . toHaveBeenCalled ( )
37893789 } )
37903790
3791- it ( "skips seeding when every zoo-gateway profile already has the current token" , async ( ) => {
3791+ it ( "skips seeding when every zoo-gateway profile already has the current token and base URL " , async ( ) => {
37923792 const { getCachedZooCodeToken } = await import ( "../../../services/zoo-code-auth" )
37933793 vi . mocked ( getCachedZooCodeToken ) . mockReturnValue ( "current-token" )
37943794 const handleSpy = vi . spyOn ( provider , "handleZooCodeCallback" ) . mockResolvedValue ( undefined )
37953795
37963796 ; ( provider as any ) . providerSettingsManager = {
37973797 listConfig : vi . fn ( ) . mockResolvedValue ( [ { name : "Zoo Gateway" , apiProvider : "zoo-gateway" } ] ) ,
3798- getProfile : vi . fn ( ) . mockResolvedValue ( { zooSessionToken : "current-token" } ) ,
3798+ getProfile : vi . fn ( ) . mockResolvedValue ( {
3799+ zooSessionToken : "current-token" ,
3800+ zooGatewayBaseUrl : "https://www.zoocode.dev/api/gateway/v1" ,
3801+ } ) ,
37993802 }
38003803
38013804 await ( provider as any ) . ensureZooGatewayProfileSeeded ( )
@@ -3810,13 +3813,34 @@ describe("ClineProvider - Comprehensive Edit/Delete Edge Cases", () => {
38103813
38113814 ; ( provider as any ) . providerSettingsManager = {
38123815 listConfig : vi . fn ( ) . mockResolvedValue ( [ { name : "Zoo Gateway" , apiProvider : "zoo-gateway" } ] ) ,
3813- getProfile : vi . fn ( ) . mockResolvedValue ( { zooSessionToken : "stale-token" } ) ,
3816+ getProfile : vi . fn ( ) . mockResolvedValue ( {
3817+ zooSessionToken : "stale-token" ,
3818+ zooGatewayBaseUrl : "https://www.zoocode.dev/api/gateway/v1" ,
3819+ } ) ,
38143820 }
38153821
38163822 await ( provider as any ) . ensureZooGatewayProfileSeeded ( )
38173823
38183824 expect ( handleSpy ) . toHaveBeenCalledWith ( "fresh-token" )
38193825 } )
3826+
3827+ it ( "re-seeds when any zoo-gateway profile has a stale base URL" , async ( ) => {
3828+ const { getCachedZooCodeToken } = await import ( "../../../services/zoo-code-auth" )
3829+ vi . mocked ( getCachedZooCodeToken ) . mockReturnValue ( "current-token" )
3830+ const handleSpy = vi . spyOn ( provider , "handleZooCodeCallback" ) . mockResolvedValue ( undefined )
3831+
3832+ ; ( provider as any ) . providerSettingsManager = {
3833+ listConfig : vi . fn ( ) . mockResolvedValue ( [ { name : "Zoo Gateway" , apiProvider : "zoo-gateway" } ] ) ,
3834+ getProfile : vi . fn ( ) . mockResolvedValue ( {
3835+ zooSessionToken : "current-token" ,
3836+ zooGatewayBaseUrl : "https://staging.zoocode.dev/api/gateway/v1" ,
3837+ } ) ,
3838+ }
3839+
3840+ await ( provider as any ) . ensureZooGatewayProfileSeeded ( )
3841+
3842+ expect ( handleSpy ) . toHaveBeenCalledWith ( "current-token" )
3843+ } )
38203844 } )
38213845 } )
38223846} )
0 commit comments